blob: 4e6de442d16e1ec48c06b762bee8d5842ba2390b [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"/>
Jenkinsb9abeae2018-11-22 11:58:08 +00007<meta name="generator" content="Doxygen 1.8.13"/>
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);
Anthony Barbier871448e2017-03-24 14:54:29 +000019</script>
20<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021<script type="text/javascript" src="search/searchdata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000022<script type="text/javascript" src="search/search.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000023<script type="text/x-mathjax-config">
24 MathJax.Hub.Config({
25 extensions: ["tex2jax.js"],
26 jax: ["input/TeX","output/HTML-CSS"],
27});
Anthony Barbier8140e1e2017-12-14 23:48:46 +000028</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000029<link href="doxygen.css" rel="stylesheet" type="text/css" />
30</head>
31<body>
32<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
33<div id="titlearea">
34<table cellspacing="0" cellpadding="0">
35 <tbody>
36 <tr style="height: 56px;">
37 <td style="padding-left: 0.5em;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010038 <div id="projectname">Compute Library
Jenkinsb9abeae2018-11-22 11:58:08 +000039 &#160;<span id="projectnumber">18.11</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000040 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
Jenkinsb9abeae2018-11-22 11:58:08 +000047<!-- Generated by Doxygen 1.8.13 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000048<script type="text/javascript">
49var searchBox = new SearchBox("searchBox", "search",false,'Search');
50</script>
Jenkinsb9abeae2018-11-22 11:58:08 +000051<script type="text/javascript" src="menudata.js"></script>
52<script type="text/javascript" src="menu.js"></script>
53<script type="text/javascript">
54$(function() {
55 initMenu('',true,false,'search.php','Search');
56 $(document).ready(function() { init_search(); });
57});
58</script>
59<div id="main-nav"></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000060</div><!-- top -->
61<div id="side-nav" class="ui-resizable side-nav-resizable">
62 <div id="nav-tree">
63 <div id="nav-tree-contents">
64 <div id="nav-sync" class="sync"></div>
65 </div>
66 </div>
67 <div id="splitbar" style="-moz-user-select:none;"
68 class="ui-resizable-handle">
69 </div>
70</div>
71<script type="text/javascript">
72$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
73</script>
74<div id="doc-content">
75<!-- window showing the filter options -->
76<div id="MSearchSelectWindow"
77 onmouseover="return searchBox.OnSearchSelectShow()"
78 onmouseout="return searchBox.OnSearchSelectHide()"
79 onkeydown="return searchBox.OnSearchSelectKey(event)">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000080</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000081
82<!-- iframe showing the search results (closed by default) -->
83<div id="MSearchResultsWindow">
84<iframe src="javascript:void(0)" frameborder="0"
85 name="MSearchResults" id="MSearchResults">
86</iframe>
87</div>
88
89<div class="header">
90 <div class="summary">
91<a href="#namespaces">Namespaces</a> &#124;
92<a href="#nested-classes">Data Structures</a> &#124;
93<a href="#typedef-members">Typedefs</a> &#124;
94<a href="#enum-members">Enumerations</a> &#124;
95<a href="#func-members">Functions</a> &#124;
96<a href="#var-members">Variables</a> </div>
97 <div class="headertitle">
98<div class="title">arm_compute Namespace Reference</div> </div>
99</div><!--header-->
100<div class="contents">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000101
Jenkinsb9abeae2018-11-22 11:58:08 +0000102<p>Copyright (c) 2017-2018 ARM Limited.
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000103<a href="#details">More...</a></p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000104<table class="memberdecls">
105<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
106Namespaces</h2></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000107<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 +0000108<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000109<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 +0100110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000111<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 +0100112<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000113<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 +0100114<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000115<tr class="memitem:namespacearm__compute_1_1helpers"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1helpers.xhtml">helpers</a></td></tr>
116<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000117<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 +0100118<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000119<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 +0100120<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000121<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>
122<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<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>
124<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<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>
126<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<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>
128<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<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>
130<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100131<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>
132<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000133<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>
134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<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 +0100136<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000137<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>
138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000139</table><table class="memberdecls">
140<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
141Data Structures</h2></td></tr>
142<tr class="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 +0000143<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>
144<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
146<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>
147<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
149<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 +0000150<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000152<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 +0000153<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<tr class="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 +0000155<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 +0000156<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000157<tr class="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>
158<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 +0000159<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000160<tr class="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>
161<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 +0000162<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000163<tr class="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>
164<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 +0000165<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000166<tr class="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>
167<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 +0000168<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000169<tr class="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>
170<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 +0000171<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000172<tr class="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>
173<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 +0000174<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000175<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>
176<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 +0000177<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000178<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a></td></tr>
179<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bounding Box Transform information class. <a href="classarm__compute_1_1_bounding_box_transform_info.xhtml#details">More...</a><br /></td></tr>
180<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_box_n_m_s_limit_info.xhtml">BoxNMSLimitInfo</a></td></tr>
182<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">BoxWithNonMaximaSuppressionLimit Information class. <a href="classarm__compute_1_1_box_n_m_s_limit_info.xhtml#details">More...</a><br /></td></tr>
183<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000184<tr class="memitem:"><td 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>
185<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 +0000186<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100187<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000188<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>
189<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
190<tr class="memitem:"><td 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>
191<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 +0000192<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100193<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000194<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 +0000195<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000196<tr class="memitem:"><td 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>
197<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 +0000198<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100199<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000200<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>
201<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
202<tr class="memitem:"><td 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>
203<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>
204<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
206<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml#details">More...</a><br /></td></tr>
207<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
208<tr class="memitem:"><td 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>
209<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 +0000210<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100211<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000212<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>
213<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
214<tr class="memitem:"><td 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>
215<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 +0000216<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100217<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000218<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>
219<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000220<tr class="memitem:"><td 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>
221<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>
222<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
223<tr class="memitem:"><td 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>
224<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>
225<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000226<tr class="memitem:"><td 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>
227<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 +0000228<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100229<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000230<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>
231<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
232<tr class="memitem:"><td 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>
233<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>
234<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
235<tr class="memitem:"><td 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>
236<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 +0000237<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100238<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml">CLBatchNormalizationLayerKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000239<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>
240<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000241<tr class="memitem:"><td 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_to_space_layer.xhtml">CLBatchToSpaceLayer</a></td></tr>
242<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_batch_to_space_layer_kernel.xhtml">CLBatchToSpaceLayerKernel</a>. <a href="classarm__compute_1_1_c_l_batch_to_space_layer.xhtml#details">More...</a><br /></td></tr>
243<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
244<tr class="memitem:"><td 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_to_space_layer_kernel.xhtml">CLBatchToSpaceLayerKernel</a></td></tr>
245<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the batch to space kernel. <a href="classarm__compute_1_1_c_l_batch_to_space_layer_kernel.xhtml#details">More...</a><br /></td></tr>
246<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000247<tr class="memitem:"><td 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>
248<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 +0000249<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100250<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000251<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>
252<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
253<tr class="memitem:"><td 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>
254<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 +0000255<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100256<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000257<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>
258<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
259<tr class="memitem:"><td 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>
260<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 +0000261<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100262<tr class="memitem:"><td 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 +0000263<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>
264<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
265<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor.xhtml">CLBitwiseXor</a></td></tr>
266<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 +0000267<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100268<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000269<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>
270<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000271<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bounding_box_transform.xhtml">CLBoundingBoxTransform</a></td></tr>
272<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_bounding_box_transform_kernel.xhtml">CLBoundingBoxTransformKernel</a>. <a href="classarm__compute_1_1_c_l_bounding_box_transform.xhtml#details">More...</a><br /></td></tr>
273<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
274<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bounding_box_transform_kernel.xhtml">CLBoundingBoxTransformKernel</a></td></tr>
275<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bounding box kernel. <a href="classarm__compute_1_1_c_l_bounding_box_transform_kernel.xhtml#details">More...</a><br /></td></tr>
276<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000277<tr class="memitem:"><td 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>
278<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 +0000279<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100280<tr class="memitem:"><td 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 +0000281<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 +0000282<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000283<tr class="memitem:"><td 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>
284<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 +0100285<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100286<tr class="memitem:"><td 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>
287<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>
288<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000289<tr class="memitem:"><td 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>
290<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 +0000291<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000292<tr class="memitem:"><td 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>
293<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>
294<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
295<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine.xhtml">CLChannelCombine</a></td></tr>
296<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 +0000297<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100298<tr class="memitem:"><td 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 +0000299<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>
300<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
301<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract.xhtml">CLChannelExtract</a></td></tr>
302<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 +0000303<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100304<tr class="memitem:"><td 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 +0000305<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 +0100306<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100307<tr class="memitem:"><td 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>
308<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>
309<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
310<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_shuffle_layer_kernel.xhtml">CLChannelShuffleLayerKernel</a></td></tr>
311<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>
312<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
313<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_coarse_s_v_m_memory_region.xhtml">CLCoarseSVMMemoryRegion</a></td></tr>
314<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>
315<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100316<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 +0000317<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 +0100318<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000319<tr class="memitem:"><td 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>
320<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 +0100321<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000322<tr class="memitem:"><td 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>
323<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>
324<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
325<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
326<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>
327<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000328<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_compute_all_anchors.xhtml">CLComputeAllAnchors</a></td></tr>
329<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_compute_all_anchors_kernel.xhtml">CLComputeAllAnchorsKernel</a>. <a href="classarm__compute_1_1_c_l_compute_all_anchors.xhtml#details">More...</a><br /></td></tr>
330<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
331<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_compute_all_anchors_kernel.xhtml">CLComputeAllAnchorsKernel</a></td></tr>
332<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for Compute All Anchors kernel. <a href="classarm__compute_1_1_c_l_compute_all_anchors_kernel.xhtml#details">More...</a><br /></td></tr>
333<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000334<tr class="memitem:"><td 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>
335<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>
336<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100337<tr class="memitem:"><td 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>
338<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>
339<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
340<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convert_fully_connected_weights_kernel.xhtml">CLConvertFullyConnectedWeightsKernel</a></td></tr>
341<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>
342<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000343<tr class="memitem:"><td 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>
344<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>
345<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
346<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
347<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>
348<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
349<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer.xhtml">CLConvolutionLayer</a></td></tr>
350<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>
351<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
352<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml">CLConvolutionLayerReshapeWeights</a></td></tr>
353<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>
354<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
355<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
356<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>
357<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
358<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
359<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>
360<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
361<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
362<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>
363<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100364<tr class="memitem:"><td 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>
365<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
366<tr class="memitem:"><td 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>
367<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>
368<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000369<tr class="memitem:"><td 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>
370<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>
371<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000372<tr class="memitem:"><td 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>
373<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>
374<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
375<tr class="memitem:"><td 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>
376<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>
377<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
378<tr class="memitem:"><td 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>
379<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>
380<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000381<tr class="memitem:"><td 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>
382<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>
383<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
384<tr class="memitem:"><td 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>
385<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>
386<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
387<tr class="memitem:"><td 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>
388<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>
389<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
390<tr class="memitem:"><td 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>
391<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>
392<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
393<tr class="memitem:"><td 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>
394<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>
395<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
396<tr class="memitem:"><td 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 +0100397<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 +0000398<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100399<tr class="memitem:"><td 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>
400<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>
401<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
402<tr class="memitem:"><td 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>
403<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 +0000404<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
405<tr class="memitem:"><td 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>
406<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>
407<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
408<tr class="memitem:"><td 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>
409<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>
410<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
411<tr class="memitem:"><td 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>
412<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>
413<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
414<tr class="memitem:"><td 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>
415<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>
416<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
417<tr class="memitem:"><td 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>
418<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>
419<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
420<tr class="memitem:"><td 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>
421<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>
422<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
423<tr class="memitem:"><td 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>
424<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>
425<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
426<tr class="memitem:"><td 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>
427<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>
428<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100429<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>
430<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>
431<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000432<tr class="memitem:"><td 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>
433<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>
434<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
435<tr class="memitem:"><td 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>
436<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>
437<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
438<tr class="memitem:"><td 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>
439<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>
440<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
441<tr class="memitem:"><td 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>
442<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>
443<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000444<tr class="memitem:"><td 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>
445<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>
446<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000447<tr class="memitem:"><td 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>
448<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>
449<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
450<tr class="memitem:"><td 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>
451<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>
452<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
453<tr class="memitem:"><td 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>
454<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>
455<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
456<tr class="memitem:"><td 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>
457<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>
458<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
459<tr class="memitem:"><td 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>
460<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>
461<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
462<tr class="memitem:"><td 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>
463<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>
464<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
465<tr class="memitem:"><td 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>
466<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>
467<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
468<tr class="memitem:"><td 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>
469<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>
470<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
471<tr class="memitem:"><td 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>
472<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>
473<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
474<tr class="memitem:"><td 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>
475<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>
476<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100477<tr class="memitem:"><td 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>
478<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>
479<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000480<tr class="memitem:"><td 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>
481<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>
482<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000483<tr class="memitem:"><td 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>
484<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>
485<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000486<tr class="memitem:"><td 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>
487<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>
488<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
489<tr class="memitem:"><td 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>
490<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>
491<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
492<tr class="memitem:"><td 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>
493<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>
494<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
495<tr class="memitem:"><td 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>
496<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>
497<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000498<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fuse_batch_normalization.xhtml">CLFuseBatchNormalization</a></td></tr>
499<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to fuse the batch normalization node to a preceding convolution node. <a href="classarm__compute_1_1_c_l_fuse_batch_normalization.xhtml#details">More...</a><br /></td></tr>
500<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
501<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fuse_batch_normalization_kernel.xhtml">CLFuseBatchNormalizationKernel</a></td></tr>
502<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to fuse the batch normalization node to a preceding convolution node. <a href="classarm__compute_1_1_c_l_fuse_batch_normalization_kernel.xhtml#details">More...</a><br /></td></tr>
503<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000504<tr class="memitem:"><td 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>
505<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>
506<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
507<tr class="memitem:"><td 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>
508<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>
509<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
510<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
511<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>
512<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
513<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
514<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>
515<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
516<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
517<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>
518<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
519<tr class="memitem:"><td 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>
520<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>
521<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
522<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
523<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>
524<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
525<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
526<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>
527<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
528<tr class="memitem:"><td 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>
529<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>
530<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
531<tr class="memitem:"><td 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>
532<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>
533<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
534<tr class="memitem:"><td 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>
535<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>
536<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000537<tr class="memitem:"><td 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>
538<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>
539<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000540<tr class="memitem:"><td 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>
541<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>
542<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
543<tr class="memitem:"><td 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>
544<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>
545<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
546<tr class="memitem:"><td 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>
547<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>
548<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
549<tr class="memitem:"><td 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>
550<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>
551<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
552<tr class="memitem:"><td 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>
553<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>
554<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
555<tr class="memitem:"><td 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>
556<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>
557<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
558<tr class="memitem:"><td 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>
559<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>
560<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000561<tr class="memitem:"><td 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_output_stage_kernel.xhtml">CLGEMMLowpOffsetContributionOutputStageKernel</a></td></tr>
562<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> and perform the output stage. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel.xhtml#details">More...</a><br /></td></tr>
563<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000564<tr class="memitem:"><td 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>
565<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>
566<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
567<tr class="memitem:"><td 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>
568<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>
569<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
570<tr class="memitem:"><td 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>
571<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>
572<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000573<tr class="memitem:"><td 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_float.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat</a></td></tr>
574<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_float.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat on OpenCL. ">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float.xhtml#details">More...</a><br /></td></tr>
575<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
576<tr class="memitem:"><td 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_float_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel</a></td></tr>
577<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_float_kernel.xhtml#details">More...</a><br /></td></tr>
578<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000579<tr class="memitem:"><td 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>
580<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>
581<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
582<tr class="memitem:"><td 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>
583<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>
584<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
585<tr class="memitem:"><td 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>
586<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>
587<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
588<tr class="memitem:"><td 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>
589<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>
590<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
591<tr class="memitem:"><td 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>
592<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>
593<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
594<tr class="memitem:"><td 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>
595<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>
596<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
597<tr class="memitem:"><td 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>
598<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>
599<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000600<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_generate_proposals_layer.xhtml">CLGenerateProposalsLayer</a></td></tr>
601<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to generate proposals for a RPN (Region Proposal Network) <a href="classarm__compute_1_1_c_l_generate_proposals_layer.xhtml#details">More...</a><br /></td></tr>
602<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000603<tr class="memitem:"><td 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>
604<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>
605<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
606<tr class="memitem:"><td 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>
607<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>
608<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
609<tr class="memitem:"><td 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>
610<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>
611<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
612<tr class="memitem:"><td 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>
613<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>
614<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
615<tr class="memitem:"><td 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>
616<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>
617<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
618<tr class="memitem:"><td 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>
619<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>
620<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
621<tr class="memitem:"><td 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>
622<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>
623<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
624<tr class="memitem:"><td 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>
625<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>
626<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
627<tr class="memitem:"><td 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>
628<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>
629<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
630<tr class="memitem:"><td 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>
631<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>
632<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
633<tr class="memitem:"><td 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>
634<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>
635<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
636<tr class="memitem:"><td 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>
637<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>
638<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
639<tr class="memitem:"><td 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>
640<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>
641<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
642<tr class="memitem:"><td 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>
643<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>
644<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
645<tr class="memitem:"><td 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>
646<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>
647<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
648<tr class="memitem:"><td 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>
649<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>
650<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
651<tr class="memitem:"><td 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>
652<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>
653<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
654<tr class="memitem:"><td 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>
655<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>
656<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
657<tr class="memitem:"><td 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>
658<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>
659<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
660<tr class="memitem:"><td 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 +0100661<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 +0000662<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
663<tr class="memitem:"><td 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 +0100664<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 +0000665<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
666<tr class="memitem:"><td 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>
667<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>
668<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
669<tr class="memitem:"><td 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>
670<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>
671<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
672<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>
673<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 +0100674<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
675<tr class="memitem:"><td 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 +0000676<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>
677<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
678<tr class="memitem:"><td 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>
679<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 +0100680<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
681<tr class="memitem:"><td 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 +0000682<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 +0100683<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
684<tr class="memitem:"><td 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 +0000685<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>
686<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
687<tr class="memitem:"><td 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>
688<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 +0100689<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
690<tr class="memitem:"><td 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 +0000691<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 +0000692<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100693<tr class="memitem:"><td 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 +0000694<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 +0000695<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000696<tr class="memitem:"><td 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>
697<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 +0100698<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100699<tr class="memitem:"><td 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 +0000700<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 +0000701<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000702<tr class="memitem:"><td 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>
703<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 +0000704<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100705<tr class="memitem:"><td 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>
706<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>
707<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000708<tr class="memitem:"><td 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>
709<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 +0000710<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000711<tr class="memitem:"><td 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>
712<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 +0000713<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000714<tr class="memitem:"><td 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>
715<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 +0000716<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000717<tr class="memitem:"><td 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>
718<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 +0000719<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000720<tr class="memitem:"><td 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>
721<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>
722<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
723<tr class="memitem:"><td 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>
724<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>
725<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
726<tr class="memitem:"><td 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>
727<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>
728<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
729<tr class="memitem:"><td 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>
730<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>
731<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100732<tr class="memitem:"><td 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>
733<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>
734<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000735<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_memset_kernel.xhtml">CLMemsetKernel</a></td></tr>
736<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for filling the planes of a tensor. <a href="classarm__compute_1_1_c_l_memset_kernel.xhtml#details">More...</a><br /></td></tr>
737<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000738<tr class="memitem:"><td 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>
739<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>
740<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
741<tr class="memitem:"><td 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>
742<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>
743<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
744<tr class="memitem:"><td 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>
745<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>
746<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
747<tr class="memitem:"><td 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>
748<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>
749<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
750<tr class="memitem:"><td 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>
751<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>
752<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
753<tr class="memitem:"><td 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>
754<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>
755<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
756<tr class="memitem:"><td 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>
757<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>
758<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
759<tr class="memitem:"><td 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>
760<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>
761<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
762<tr class="memitem:"><td 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>
763<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>
764<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
765<tr class="memitem:"><td 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>
766<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>
767<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
768<tr class="memitem:"><td 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>
769<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>
770<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
771<tr class="memitem:"><td 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>
772<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>
773<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000774<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalize_planar_y_u_v_layer.xhtml">CLNormalizePlanarYUVLayer</a></td></tr>
775<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_normalize_planar_y_u_v_layer_kernel.xhtml">CLNormalizePlanarYUVLayerKernel</a>. <a href="classarm__compute_1_1_c_l_normalize_planar_y_u_v_layer.xhtml#details">More...</a><br /></td></tr>
776<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
777<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalize_planar_y_u_v_layer_kernel.xhtml">CLNormalizePlanarYUVLayerKernel</a></td></tr>
778<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NormalizePlanarYUV layer kernel. <a href="classarm__compute_1_1_c_l_normalize_planar_y_u_v_layer_kernel.xhtml#details">More...</a><br /></td></tr>
779<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000780<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>
781<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>
782<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
783<tr class="memitem:"><td 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>
784<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>
785<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000786<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pad_layer.xhtml">CLPadLayer</a></td></tr>
787<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to pad a tensor. <a href="classarm__compute_1_1_c_l_pad_layer.xhtml#details">More...</a><br /></td></tr>
788<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000789<tr class="memitem:"><td 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>
790<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>
791<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
792<tr class="memitem:"><td 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>
793<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>
794<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000795<tr class="memitem:"><td 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>
796<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>
797<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
798<tr class="memitem:"><td 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>
799<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>
800<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
801<tr class="memitem:"><td 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>
802<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>
803<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
804<tr class="memitem:"><td 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>
805<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>
806<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
807<tr class="memitem:"><td 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>
808<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>
809<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000810<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_prior_box_layer.xhtml">CLPriorBoxLayer</a></td></tr>
811<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_prior_box_layer_kernel.xhtml">CLPriorBoxLayerKernel</a>. <a href="classarm__compute_1_1_c_l_prior_box_layer.xhtml#details">More...</a><br /></td></tr>
812<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
813<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_prior_box_layer_kernel.xhtml">CLPriorBoxLayerKernel</a></td></tr>
814<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the PriorBox layer kernel. <a href="classarm__compute_1_1_c_l_prior_box_layer_kernel.xhtml#details">More...</a><br /></td></tr>
815<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000816<tr class="memitem:"><td 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>
817<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>
818<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
819<tr class="memitem:"><td 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>
820<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>
821<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
822<tr class="memitem:"><td 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>
823<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>
824<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000825<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduce_mean.xhtml">CLReduceMean</a></td></tr>
826<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to perform reduce operation. <a href="classarm__compute_1_1_c_l_reduce_mean.xhtml#details">More...</a><br /></td></tr>
827<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000828<tr class="memitem:"><td 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>
829<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>
830<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
831<tr class="memitem:"><td 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>
832<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>
833<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
834<tr class="memitem:"><td 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>
835<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>
836<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
837<tr class="memitem:"><td 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>
838<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>
839<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000840<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reorg_layer.xhtml">CLReorgLayer</a></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_reorg_layer_kernel.xhtml">CLReorgLayerKernel</a></td></tr>
843<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a reorg layer. <a href="classarm__compute_1_1_c_l_reorg_layer_kernel.xhtml#details">More...</a><br /></td></tr>
844<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000845<tr class="memitem:"><td 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>
846<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>
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_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a></td></tr>
849<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>
850<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100851<tr class="memitem:"><td 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>
852<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>
853<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000854<tr class="memitem:"><td 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_align_layer.xhtml">CLROIAlignLayer</a></td></tr>
855<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_r_o_i_align_layer_kernel.xhtml">CLROIAlignLayerKernel</a>. <a href="classarm__compute_1_1_c_l_r_o_i_align_layer.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_r_o_i_align_layer_kernel.xhtml">CLROIAlignLayerKernel</a></td></tr>
858<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the RoIAlign kernel. <a href="classarm__compute_1_1_c_l_r_o_i_align_layer_kernel.xhtml#details">More...</a><br /></td></tr>
859<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000860<tr class="memitem:"><td 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>
861<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>
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_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a></td></tr>
864<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>
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_scale.xhtml">CLScale</a></td></tr>
867<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>
868<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
869<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
870<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>
871<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
872<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
873<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>
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_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
876<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>
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_scheduler.xhtml">CLScheduler</a></td></tr>
879<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>
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_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
882<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>
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_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
885<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>
886<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000887<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_slice.xhtml">CLSlice</a></td></tr>
888<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to perform tensor slicing. <a href="classarm__compute_1_1_c_l_slice.xhtml#details">More...</a><br /></td></tr>
889<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000890<tr class="memitem:"><td 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>
891<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>
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_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
894<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>
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_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
897<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>
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_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
900<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>
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_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
903<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>
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_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
906<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>
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_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
909<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>
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_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
912<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>
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_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
915<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>
916<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000917<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_space_to_batch_layer.xhtml">CLSpaceToBatchLayer</a></td></tr>
918<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_space_to_batch_layer_kernel.xhtml">CLSpaceToBatchLayerKernel</a>. <a href="classarm__compute_1_1_c_l_space_to_batch_layer.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_space_to_batch_layer_kernel.xhtml">CLSpaceToBatchLayerKernel</a></td></tr>
921<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the space to batch kernel. <a href="classarm__compute_1_1_c_l_space_to_batch_layer_kernel.xhtml#details">More...</a><br /></td></tr>
922<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
923<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_split.xhtml">CLSplit</a></td></tr>
924<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to split a tensor along a given axis. <a href="classarm__compute_1_1_c_l_split.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_strided_slice.xhtml">CLStridedSlice</a></td></tr>
927<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_strided_slice_kernel.xhtml">CLStridedSliceKernel</a>. <a href="classarm__compute_1_1_c_l_strided_slice.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_strided_slice_kernel.xhtml">CLStridedSliceKernel</a></td></tr>
930<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor strided slicing. <a href="classarm__compute_1_1_c_l_strided_slice_kernel.xhtml#details">More...</a><br /></td></tr>
931<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000932<tr class="memitem:"><td 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>
933<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 +0100934<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100935<tr class="memitem:"><td 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 +0100936<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 +0100937<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000938<tr class="memitem:"><td 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>
939<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>
940<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
941<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
942<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>
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_l_tensor.xhtml">CLTensor</a></td></tr>
945<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>
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_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
948<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>
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_l_threshold.xhtml">CLThreshold</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_l_threshold_kernel.xhtml">CLThresholdKernel</a>. <a href="classarm__compute_1_1_c_l_threshold.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_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
954<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>
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_l_transpose.xhtml">CLTranspose</a></td></tr>
957<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>
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_l_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
960<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>
961<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
962<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tuner.xhtml">CLTuner</a></td></tr>
963<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>
964<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000965<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_upsample_layer.xhtml">CLUpsampleLayer</a></td></tr>
966<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_upsample_layer_kernel.xhtml">CLUpsampleLayerKernel</a>. <a href="classarm__compute_1_1_c_l_upsample_layer.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_l_upsample_layer_kernel.xhtml">CLUpsampleLayerKernel</a></td></tr>
969<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the UpsampleLayer kernel on OpenCL. <a href="classarm__compute_1_1_c_l_upsample_layer_kernel.xhtml#details">More...</a><br /></td></tr>
970<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000971<tr class="memitem:"><td 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>
972<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>
973<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
974<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
975<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>
976<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
977<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
978<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>
979<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
980<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
981<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>
982<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
983<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_weights_reshape_kernel.xhtml">CLWeightsReshapeKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100984<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>
985<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +0000986<tr class="memitem:"><td 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_concatenate2_tensors_kernel.xhtml">CLWidthConcatenate2TensorsKernel</a></td></tr>
987<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the width concatenate kernel of 2 tensors. <a href="classarm__compute_1_1_c_l_width_concatenate2_tensors_kernel.xhtml#details">More...</a><br /></td></tr>
988<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
989<tr class="memitem:"><td 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_concatenate4_tensors_kernel.xhtml">CLWidthConcatenate4TensorsKernel</a></td></tr>
990<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the width concatenate kernel of 4 tensors. <a href="classarm__compute_1_1_c_l_width_concatenate4_tensors_kernel.xhtml#details">More...</a><br /></td></tr>
991<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100992<tr class="memitem:"><td 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>
993<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>
994<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
995<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_width_concatenate_layer_kernel.xhtml">CLWidthConcatenateLayerKernel</a></td></tr>
996<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>
997<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
998<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_winograd_convolution_layer.xhtml">CLWinogradConvolutionLayer</a></td></tr>
999<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>
1000<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1001<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_winograd_filter_transform_kernel.xhtml">CLWinogradFilterTransformKernel</a></td></tr>
1002<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>
1003<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1004<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_winograd_input_transform.xhtml">CLWinogradInputTransform</a></td></tr>
1005<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>
1006<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1007<tr class="memitem:"><td 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>
1008<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>
1009<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1010<tr class="memitem:"><td 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>
1011<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 +00001012<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001013<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_y_o_l_o_layer.xhtml">CLYOLOLayer</a></td></tr>
1014<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_y_o_l_o_layer_kernel.xhtml">CLYOLOLayerKernel</a> that performs a partial activation on the input. <a href="classarm__compute_1_1_c_l_y_o_l_o_layer.xhtml#details">More...</a><br /></td></tr>
1015<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1016<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_y_o_l_o_layer_kernel.xhtml">CLYOLOLayerKernel</a></td></tr>
1017<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the YOLO layer kernel that performs partial activation. <a href="classarm__compute_1_1_c_l_y_o_l_o_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1018<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1019<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a></td></tr>
1020<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">ComputeAnchors information class. <a href="classarm__compute_1_1_compute_anchors_info.xhtml#details">More...</a><br /></td></tr>
1021<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001022<tr class="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 +00001023<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>
1024<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1025<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>
1026<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>
1027<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1028<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>
1029<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>
1030<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001031<tr class="memitem:"><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_box_with_non_maxima_suppression_limit.xhtml">CPPBoxWithNonMaximaSuppressionLimit</a></td></tr>
1032<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_box_with_non_maxima_suppression_limit_kernel.xhtml">CPPBoxWithNonMaximaSuppressionLimitKernel</a>. <a href="classarm__compute_1_1_c_p_p_box_with_non_maxima_suppression_limit.xhtml#details">More...</a><br /></td></tr>
1033<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1034<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_box_with_non_maxima_suppression_limit_kernel.xhtml">CPPBoxWithNonMaximaSuppressionLimitKernel</a></td></tr>
1035<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform computation of BoxWithNonMaximaSuppressionLimit. <a href="classarm__compute_1_1_c_p_p_box_with_non_maxima_suppression_limit_kernel.xhtml#details">More...</a><br /></td></tr>
1036<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001037<tr class="memitem:"><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>
1038<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>
1039<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1040<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml">CPPDetectionWindowNonMaximaSuppressionKernel</a></td></tr>
1041<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>
1042<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001043<tr class="memitem:"><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_flip_weights_kernel.xhtml">CPPFlipWeightsKernel</a></td></tr>
1044<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform 180 degrees flipping on deconvolution weights. <a href="classarm__compute_1_1_c_p_p_flip_weights_kernel.xhtml#details">More...</a><br /></td></tr>
1045<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001046<tr class="memitem:"><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>
1047<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>
1048<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1049<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_permute_kernel.xhtml">CPPPermuteKernel</a></td></tr>
1050<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>
1051<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1052<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
1053<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>
1054<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1055<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
1056<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 +00001057<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001058<tr class="memitem:"><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>
1059<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>
1060<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1061<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_upsample_kernel.xhtml">CPPUpsampleKernel</a></td></tr>
1062<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>
1063<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1064<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001065<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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a></td></tr>
1067<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 +00001068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1069<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001070<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>
1071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1072<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
1073<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 +00001074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001075<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 +01001076<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 +01001077<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">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 +01001079<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 +00001080<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001081<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>
1082<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>
1083<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_absolute_difference.xhtml">GCAbsoluteDifference</a></td></tr>
1085<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 +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_absolute_difference_kernel.xhtml">GCAbsoluteDifferenceKernel</a></td></tr>
1088<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 +01001089<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_activation_layer.xhtml">GCActivationLayer</a></td></tr>
1091<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 +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_activation_layer_kernel.xhtml">GCActivationLayerKernel</a></td></tr>
1094<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 +01001095<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +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_arithmetic_addition.xhtml">GCArithmeticAddition</a></td></tr>
1097<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>
1098<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1099<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml">GCArithmeticAdditionKernel</a></td></tr>
1100<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>
1101<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_batch_normalization_layer.xhtml">GCBatchNormalizationLayer</a></td></tr>
1103<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 +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_batch_normalization_layer_kernel.xhtml">GCBatchNormalizationLayerKernel</a></td></tr>
1106<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 +00001107<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001108<tr class="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>
1109<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>
1110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001111<tr class="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_memory_region.xhtml">GCBufferMemoryRegion</a></td></tr>
1112<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLES buffer memory region implementation. <a href="classarm__compute_1_1_g_c_buffer_memory_region.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_col2_im_kernel.xhtml">GCCol2ImKernel</a></td></tr>
1115<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 +00001116<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +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_convolution_layer.xhtml">GCConvolutionLayer</a></td></tr>
1118<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>
1119<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1120<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_convolution_layer_reshape_weights.xhtml">GCConvolutionLayerReshapeWeights</a></td></tr>
1121<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>
1122<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_depth_concatenate_layer.xhtml">GCDepthConcatenateLayer</a></td></tr>
1124<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 +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_depth_concatenate_layer_kernel.xhtml">GCDepthConcatenateLayerKernel</a></td></tr>
1127<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 +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_depthwise_convolution_layer3x3.xhtml">GCDepthwiseConvolutionLayer3x3</a></td></tr>
1130<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>
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_depthwise_convolution_layer3x3_kernel.xhtml">GCDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1133<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>
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_direct_convolution_layer.xhtml">GCDirectConvolutionLayer</a></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001136<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 +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_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a></td></tr>
1139<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 +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_dropout_layer.xhtml">GCDropoutLayer</a></td></tr>
1142<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 +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_dropout_layer_kernel.xhtml">GCDropoutLayerKernel</a></td></tr>
1145<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 +01001146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +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_fill_border.xhtml">GCFillBorder</a></td></tr>
1148<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 +01001149<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001150<tr class="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>
1151<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 +00001152<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_fully_connected_layer.xhtml">GCFullyConnectedLayer</a></td></tr>
1154<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 +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_fully_connected_layer_reshape_weights.xhtml">GCFullyConnectedLayerReshapeWeights</a></td></tr>
1157<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 +01001158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +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_g_e_m_m.xhtml">GCGEMM</a></td></tr>
1160<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 +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_c_g_e_m_m_interleave4x4.xhtml">GCGEMMInterleave4x4</a></td></tr>
1163<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 +01001164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001165<tr class="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>
1166<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 +00001167<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001168<tr class="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>
1169<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 +00001170<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001171<tr class="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>
1172<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 +00001173<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001174<tr class="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>
1175<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 +00001176<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001177<tr class="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>
1178<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 +01001179<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001180<tr class="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>
1181<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 +00001182<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001183<tr class="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>
1184<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 +00001185<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001186<tr class="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>
1187<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 +00001188<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001189<tr class="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>
1190<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 +01001191<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001192<tr class="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>
1193<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 +00001194<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001195<tr class="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>
1196<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 +00001197<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001198<tr class="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>
1199<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 +00001200<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001201<tr class="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_memory.xhtml">GCMemory</a></td></tr>
1202<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLES implementation of memory object. <a href="classarm__compute_1_1_g_c_memory.xhtml#details">More...</a><br /></td></tr>
1203<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001204<tr class="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>
1205<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 +00001206<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001207<tr class="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>
1208<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 +00001209<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001210<tr class="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>
1211<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>
1212<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1213<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer_kernel.xhtml">GCNormalizePlanarYUVLayerKernel</a></td></tr>
1214<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>
1215<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001216<tr class="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>
1217<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 +00001218<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001219<tr class="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>
1220<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 +00001221<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001222<tr class="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>
1223<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 +00001224<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001225<tr class="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>
1226<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 +00001227<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001228<tr class="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>
1229<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 +00001230<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001231<tr class="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>
1232<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>
1233<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1234<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_scale_kernel.xhtml">GCScaleKernel</a></td></tr>
1235<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>
1236<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001237<tr class="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>
1238<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 +00001239<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001240<tr class="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>
1241<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 +00001242<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001243<tr class="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>
1244<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 +00001245<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001246<tr class="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>
1247<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 +00001248<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001249<tr class="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>
1250<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>
1251<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1252<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor_shift_kernel.xhtml">GCTensorShiftKernel</a></td></tr>
1253<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>
1254<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001255<tr class="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>
1256<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 +00001257<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001258<tr class="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>
1259<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 +00001260<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001261<tr class="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 +01001262<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 +00001263<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001264<tr class="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 +00001265<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>
1266<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001267<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_g_e_m_m_lowp_output_stage_info.xhtml">GEMMLowpOutputStageInfo</a></td></tr>
1268<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GEMMLowp output stage info. <a href="structarm__compute_1_1_g_e_m_m_lowp_output_stage_info.xhtml#details">More...</a><br /></td></tr>
1269<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001270<tr class="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>
1271<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 +01001272<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001273<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a></td></tr>
1274<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Proposals Information class. <a href="classarm__compute_1_1_generate_proposals_info.xhtml#details">More...</a><br /></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001275<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001276<tr class="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 +00001277<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>
1278<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1279<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a></td></tr>
1280<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>
1281<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1282<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_access_window.xhtml">IAccessWindow</a></td></tr>
1283<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 +01001284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1285<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_allocator.xhtml">IAllocator</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001286<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>
1287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1288<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a></td></tr>
1289<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>
1290<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1291<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
1292<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>
1293<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001294<tr class="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>
1295<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>
1296<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001297<tr class="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>
1298<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>
1299<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1300<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_g_e_m_m_lowp_reduction_kernel.xhtml">ICLGEMMLowpReductionKernel</a></td></tr>
1301<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>
1302<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1303<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_h_o_g.xhtml">ICLHOG</a></td></tr>
1304<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>
1305<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1306<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a></td></tr>
1307<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>
1308<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1309<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
1310<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>
1311<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001312<tr class="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>
1313<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>
1314<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001315<tr class="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>
1316<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>
1317<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1318<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
1319<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>
1320<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1321<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
1322<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>
1323<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1324<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml">ICLSimple3DKernel</a></td></tr>
1325<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>
1326<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1327<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
1328<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>
1329<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1330<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
1331<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>
1332<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001333<tr class="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>
1334<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>
1335<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001336<tr class="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>
1337<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>
1338<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1339<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
1340<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>
1341<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1342<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
1343<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>
1344<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1345<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_function.xhtml">ICPPSimpleFunction</a></td></tr>
1346<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>
1347<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1348<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001349<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 +00001350<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1351<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
1352<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>
1353<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1354<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
1355<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 +01001356<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1357<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001358<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>
1359<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1360<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a></td></tr>
1361<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>
1362<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001363<tr class="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_memory_region.xhtml">IGCMemoryRegion</a></td></tr>
1364<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLES memory region interface. <a href="classarm__compute_1_1_i_g_c_memory_region.xhtml#details">More...</a><br /></td></tr>
1365<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001366<tr class="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>
1367<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>
1368<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1369<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple3_d_kernel.xhtml">IGCSimple3DKernel</a></td></tr>
1370<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>
1371<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1372<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple_function.xhtml">IGCSimpleFunction</a></td></tr>
1373<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>
1374<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1375<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple_kernel.xhtml">IGCSimpleKernel</a></td></tr>
1376<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>
1377<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1378<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td></tr>
1379<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>
1380<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1381<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
1382<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>
1383<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1384<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
1385<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 +01001386<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1387<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lifetime_manager.xhtml">ILifetimeManager</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001388<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>
1389<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1390<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
1391<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 +01001392<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1393<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001394<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 +01001395<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001396<tr class="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.xhtml">IMemory</a></td></tr>
1397<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> interface. <a href="classarm__compute_1_1_i_memory.xhtml#details">More...</a><br /></td></tr>
1398<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001399<tr class="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 +00001400<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 +01001401<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1402<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_manager.xhtml">IMemoryManager</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001403<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 +01001404<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1405<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_pool.xhtml">IMemoryPool</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001406<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 +01001407<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001408<tr class="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>
1409<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>
1410<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001411<tr class="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>
1412<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 +01001413<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001414<tr class="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>
1415<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 +01001416<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001417<tr class="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>
1418<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 +01001419<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001420<tr class="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>
1421<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 +01001422<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1423<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_simple_function.xhtml">INESimpleFunction</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001424<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 +01001425<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001426<tr class="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>
1427<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 +01001428<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001429<tr class="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 +01001430<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 +00001431<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1432<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_winograd_layer_transform_output_kernel.xhtml">INEWinogradLayerTransformOutputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001433<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 +00001434<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1435<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_winograd_layer_transform_weights_kernel.xhtml">INEWinogradLayerTransformWeightsKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001436<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>
1437<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1438<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>
1439<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 +00001440<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001441<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>
1442<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 +01001443<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001444<tr class="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>
1445<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 +01001446<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001447<tr class="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>
1448<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 +01001449<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001450<tr class="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>
1451<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 +01001452<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001453<tr class="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>
1454<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 +01001455<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001456<tr class="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>
1457<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 +01001458<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001459<tr class="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>
1460<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>
1461<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1462<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a></td></tr>
1463<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>
1464<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1465<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_iterator.xhtml">Iterator</a></td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001466<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#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001467<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1468<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a></td></tr>
1469<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>
1470<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1471<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>
1472<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>
1473<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001474<tr class="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>
1475<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001476<tr class="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>
1477<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>
1478<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1479<tr class="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>
1480<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>
1481<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001482<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_m_e_m_info.xhtml">MEMInfo</a></td></tr>
1483<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001484<tr class="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>
1485<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>
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_memory_group_base.xhtml">MemoryGroupBase</a></td></tr>
1488<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>
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_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
1491<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 +01001492<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001493<tr class="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>
1494<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>
1495<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001496<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 +01001497<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 +01001498<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +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_multi_h_o_g.xhtml">MultiHOG</a></td></tr>
1500<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>
1501<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1502<tr class="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>
1503<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>
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_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
1506<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>
1507<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1508<tr class="memitem:"><td 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>
1509<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>
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_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
1512<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>
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_accumulate.xhtml">NEAccumulate</a></td></tr>
1515<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>
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_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
1518<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>
1519<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_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
1521<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>
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_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
1524<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>
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_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
1527<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>
1528<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1529<tr class="memitem:"><td 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>
1530<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>
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_activation_layer.xhtml">NEActivationLayer</a></td></tr>
1533<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>
1534<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1535<tr class="memitem:"><td 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>
1536<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>
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_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
1539<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>
1540<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1541<tr class="memitem:"><td 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>
1542<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>
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_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
1545<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>
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_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
1548<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>
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_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
1551<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>
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_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
1554<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>
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_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
1557<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>
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_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
1560<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>
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_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
1563<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>
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_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
1566<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>
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_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
1569<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>
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_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
1572<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>
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_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
1575<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>
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_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
1578<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>
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_box3x3.xhtml">NEBox3x3</a></td></tr>
1581<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>
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_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
1584<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>
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_canny_edge.xhtml">NECannyEdge</a></td></tr>
1587<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>
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_channel_combine.xhtml">NEChannelCombine</a></td></tr>
1590<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>
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_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
1593<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>
1594<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1595<tr class="memitem:"><td 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>
1596<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>
1597<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1598<tr class="memitem:"><td 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>
1599<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>
1600<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +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_channel_shuffle_layer.xhtml">NEChannelShuffleLayer</a></td></tr>
1602<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_shuffle_layer_kernel.xhtml">NEChannelShuffleLayerKernel</a>. <a href="classarm__compute_1_1_n_e_channel_shuffle_layer.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_channel_shuffle_layer_kernel.xhtml">NEChannelShuffleLayerKernel</a></td></tr>
1605<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel shuffle kernel. <a href="classarm__compute_1_1_n_e_channel_shuffle_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1606<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001607<tr class="memitem:"><td 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>
1608<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>
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_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
1611<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>
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_color_convert.xhtml">NEColorConvert</a></td></tr>
1614<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>
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_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
1617<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>
1618<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001619<tr class="memitem:"><td 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>
1620<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>
1621<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001622<tr class="memitem:"><td 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>
1623<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>
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_convert_fully_connected_weights_kernel.xhtml">NEConvertFullyConnectedWeightsKernel</a></td></tr>
1626<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>
1627<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001628<tr class="memitem:"><td 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>
1629<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>
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_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
1632<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>
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_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
1635<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>
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_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001638<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 +00001639<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_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
1641<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>
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_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
1644<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>
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_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
1647<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>
1648<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001649<tr class="memitem:"><td 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>
1650<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>
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_copy_kernel.xhtml">NECopyKernel</a></td></tr>
1653<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>
1654<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001655<tr class="memitem:"><td 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>
1656<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>
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_deconvolution_layer.xhtml">NEDeconvolutionLayer</a></td></tr>
1659<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>
1660<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001661<tr class="memitem:"><td 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>
1662<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>
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_depth_concatenate_layer_kernel.xhtml">NEDepthConcatenateLayerKernel</a></td></tr>
1665<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>
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_depth_convert_layer.xhtml">NEDepthConvertLayer</a></td></tr>
1668<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>
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_depth_convert_layer_kernel.xhtml">NEDepthConvertLayerKernel</a></td></tr>
1671<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>
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_depthwise_convolution_layer.xhtml">NEDepthwiseConvolutionLayer</a></td></tr>
1674<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>
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_depthwise_convolution_layer3x3.xhtml">NEDepthwiseConvolutionLayer3x3</a></td></tr>
1677<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>
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_depthwise_convolution_layer3x3_kernel.xhtml">NEDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1680<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>
1681<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1682<tr class="memitem:"><td 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>
1683<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>
1684<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1685<tr class="memitem:"><td 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>
1686<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>
1687<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1688<tr class="memitem:"><td 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>
1689<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>
1690<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1691<tr class="memitem:"><td 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>
1692<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>
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_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
1695<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>
1696<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1697<tr class="memitem:"><td 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>
1698<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>
1699<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1700<tr class="memitem:"><td 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>
1701<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>
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_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
1704<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>
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_dilate.xhtml">NEDilate</a></td></tr>
1707<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>
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_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
1710<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>
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_direct_convolution_layer.xhtml">NEDirectConvolutionLayer</a></td></tr>
1713<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>
1714<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001715<tr class="memitem:"><td 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>
1716<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>
1717<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001718<tr class="memitem:"><td 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>
1719<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>
1720<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001721<tr class="memitem:"><td 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>
1722<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>
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_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
1725<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>
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_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
1728<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>
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_erode.xhtml">NEErode</a></td></tr>
1731<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>
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_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
1734<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>
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_fast_corners.xhtml">NEFastCorners</a></td></tr>
1737<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>
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_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
1740<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>
1741<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_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
1743<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>
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_fill_border.xhtml">NEFillBorder</a></td></tr>
1746<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>
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_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
1749<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>
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_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
1752<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>
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_flatten_layer.xhtml">NEFlattenLayer</a></td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00001755<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten layer kernel. <a href="classarm__compute_1_1_n_e_flatten_layer.xhtml#details">More...</a><br /></td></tr>
1756<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1757<tr class="memitem:"><td 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_kernel.xhtml">NEFlattenLayerKernel</a></td></tr>
1758<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the flatten layer kernel. <a href="classarm__compute_1_1_n_e_flatten_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001759<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_floor.xhtml">NEFloor</a></td></tr>
1761<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>
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_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
1764<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>
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_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
1767<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>
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_fully_connected_layer_reshape_weights.xhtml">NEFullyConnectedLayerReshapeWeights</a></td></tr>
1770<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>
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_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
1773<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>
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_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
1776<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>
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_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
1779<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>
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_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
1782<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>
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_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
1785<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>
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_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
1788<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>
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_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
1791<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>
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_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
1794<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>
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_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
1797<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>
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_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
1800<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>
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_g_e_m_m.xhtml">NEGEMM</a></td></tr>
1803<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>
1804<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001805<tr class="memitem:"><td 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>
1806<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>
1807<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001808<tr class="memitem:"><td 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>
1809<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>
1810<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001811<tr class="memitem:"><td 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 +00001812<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 +00001813<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001814<tr class="memitem:"><td 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>
1815<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>
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_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
1818<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>
1819<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001820<tr class="memitem:"><td 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>
Jenkinsb9abeae2018-11-22 11:58:08 +00001821<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equivalent to <a class="el" href="classarm__gemm_1_1_gemm_interleaved.xhtml">arm_gemm::GemmInterleaved</a> 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>
Jenkins52ba29e2018-08-29 15:32:11 +00001822<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +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_g_e_m_m_lowp_assembly_matrix_multiply_core.xhtml">NEGEMMLowpAssemblyMatrixMultiplyCore</a></td></tr>
1824<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>
1825<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_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml">NEGEMMLowpMatrixAReductionKernel</a></td></tr>
1827<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>
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_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml">NEGEMMLowpMatrixBReductionKernel</a></td></tr>
1830<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>
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_g_e_m_m_lowp_matrix_multiply_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a></td></tr>
1833<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>
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_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
1836<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>
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_g_e_m_m_lowp_offset_contribution_kernel.xhtml">NEGEMMLowpOffsetContributionKernel</a></td></tr>
1839<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>
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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
1842<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>
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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
1845<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>
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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
1848<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>
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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
1851<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>
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_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
1854<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>
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_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
1857<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>
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_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
1860<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>
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_g_e_m_m_matrix_vector_multiply_kernel.xhtml">NEGEMMMatrixVectorMultiplyKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001863<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 +00001864<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_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
1866<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>
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_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
1869<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>
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_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
1872<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>
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_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
1875<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>
1876<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1877<tr class="memitem:"><td 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>
1878<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>
1879<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001880<tr class="memitem:"><td 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>
1881<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>
1882<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1883<tr class="memitem:"><td 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>
1884<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>
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_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
1887<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>
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_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
1890<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>
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_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
1893<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>
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_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
1896<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>
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_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
1899<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>
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_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
1902<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>
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_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
1905<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>
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_im2_col.xhtml">NEIm2Col</a></td></tr>
1908<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>
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_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
1911<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>
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_integral_image.xhtml">NEIntegralImage</a></td></tr>
1914<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>
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_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
1917<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>
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_l2_normalize_layer.xhtml">NEL2NormalizeLayer</a></td></tr>
1920<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>
1921<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1922<tr class="memitem:"><td 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>
1923<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>
1924<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1925<tr class="memitem:"><td 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>
1926<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>
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_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
1929<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>
1930<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1931<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>
1932<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>
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_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
1935<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>
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_locally_connected_layer.xhtml">NELocallyConnectedLayer</a></td></tr>
1938<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>
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_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
1941<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>
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_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
1944<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>
1945<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001946<tr class="memitem:"><td 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>
1947<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 +00001948<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +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_l_s_t_m_layer.xhtml">NELSTMLayer</a></td></tr>
1950<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_l_s_t_m_layer.xhtml">NELSTMLayer</a>. <a href="classarm__compute_1_1_n_e_l_s_t_m_layer.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_magnitude.xhtml">NEMagnitude</a></td></tr>
1953<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>
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_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
1956<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>
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_mean_std_dev.xhtml">NEMeanStdDev</a></td></tr>
1959<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>
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_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
1962<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>
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_median3x3.xhtml">NEMedian3x3</a></td></tr>
1965<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>
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_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
1968<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>
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_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
1971<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>
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_min_max_layer_kernel.xhtml">NEMinMaxLayerKernel</a></td></tr>
1974<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>
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_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
1977<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>
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_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
1980<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>
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_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
1983<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>
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_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
1986<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>
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_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
1989<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>
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_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
1992<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>
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_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
1995<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>
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_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
1998<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>
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_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
2001<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>
2002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002003<tr class="memitem:"><td 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>
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_permute_kernel.xhtml">NEPermuteKernel</a>. <a href="classarm__compute_1_1_n_e_permute.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_permute_kernel.xhtml">NEPermuteKernel</a></td></tr>
2007<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>
2008<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002009<tr class="memitem:"><td 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>
2010<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>
2011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2012<tr class="memitem:"><td 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>
2013<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>
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_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
2016<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>
2017<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018<tr class="memitem:"><td 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>
2019<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>
2020<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2021<tr class="memitem:"><td 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>
2022<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>
2023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002024<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_prior_box_layer.xhtml">NEPriorBoxLayer</a></td></tr>
2025<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_prior_box_layer_kernel.xhtml">NEPriorBoxLayerKernel</a>. <a href="classarm__compute_1_1_n_e_prior_box_layer.xhtml#details">More...</a><br /></td></tr>
2026<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_prior_box_layer_kernel.xhtml">NEPriorBoxLayerKernel</a></td></tr>
2028<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to calculate prior boxes. <a href="classarm__compute_1_1_n_e_prior_box_layer_kernel.xhtml#details">More...</a><br /></td></tr>
2029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002030<tr class="memitem:"><td 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>
2031<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>
2032<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_n_e_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
2034<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>
2035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002036<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduce_mean.xhtml">NEReduceMean</a></td></tr>
2037<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to perform reduce operation. <a href="classarm__compute_1_1_n_e_reduce_mean.xhtml#details">More...</a><br /></td></tr>
2038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002039<tr class="memitem:"><td 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>
2040<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>
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_n_e_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
2043<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>
2044<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2045<tr class="memitem:"><td 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>
2046<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>
2047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2048<tr class="memitem:"><td 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>
2049<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>
2050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002051<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reorg_layer.xhtml">NEReorgLayer</a></td></tr>
2052<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_reorg_layer_kernel.xhtml">NEReorgLayerKernel</a>. <a href="classarm__compute_1_1_n_e_reorg_layer.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_n_e_reorg_layer_kernel.xhtml">NEReorgLayerKernel</a></td></tr>
2055<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor re-organization. <a href="classarm__compute_1_1_n_e_reorg_layer_kernel.xhtml#details">More...</a><br /></td></tr>
2056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002057<tr class="memitem:"><td 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>
2058<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>
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_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
2061<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>
2062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002063<tr class="memitem:"><td 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>
2064<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>
2065<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002066<tr class="memitem:"><td 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>
2067<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>
2068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2069<tr class="memitem:"><td 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>
2070<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>
2071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2072<tr class="memitem:"><td 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>
2073<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>
2074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2075<tr class="memitem:"><td 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>
2076<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>
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_n_e_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
2079<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>
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_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
2082<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>
2083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2084<tr class="memitem:"><td 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>
2085<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>
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_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
2088<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>
2089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002090<tr class="memitem:"><td 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>
2091<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>
2092<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002093<tr class="memitem:"><td 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>
2094<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>
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_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
2097<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>
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_n_e_sobel5x5.xhtml">NESobel5x5</a></td></tr>
2100<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>
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_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
2103<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>
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_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
2106<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>
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_n_e_sobel7x7.xhtml">NESobel7x7</a></td></tr>
2109<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>
2110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2111<tr class="memitem:"><td 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>
2112<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>
2113<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2114<tr class="memitem:"><td 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>
2115<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>
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_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
2118<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>
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_n_e_table_lookup.xhtml">NETableLookup</a></td></tr>
2121<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>
2122<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2123<tr class="memitem:"><td 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>
2124<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>
2125<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2126<tr class="memitem:"><td 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>
2127<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>
2128<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_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
2130<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>
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_n_e_transpose.xhtml">NETranspose</a></td></tr>
2133<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>
2134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2135<tr class="memitem:"><td 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>
2136<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>
2137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002138<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_upsample_layer.xhtml">NEUpsampleLayer</a></td></tr>
2139<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to run upsample layer. <a href="classarm__compute_1_1_n_e_upsample_layer.xhtml#details">More...</a><br /></td></tr>
2140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2141<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_upsample_layer_kernel.xhtml">NEUpsampleLayerKernel</a></td></tr>
2142<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Upsample layer kernel. <a href="classarm__compute_1_1_n_e_upsample_layer_kernel.xhtml#details">More...</a><br /></td></tr>
2143<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002144<tr class="memitem:"><td 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>
2145<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>
2146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2147<tr class="memitem:"><td 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>
2148<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>
2149<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2150<tr class="memitem:"><td 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>
2151<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>
2152<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2153<tr class="memitem:"><td 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>
2154<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>
2155<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2156<tr class="memitem:"><td 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>
2157<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>
2158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002159<tr class="memitem:"><td 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>
2160<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>
2161<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2162<tr class="memitem:"><td 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>
2163<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>
2164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002165<tr class="memitem:"><td 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>
2166<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 +00002167<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002168<tr class="memitem:"><td 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>
2169<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 +00002170<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2171<tr class="memitem:"><td 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 +01002172<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 +00002173<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2174<tr class="memitem:"><td 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 +01002175<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 +00002176<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2177<tr class="memitem:"><td 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 +01002178<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 +00002179<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002180<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_y_o_l_o_layer.xhtml">NEYOLOLayer</a></td></tr>
2181<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_y_o_l_o_layer_kernel.xhtml">NEYOLOLayerKernel</a>. <a href="classarm__compute_1_1_n_e_y_o_l_o_layer.xhtml#details">More...</a><br /></td></tr>
2182<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2183<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_y_o_l_o_layer_kernel.xhtml">NEYOLOLayerKernel</a></td></tr>
2184<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the YOLO layer kernel. <a href="classarm__compute_1_1_n_e_y_o_l_o_layer_kernel.xhtml#details">More...</a><br /></td></tr>
2185<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002186<tr class="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>
2187<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>
2188<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2189<tr class="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>
2190<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>
2191<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2192<tr class="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>
2193<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>
2194<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2195<tr class="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>
2196<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>
2197<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002198<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>
2199<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>
2200<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002201<tr class="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>
2202<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>
2203<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2204<tr class="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>
2205<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>
2206<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2207<tr class="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>
2208<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>
2209<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2210<tr class="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>
2211<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>
2212<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002213<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a></td></tr>
2214<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">PriorBox layer info. <a href="classarm__compute_1_1_prior_box_layer_info.xhtml#details">More...</a><br /></td></tr>
2215<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002216<tr class="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>
2217<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>
2218<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2219<tr class="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>
2220<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>
2221<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2222<tr class="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>
2223<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>
2224<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2225<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>
2226<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>
2227<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2228<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>
2229<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>
2230<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2231<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>
2232<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>
2233<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2234<tr class="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>
2235<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>
2236<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2237<tr class="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>
2238<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>
2239<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002240<tr class="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 +00002241<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>
2242<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2243<tr class="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>
2244<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>
2245<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2246<tr class="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>
2247<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>
2248<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2249<tr class="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>
2250<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>
2251<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2252<tr class="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>
2253<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>
2254<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2255<tr class="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>
2256<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>
2257<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2258<tr class="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>
2259<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>
2260<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2261<tr class="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>
2262<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>
2263<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2264<tr class="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>
2265<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>
2266<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002267<tr class="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>
Jenkinsb9abeae2018-11-22 11:58:08 +00002268<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 <a class="el" href="namespacearm__gemm.xhtml">arm_gemm</a>. <a href="classarm__compute_1_1_tensor_accessor.xhtml#details">More...</a><br /></td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002269<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002270<tr class="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>
2271<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>
2272<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2273<tr class="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>
2274<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>
2275<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2276<tr class="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>
2277<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>
2278<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2279<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 +01002280<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 +00002281<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2282<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 +01002283<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 +00002284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2285<tr class="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>
2286<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>
2287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2288<tr class="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>
2289<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>
2290<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002291<tr class="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>
2292<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>
2293<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002294<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>
2295<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>
2296<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002297</table><table class="memberdecls">
2298<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
2299Typedefs</h2></td></tr>
2300<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 +01002301<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 +00002302<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2">&#160;</td></tr>
2303<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 +01002304<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 +00002305<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2306<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 +01002307<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 +00002308<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002309<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 +01002310<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 +01002311<tr class="separator:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002312<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 +01002313<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 +00002314<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
2315<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 +01002316<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 +00002317<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
2318<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 +01002319<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 +00002320<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2321<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 +01002322<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 +00002323<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
2324<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 +01002325<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 +00002326<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2327<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 +01002328<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 +00002329<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2">&#160;</td></tr>
2330<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 +01002331<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 +00002332<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2">&#160;</td></tr>
2333<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 +01002334<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 +00002335<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
2336<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 +00002337<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 +00002338<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2">&#160;</td></tr>
2339<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 +00002340<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 +00002341<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2342<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 +00002343<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 +00002344<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2345<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 +00002346<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 +00002347<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2">&#160;</td></tr>
2348<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 +00002349<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 +00002350<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2351<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 +00002352<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 +00002353<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2">&#160;</td></tr>
2354<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 +00002355<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 +00002356<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2357<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 +00002358<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 +00002359<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2360<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 +00002361<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 +00002362<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2">&#160;</td></tr>
2363<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 +00002364<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 +00002365<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
2366<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 +01002367<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 +00002368<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2">&#160;</td></tr>
2369<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 +01002370<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 +00002371<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
2372<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 +01002373<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 +00002374<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2">&#160;</td></tr>
2375<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 +01002376<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 +00002377<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002378<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 +01002379<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 +00002380<tr class="separator:a39070701484fa98eaa18cfcdb6aeb175"><td class="memSeparator" colspan="2">&#160;</td></tr>
2381<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 +01002382<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 +00002383<tr class="separator:a10f3af894ca8b0479a5e6bc296083314"><td class="memSeparator" colspan="2">&#160;</td></tr>
2384<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 +01002385<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 +00002386<tr class="separator:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2387<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 +01002388<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 +00002389<tr class="separator:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002390<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 +01002391<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 +00002392<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2393<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 +01002394<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 +00002395<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2">&#160;</td></tr>
2396<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 +01002397<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 +00002398<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002399<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>
2400<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>
2401<tr class="separator:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002402<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 +01002403<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 +00002404<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2405<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 +01002406<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 +00002407<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2408<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 +01002409<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 +00002410<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2411<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 +01002412<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 +00002413<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2">&#160;</td></tr>
2414<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 +01002415<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 +00002416<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2417<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 +01002418<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 +00002419<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2">&#160;</td></tr>
2420<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 +01002421<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 +00002422<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2423<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 +01002424<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 +00002425<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2">&#160;</td></tr>
2426<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 +01002427<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 +00002428<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002429<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 +01002430<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 +00002431<tr class="separator:aff99c045b07329b332b1cb97a2dd1518"><td class="memSeparator" colspan="2">&#160;</td></tr>
2432<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 +01002433<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 +00002434<tr class="separator:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002435<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 +00002436<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 +00002437<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2">&#160;</td></tr>
2438<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 +00002439<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 +00002440<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2441<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 +00002442<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 +00002443<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2444<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 +00002445<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 +00002446<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2447<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 +00002448<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 +00002449<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2450<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 +00002451<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 +00002452<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2">&#160;</td></tr>
2453<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 +00002454<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 +00002455<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
2456<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 +00002457<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 +00002458<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2459<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 +00002460<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 +00002461<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
2462<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 +00002463<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 +00002464<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2465<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 +01002466<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 +00002467<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002468<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 +01002469<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 +00002470<tr class="separator:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2471<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>
2472<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>
2473<tr class="separator:a70ecc99f2f6b646579b58463dc026671"><td class="memSeparator" colspan="2">&#160;</td></tr>
2474<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>
2475<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>
2476<tr class="separator:a805d740633d70a5f0b019d72c517e67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2477<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>
2478<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>
2479<tr class="separator:a0c6e16826765130b480af53eda3635be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2480<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>
2481<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>
2482<tr class="separator:a41d3460ff424e2e21c629b3f27386a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2483<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>
2484<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>
2485<tr class="separator:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002486<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>
2487<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>
2488<tr class="separator:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002489<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 +00002490<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 +01002491<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002492<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>
2493<tr class="memdesc:a33e65be485104e2e9e69fca551d6f492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation vector. <a href="#a33e65be485104e2e9e69fca551d6f492">More...</a><br /></td></tr>
2494<tr class="separator:a33e65be485104e2e9e69fca551d6f492"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002495<tr class="memitem:a11916d4148a39a67794050373f54825a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a11916d4148a39a67794050373f54825a">BiStrides</a> = <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a></td></tr>
2496<tr class="memdesc:a11916d4148a39a67794050373f54825a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bidirectional strides. <a href="#a11916d4148a39a67794050373f54825a">More...</a><br /></td></tr>
2497<tr class="separator:a11916d4148a39a67794050373f54825a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002498<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 +01002499<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 +00002500<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2">&#160;</td></tr>
2501<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 +01002502<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 +00002503<tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002504<tr class="memitem:a669b5d3c5994f9ae3be31df9a1014297"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a669b5d3c5994f9ae3be31df9a1014297">PaddingInfo</a> = std::pair&lt; uint32_t, uint32_t &gt;</td></tr>
2505<tr class="memdesc:a669b5d3c5994f9ae3be31df9a1014297"><td class="mdescLeft">&#160;</td><td class="mdescRight">Padding information as a pair of unsigned int start/end. <a href="#a669b5d3c5994f9ae3be31df9a1014297">More...</a><br /></td></tr>
2506<tr class="separator:a669b5d3c5994f9ae3be31df9a1014297"><td class="memSeparator" colspan="2">&#160;</td></tr>
2507<tr class="memitem:ac1a1b012674e0f1de071a611391828ad"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> = std::vector&lt; <a class="el" href="namespacearm__compute.xhtml#a669b5d3c5994f9ae3be31df9a1014297">PaddingInfo</a> &gt;</td></tr>
2508<tr class="memdesc:ac1a1b012674e0f1de071a611391828ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of padding information. <a href="#ac1a1b012674e0f1de071a611391828ad">More...</a><br /></td></tr>
2509<tr class="separator:ac1a1b012674e0f1de071a611391828ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002510<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 +01002511<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 +00002512<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2513<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 +01002514<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 +00002515<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
2516<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 +01002517<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 +00002518<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002519<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>
2520<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>
2521<tr class="separator:a35ae0858a604c4c0672ce857e8080ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002522<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 +01002523<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 +00002524<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2">&#160;</td></tr>
2525<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 +01002526<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 +00002527<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2528<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 +01002529<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 +00002530<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
2531<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 +01002532<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 +00002533<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2">&#160;</td></tr>
2534<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 +01002535<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 +00002536<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2537<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 +01002538<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 +00002539<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
2540<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 +01002541<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 +00002542<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
2543<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 +01002544<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 +00002545<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2546<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 +01002547<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 +00002548<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2">&#160;</td></tr>
2549<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 +01002550<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 +00002551<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002552<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 +01002553<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 +01002554<tr class="separator:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002555<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 +01002556<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 +00002557<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2">&#160;</td></tr>
2558<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 +01002559<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 +00002560<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2561<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 +01002562<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 +00002563<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2564<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 +01002565<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 +00002566<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2">&#160;</td></tr>
2567<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 +01002568<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 +00002569<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
2570<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 +01002571<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 +00002572<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2573<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 +01002574<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 +00002575<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002576<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 +01002577<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 +01002578<tr class="separator:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002579<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 +01002580<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 +00002581<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
2582<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 +00002583<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 +00002584<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2585<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 +00002586<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 +00002587<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
2588<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 +00002589<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 +00002590<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002591<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 +01002592<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 +00002593<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
2594<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 +01002595<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 +00002596<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
2597<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 +01002598<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 +00002599<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002600<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>
2601<tr class="separator:abb079bea3cd2a65a7018eab99392747e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002602<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 +01002603<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 +00002604<tr class="separator:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002605<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 +01002606<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 +01002607<tr class="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002608<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 +00002609<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 +01002610<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2611<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 +00002612<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 +01002613<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2614<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 +00002615<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 +01002616<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002617<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 +01002618<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 +00002619<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002620<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 +01002621<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 +01002622<tr class="separator:a0604c803e41880a4a16408efc4e6a69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002623<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 +01002624<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 +00002625<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002626<tr class="memitem:a43b7da220a8ead83acff98f218f7eb6b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43b7da220a8ead83acff98f218f7eb6b">MemoryMappings</a> = std::map&lt; <a class="el" href="classarm__compute_1_1_i_memory.xhtml">IMemory</a> *, size_t &gt;</td></tr>
2627<tr class="memdesc:a43b7da220a8ead83acff98f218f7eb6b"><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="#a43b7da220a8ead83acff98f218f7eb6b">More...</a><br /></td></tr>
2628<tr class="separator:a43b7da220a8ead83acff98f218f7eb6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2629<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#a43b7da220a8ead83acff98f218f7eb6b">MemoryMappings</a> &gt;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002630<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 +01002631<tr class="separator:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002632<tr class="memitem:a3fd0d641ff68bfe8475361a13de7b1cc"><td class="memTemplParams" colspan="2">template&lt;typename T , int N&gt; </td></tr>
2633<tr class="memitem:a3fd0d641ff68bfe8475361a13de7b1cc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3fd0d641ff68bfe8475361a13de7b1cc">vec_n_t</a> = typename vec_n_type&lt; T, N &gt;::type</td></tr>
2634<tr class="separator:a3fd0d641ff68bfe8475361a13de7b1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2635<tr class="memitem:a5cd8407762d2446f8eceefcc4b63e537"><td class="memTemplParams" colspan="2">template&lt;typename T , int N&gt; </td></tr>
2636<tr class="memitem:a5cd8407762d2446f8eceefcc4b63e537"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5cd8407762d2446f8eceefcc4b63e537">vec_n_byte_t</a> = <a class="el" href="namespacearm__compute.xhtml#a3fd0d641ff68bfe8475361a13de7b1cc">vec_n_t</a>&lt; T, N/sizeof(T) &gt;</td></tr>
2637<tr class="separator:a5cd8407762d2446f8eceefcc4b63e537"><td class="memSeparator" colspan="2">&#160;</td></tr>
2638<tr class="memitem:aef7a69b9cf4a1732d2be114b9b9bf3e3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2639<tr class="memitem:aef7a69b9cf4a1732d2be114b9b9bf3e3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a> = <a class="el" href="namespacearm__compute.xhtml#a5cd8407762d2446f8eceefcc4b63e537">vec_n_byte_t</a>&lt; T, 16 &gt;</td></tr>
2640<tr class="separator:aef7a69b9cf4a1732d2be114b9b9bf3e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2641<tr class="memitem:ab448de27f94cd38059b63980c3c08f40"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2642<tr class="memitem:ab448de27f94cd38059b63980c3c08f40"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a> = <a class="el" href="namespacearm__compute.xhtml#a5cd8407762d2446f8eceefcc4b63e537">vec_n_byte_t</a>&lt; T, 8 &gt;</td></tr>
2643<tr class="separator:ab448de27f94cd38059b63980c3c08f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
2644<tr class="memitem:a926fa1a0e7fd320cff5ba6c6f62f463b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2645<tr class="memitem:a926fa1a0e7fd320cff5ba6c6f62f463b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a> = const T *</td></tr>
2646<tr class="separator:a926fa1a0e7fd320cff5ba6c6f62f463b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2647<tr class="memitem:a1e36f8a2df3d6bd1756b90e2efb151e9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2648<tr class="memitem:a1e36f8a2df3d6bd1756b90e2efb151e9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a> = T *</td></tr>
2649<tr class="separator:a1e36f8a2df3d6bd1756b90e2efb151e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2650<tr class="memitem:a534a101b6176c3e065eba4b4cde7a40e"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
2651<tr class="memitem:a534a101b6176c3e065eba4b4cde7a40e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a534a101b6176c3e065eba4b4cde7a40e">elem_type_t</a> = decltype(<a class="el" href="namespacearm__compute.xhtml#a40552ea65ee3fc6d7fa7f1fb17baebe7">vget_lane</a>&lt; 0 &gt;(std::declval&lt; V &gt;()))</td></tr>
2652<tr class="separator:a534a101b6176c3e065eba4b4cde7a40e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002653<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 +01002654<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 +01002655<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002656</table><table class="memberdecls">
2657<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
2658Enumerations</h2></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002659<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 +01002660&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>,
2661<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>,
2662<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>,
2663<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002664<br />
Kaizen8938bd32017-09-28 14:38:23 +01002665&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002666<br />
Jenkinsb3a371b2018-05-23 11:36:53 +01002667 }<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 +00002668</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002669<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002670<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 />
2671&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,
2672<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>,
2673<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>,
Jenkinsb3a371b2018-05-23 11:36:53 +01002674<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002675<br />
2676&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,
Jenkinsb3a371b2018-05-23 11:36:53 +01002677<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>
Jenkins52ba29e2018-08-29 15:32:11 +00002678<br />
Jenkinsb3a371b2018-05-23 11:36:53 +01002679 }<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>
2680</td></tr>
2681<tr class="separator:aa41d7415a5386798147cccae2333d5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002682<tr class="memitem:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495">MemoryPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a704bfa6c1ed5e479c8cfb5bdfc8cccda">MINIMIZE</a>,
2683<a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>
2684 }<tr class="memdesc:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global memory policy. <a href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495">More...</a><br /></td></tr>
2685</td></tr>
2686<tr class="separator:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002687<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 +00002688<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>,
2689<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>
Jenkinsb3a371b2018-05-23 11:36:53 +01002690 }<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>
2691</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002692<tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002693<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 />
2694&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0x101,
2695<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,
2696<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,
2697<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,
2698<br />
2699&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,
2700<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,
2701<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,
2702<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a> = 0x210,
2703<br />
2704&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a> = 0x220,
2705<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a> = 0x230,
2706<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a> = 0x231,
2707<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a> = 0x232,
2708<br />
Jenkinsb9abeae2018-11-22 11:58:08 +00002709&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb">G52</a> = 0x240,
2710<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837">G52LIT</a> = 0x241,
2711<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a> = 0x250,
2712<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x260,
2713<br />
2714&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x270
Jenkinsb3a371b2018-05-23 11:36:53 +01002715<br />
2716 }<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>
2717</td></tr>
2718<tr class="separator:a735ac6c2a02e320969625308810444f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002719<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>,
2720<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
2721<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
2722 }<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>
2723</td></tr>
2724<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2725<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 +00002726&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2727<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
2728<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
2729<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002730<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002731&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
2732<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
2733<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
2734<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002735<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002736&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
2737<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
2738<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
2739<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002740<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002741&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
2742<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
2743<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
2744<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002745<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002746&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002747<br />
2748 }<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>
2749</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002750<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002751<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 +00002752&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2753<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
2754<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002755<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002756<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002757&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002758<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002759<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002760<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002761<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002762&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
2763<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002764<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002765<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002766<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002767&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
2768<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002769<br />
2770 }<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>
2771</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002772<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002773<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>,
2774<a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>
2775 }<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>
2776</td></tr>
2777<tr class="separator:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002778<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>,
2779<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>,
Anthony Barbier06ea0482018-02-22 15:45:35 +00002780<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>
Jenkinsb9abeae2018-11-22 11:58:08 +00002781 }<tr class="memdesc:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">[DataLayout enum definition] <a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002782</td></tr>
2783<tr class="separator:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002784<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>,
2785<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>,
2786<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>,
2787<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>
Jenkinsb9abeae2018-11-22 11:58:08 +00002788 }<tr class="memdesc:a74ce3f7420453d3446218ff3b7453e02"><td class="mdescLeft">&#160;</td><td class="mdescRight">[DataLayout enum definition] <a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">More...</a><br /></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002789</td></tr>
2790<tr class="separator:a74ce3f7420453d3446218ff3b7453e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002791<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>,
2792<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
2793<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002794 }<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>
2795</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002796<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2">&#160;</td></tr>
2797<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>,
2798<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002799 }<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>
2800</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002801<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2802<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>,
2803<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
2804<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002805 }<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>
2806</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002807<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2808<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>,
2809<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002810 }<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>
2811</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002812<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2">&#160;</td></tr>
2813<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>,
2814<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002815 }<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>
2816</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002817<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002818<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>,
2819<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
2820<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002821 }<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>
2822</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002823<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2">&#160;</td></tr>
2824<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>,
2825<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002826 }<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>
2827</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002828<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2829<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>,
2830<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002831 }<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>
2832</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002833<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002834<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 +00002835&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2836<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
2837<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
2838<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002839<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002840&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
2841<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
2842<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
2843<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002844<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002845&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
2846<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
2847<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
2848<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002849<br />
2850 }<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>
2851</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002852<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2853<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>,
2854<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
2855<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
2856<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002857 }<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>
2858</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002859<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2860<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,
2861<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
2862<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002863 }<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>
2864</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002865<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002866<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>,
Jenkinsb9abeae2018-11-22 11:58:08 +00002867<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>,
2868<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002869 }<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>
2870</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002871<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002872<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>,
2873<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002874<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002875 }<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>
2876</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002877<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002878<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,
2879<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2,
2880<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002881 }<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>
2882</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002883<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2884<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>,
2885<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002886 }<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>
2887</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002888<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2889<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 +01002890<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>,
2891<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002892 }<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>
2893</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002894<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002895<tr class="memitem:a201391f6e13e2a1ac203256a77792718"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718">NMSType</a> { <a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">LINEAR</a>,
2896<a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>,
2897<a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a>
2898 }<tr class="memdesc:a201391f6e13e2a1ac203256a77792718"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available non maxima suppression types. <a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718">More...</a><br /></td></tr>
2899</td></tr>
2900<tr class="separator:a201391f6e13e2a1ac203256a77792718"><td class="memSeparator" colspan="2">&#160;</td></tr>
2901<tr class="memitem:a5558e2cc22f7f4771653d992c8ad8864"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">GEMMLowpOutputStageType</a> { <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>,
2902<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>,
2903<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>,
2904<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a>
2905 }<tr class="memdesc:a5558e2cc22f7f4771653d992c8ad8864"><td class="mdescLeft">&#160;</td><td class="mdescRight">GEMMLowp output stage type. <a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">More...</a><br /></td></tr>
2906</td></tr>
2907<tr class="separator:a5558e2cc22f7f4771653d992c8ad8864"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002908<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>,
2909<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,
2910<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>
2911 }<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>
2912</td></tr>
2913<tr class="separator:a683661ae75dcb7aef16b9c9bde31517d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002914<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>,
2915<a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002916 }<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>
2917</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002918<tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002919<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>
2920 }<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>
2921</td></tr>
2922<tr class="separator:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002923</table><table class="memberdecls">
2924<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
2925Functions</h2></td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002926<tr class="memitem:a545eeda2eaa3f5a54345ce8169e21184"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
2927<tr class="memdesc:a545eeda2eaa3f5a54345ce8169e21184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#a545eeda2eaa3f5a54345ce8169e21184">More...</a><br /></td></tr>
2928<tr class="separator:a545eeda2eaa3f5a54345ce8169e21184"><td class="memSeparator" colspan="2">&#160;</td></tr>
2929<tr class="memitem:a70d221fbff7bff840ef4d3fdc701cf53"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70d221fbff7bff840ef4d3fdc701cf53">get_cl_select_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
2930<tr class="memdesc:a70d221fbff7bff840ef4d3fdc701cf53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL select type. <a href="#a70d221fbff7bff840ef4d3fdc701cf53">More...</a><br /></td></tr>
2931<tr class="separator:a70d221fbff7bff840ef4d3fdc701cf53"><td class="memSeparator" colspan="2">&#160;</td></tr>
2932<tr class="memitem:ab631f49c436b1f18beff3248c4b1a19e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab631f49c436b1f18beff3248c4b1a19e">get_data_size_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
2933<tr class="memdesc:ab631f49c436b1f18beff3248c4b1a19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of a data type in number of bits. <a href="#ab631f49c436b1f18beff3248c4b1a19e">More...</a><br /></td></tr>
2934<tr class="separator:ab631f49c436b1f18beff3248c4b1a19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2935<tr class="memitem:aa9ed41c417478e5b1e346de1899137b1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa9ed41c417478e5b1e346de1899137b1">get_underlying_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
2936<tr class="memdesc:aa9ed41c417478e5b1e346de1899137b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="#aa9ed41c417478e5b1e346de1899137b1">More...</a><br /></td></tr>
2937<tr class="separator:aa9ed41c417478e5b1e346de1899137b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2938<tr class="memitem:a281384aa081efe5819eedd6a7c2a429b"><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#a281384aa081efe5819eedd6a7c2a429b">get_target_from_device</a> (const cl::Device &amp;device)</td></tr>
2939<tr class="memdesc:a281384aa081efe5819eedd6a7c2a429b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="#a281384aa081efe5819eedd6a7c2a429b">More...</a><br /></td></tr>
2940<tr class="separator:a281384aa081efe5819eedd6a7c2a429b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2941<tr class="memitem:a0e62ce01a7a7af6c3d059bb8534cad45"><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#a0e62ce01a7a7af6c3d059bb8534cad45">get_cl_version</a> (const cl::Device &amp;device)</td></tr>
2942<tr class="memdesc:a0e62ce01a7a7af6c3d059bb8534cad45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="#a0e62ce01a7a7af6c3d059bb8534cad45">More...</a><br /></td></tr>
2943<tr class="separator:a0e62ce01a7a7af6c3d059bb8534cad45"><td class="memSeparator" colspan="2">&#160;</td></tr>
2944<tr class="memitem:a6c4a5ca34ebb51d4e2e119a110e4c8f0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a> (const cl::Device &amp;device, const char *extension_name)</td></tr>
2945<tr class="memdesc:a6c4a5ca34ebb51d4e2e119a110e4c8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a given extension is supported. <a href="#a6c4a5ca34ebb51d4e2e119a110e4c8f0">More...</a><br /></td></tr>
2946<tr class="separator:a6c4a5ca34ebb51d4e2e119a110e4c8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2947<tr class="memitem:a2ad3c9492d4158b574a89ab798d74e16"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ad3c9492d4158b574a89ab798d74e16">fp16_supported</a> (const cl::Device &amp;device)</td></tr>
2948<tr class="memdesc:a2ad3c9492d4158b574a89ab798d74e16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_khr_fp16 extension is supported. <a href="#a2ad3c9492d4158b574a89ab798d74e16">More...</a><br /></td></tr>
2949<tr class="separator:a2ad3c9492d4158b574a89ab798d74e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
2950<tr class="memitem:a0019d1de2500c73f16b673d8a883a767"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0019d1de2500c73f16b673d8a883a767">arm_non_uniform_workgroup_supported</a> (const cl::Device &amp;device)</td></tr>
2951<tr class="memdesc:a0019d1de2500c73f16b673d8a883a767"><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="#a0019d1de2500c73f16b673d8a883a767">More...</a><br /></td></tr>
2952<tr class="separator:a0019d1de2500c73f16b673d8a883a767"><td class="memSeparator" colspan="2">&#160;</td></tr>
2953<tr class="memitem:ac07e02c0066cf540a5a2665fa7d54934"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac07e02c0066cf540a5a2665fa7d54934">dot8_supported</a> (const cl::Device &amp;device)</td></tr>
2954<tr class="memdesc:ac07e02c0066cf540a5a2665fa7d54934"><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="#ac07e02c0066cf540a5a2665fa7d54934">More...</a><br /></td></tr>
2955<tr class="separator:ac07e02c0066cf540a5a2665fa7d54934"><td class="memSeparator" colspan="2">&#160;</td></tr>
2956<tr class="memitem:a4878daab91c6d7173de20283766e0c2c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4878daab91c6d7173de20283766e0c2c">dot8_acc_supported</a> (const cl::Device &amp;device)</td></tr>
2957<tr class="memdesc:a4878daab91c6d7173de20283766e0c2c"><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="#a4878daab91c6d7173de20283766e0c2c">More...</a><br /></td></tr>
2958<tr class="separator:a4878daab91c6d7173de20283766e0c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2959<tr class="memitem:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f5aff064f09dd7f355aaaf7641bf7d3">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>
2960<tr class="memdesc:a7f5aff064f09dd7f355aaaf7641bf7d3"><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="#a7f5aff064f09dd7f355aaaf7641bf7d3">More...</a><br /></td></tr>
2961<tr class="separator:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002962<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>
2963<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>
2964<tr class="separator:a5c8dc3902d1a2de5b20aa249fb483eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002965<tr class="memitem:a1e48b7cf7de6a52575088cb7082d2b3e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1e48b7cf7de6a52575088cb7082d2b3e">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#acba005f5ce2c62cbf3f94d074d9007aa">CLKernelLibrary::get</a>().default_ndrange())</td></tr>
2966<tr class="memdesc:a1e48b7cf7de6a52575088cb7082d2b3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a1e48b7cf7de6a52575088cb7082d2b3e">More...</a><br /></td></tr>
2967<tr class="separator:a1e48b7cf7de6a52575088cb7082d2b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2968<tr class="memitem:a5f49decb4b0a74d5361686ab45db8961"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5f49decb4b0a74d5361686ab45db8961">opencl_is_available</a> ()</td></tr>
2969<tr class="memdesc:a5f49decb4b0a74d5361686ab45db8961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if OpenCL is available. <a href="#a5f49decb4b0a74d5361686ab45db8961">More...</a><br /></td></tr>
2970<tr class="separator:a5f49decb4b0a74d5361686ab45db8961"><td class="memSeparator" colspan="2">&#160;</td></tr>
2971<tr class="memitem:a5516ba576a612c73954609522347b576"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5516ba576a612c73954609522347b576">cpu_model_to_string</a> (<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> val)</td></tr>
2972<tr class="memdesc:a5516ba576a612c73954609522347b576"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a cpumodel value to a string. <a href="#a5516ba576a612c73954609522347b576">More...</a><br /></td></tr>
2973<tr class="separator:a5516ba576a612c73954609522347b576"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002974<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>
2975<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>
2976<tr class="separator:a8e79316e933e15539e39cace39ba0e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
2977<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>
2978<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>
2979<tr class="separator:af2619085e2d6192b99df91fd805d8d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002980<tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2981<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 +01002982<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 +00002983<tr class="separator:a096590f2456b9e9bcb8db98175720b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
2984<tr class="memitem:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2985<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 +01002986<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 +00002987<tr class="separator:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002988<tr class="memitem:a053a24bb37402fa4b4d8d5963976ba17"><td class="memTemplParams" colspan="2">template&lt;typename... T&gt; </td></tr>
2989<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>
2990<tr class="memdesc:a053a24bb37402fa4b4d8d5963976ba17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignores unused arguments. <a href="#a053a24bb37402fa4b4d8d5963976ba17">More...</a><br /></td></tr>
2991<tr class="separator:a053a24bb37402fa4b4d8d5963976ba17"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00002992<tr class="memitem:aee087c8a7edb0fb5b7e75b9037e34cf7"><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#aee087c8a7edb0fb5b7e75b9037e34cf7">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>
2993<tr class="memdesc:aee087c8a7edb0fb5b7e75b9037e34cf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an error containing the error message from variable argument list. <a href="#aee087c8a7edb0fb5b7e75b9037e34cf7">More...</a><br /></td></tr>
2994<tr class="separator:aee087c8a7edb0fb5b7e75b9037e34cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2995<tr class="memitem:a439338e8e5a7c76a079aca52e16cff79"><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#a439338e8e5a7c76a079aca52e16cff79">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>
2996<tr class="memdesc:a439338e8e5a7c76a079aca52e16cff79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an error containing the error message. <a href="#a439338e8e5a7c76a079aca52e16cff79">More...</a><br /></td></tr>
2997<tr class="separator:a439338e8e5a7c76a079aca52e16cff79"><td class="memSeparator" colspan="2">&#160;</td></tr>
2998<tr class="memitem:a0768178b90a30994784fd28c5a89323f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0768178b90a30994784fd28c5a89323f">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
2999<tr class="memdesc:a0768178b90a30994784fd28c5a89323f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a0768178b90a30994784fd28c5a89323f">More...</a><br /></td></tr>
3000<tr class="separator:a0768178b90a30994784fd28c5a89323f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3001<tr class="memitem:a786b9d823a527bb1e30d38f4dbe52d4b"><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#a786b9d823a527bb1e30d38f4dbe52d4b">get_target_from_device</a> ()</td></tr>
3002<tr class="memdesc:a786b9d823a527bb1e30d38f4dbe52d4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from GLES using GL_RENDERER enum. <a href="#a786b9d823a527bb1e30d38f4dbe52d4b">More...</a><br /></td></tr>
3003<tr class="separator:a786b9d823a527bb1e30d38f4dbe52d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3004<tr class="memitem:a5c7c5fe99682f92e5e09cf62fb02ac91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c7c5fe99682f92e5e09cf62fb02ac91">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>
3005<tr class="memdesc:a5c7c5fe99682f92e5e09cf62fb02ac91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a5c7c5fe99682f92e5e09cf62fb02ac91">More...</a><br /></td></tr>
3006<tr class="separator:a5c7c5fe99682f92e5e09cf62fb02ac91"><td class="memSeparator" colspan="2">&#160;</td></tr>
3007<tr class="memitem:ad8ec10f67d9849be264c23c5329d9324"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ec10f67d9849be264c23c5329d9324">opengles31_is_available</a> ()</td></tr>
3008<tr class="memdesc:ad8ec10f67d9849be264c23c5329d9324"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the OpenGL ES 3.1 API is available at runtime. <a href="#ad8ec10f67d9849be264c23c5329d9324">More...</a><br /></td></tr>
3009<tr class="separator:ad8ec10f67d9849be264c23c5329d9324"><td class="memSeparator" colspan="2">&#160;</td></tr>
3010<tr class="memitem:af7795707992825c309fe846740dc8cf8"><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#af7795707992825c309fe846740dc8cf8">string_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
3011<tr class="memdesc:af7795707992825c309fe846740dc8cf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given gpu device target to string. <a href="#af7795707992825c309fe846740dc8cf8">More...</a><br /></td></tr>
3012<tr class="separator:af7795707992825c309fe846740dc8cf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3013<tr class="memitem:a0dc6fb54ac0bbc7bf512fe0ca7414076"><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#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a> (const std::string &amp;device_name)</td></tr>
3014<tr class="memdesc:a0dc6fb54ac0bbc7bf512fe0ca7414076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from a device name. <a href="#a0dc6fb54ac0bbc7bf512fe0ca7414076">More...</a><br /></td></tr>
3015<tr class="separator:a0dc6fb54ac0bbc7bf512fe0ca7414076"><td class="memSeparator" colspan="2">&#160;</td></tr>
3016<tr class="memitem:a2355c2bf5d1950088937416baea24fe6"><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#a2355c2bf5d1950088937416baea24fe6">get_arch_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
3017<tr class="memdesc:a2355c2bf5d1950088937416baea24fe6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU arch. <a href="#a2355c2bf5d1950088937416baea24fe6">More...</a><br /></td></tr>
3018<tr class="separator:a2355c2bf5d1950088937416baea24fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3019<tr class="memitem:a1da498e9b2c2d24883087f62c6bbe75d"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
3020<tr class="memitem:a1da498e9b2c2d24883087f62c6bbe75d"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1da498e9b2c2d24883087f62c6bbe75d">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>
3021<tr class="memdesc:a1da498e9b2c2d24883087f62c6bbe75d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a gpu target is equal to the provided targets. <a href="#a1da498e9b2c2d24883087f62c6bbe75d">More...</a><br /></td></tr>
3022<tr class="separator:a1da498e9b2c2d24883087f62c6bbe75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003023<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>
3024<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>
3025<tr class="separator:aab39ce9a593f7e12a4bf4cb47272b917"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003026<tr class="memitem:a6f698fa1629f7f800b3c8cd77a3d4b4a"><td class="memTemplParams" colspan="2">template&lt;typename Kernel , typename... T&gt; </td></tr>
3027<tr class="memitem:a6f698fa1629f7f800b3c8cd77a3d4b4a"><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#a6f698fa1629f7f800b3c8cd77a3d4b4a">create_configure_kernel</a> (T &amp;&amp;... args)</td></tr>
3028<tr class="memdesc:a6f698fa1629f7f800b3c8cd77a3d4b4a"><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="#a6f698fa1629f7f800b3c8cd77a3d4b4a">More...</a><br /></td></tr>
3029<tr class="separator:a6f698fa1629f7f800b3c8cd77a3d4b4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003030<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplParams" colspan="2">template&lt;typename Kernel &gt; </td></tr>
3031<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>
3032<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>
3033<tr class="separator:abc72c95941485d8a068fa38372308574"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003034<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3035<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 +00003036<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 +01003037<tr class="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003038<tr class="memitem:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3039<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>
3040<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>
3041<tr class="separator:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memSeparator" colspan="2">&#160;</td></tr>
3042<tr class="memitem:a6174495b626531de015ae2b810859287"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3043<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>
3044<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>
3045<tr class="separator:a6174495b626531de015ae2b810859287"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003046<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3047<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 +00003048<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 +01003049<tr class="separator:a1c8d639ec2b3086a9506e72605a32333"><td class="memSeparator" colspan="2">&#160;</td></tr>
3050<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3051<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 +00003052<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 +01003053<tr class="separator:afa55519774605e5b840fb031fdd7b196"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003054<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 +00003055<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 +01003056<tr class="separator:ab7b3af731907e85fcaf72555c446176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003057<tr class="memitem:a5002bf7ec46d52971f9526e94172cfee"><td class="memTemplParams" colspan="2">template&lt;typename L , typename... Ts&gt; </td></tr>
3058<tr class="memitem:a5002bf7ec46d52971f9526e94172cfee"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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>
3059<tr class="memdesc:a5002bf7ec46d52971f9526e94172cfee"><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="#a5002bf7ec46d52971f9526e94172cfee">More...</a><br /></td></tr>
3060<tr class="separator:a5002bf7ec46d52971f9526e94172cfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
3061<tr class="memitem:afc4bd8e872567d9c4c57d89eb0bb3da1"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3062<tr class="memitem:afc4bd8e872567d9c4c57d89eb0bb3da1"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc4bd8e872567d9c4c57d89eb0bb3da1">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>
3063<tr class="memdesc:afc4bd8e872567d9c4c57d89eb0bb3da1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#afc4bd8e872567d9c4c57d89eb0bb3da1">More...</a><br /></td></tr>
3064<tr class="separator:afc4bd8e872567d9c4c57d89eb0bb3da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3065<tr class="memitem:ab7980fa5ee693e3282a76da047a1c3b5"><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#ab7980fa5ee693e3282a76da047a1c3b5">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>
3066<tr class="memdesc:ab7980fa5ee693e3282a76da047a1c3b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#ab7980fa5ee693e3282a76da047a1c3b5">More...</a><br /></td></tr>
3067<tr class="separator:ab7980fa5ee693e3282a76da047a1c3b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003068<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 +00003069<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 +01003070<tr class="separator:aa2117aef4381edbdf81e17ec088df7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003071<tr class="memitem:a9047a414d692d8814181a667a7ee68c4"><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#a9047a414d692d8814181a667a7ee68c4">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>
3072<tr class="memdesc:a9047a414d692d8814181a667a7ee68c4"><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="#a9047a414d692d8814181a667a7ee68c4">More...</a><br /></td></tr>
3073<tr class="separator:a9047a414d692d8814181a667a7ee68c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003074<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 +00003075<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 +01003076<tr class="separator:a47456b4d520aee1cba80bf6e20f6685a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003077<tr class="memitem:affc1f59e0b2c29bf81e8c95bf0fa8e76"><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#affc1f59e0b2c29bf81e8c95bf0fa8e76">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>
3078<tr class="memdesc:affc1f59e0b2c29bf81e8c95bf0fa8e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#affc1f59e0b2c29bf81e8c95bf0fa8e76">More...</a><br /></td></tr>
3079<tr class="separator:affc1f59e0b2c29bf81e8c95bf0fa8e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003080<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 +00003081<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 +01003082<tr class="separator:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003083<tr class="memitem:aa7510e92de273e0457ce12218f712ad4"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3084<tr class="memitem:aa7510e92de273e0457ce12218f712ad4"><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#aa7510e92de273e0457ce12218f712ad4">intersect_valid_regions</a> (const Ts &amp;... regions)</td></tr>
3085<tr class="memdesc:aa7510e92de273e0457ce12218f712ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersect multiple valid regions. <a href="#aa7510e92de273e0457ce12218f712ad4">More...</a><br /></td></tr>
3086<tr class="separator:aa7510e92de273e0457ce12218f712ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3087<tr class="memitem:ac56739a30823647f7d86a0380a2ff62e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3088<tr class="memitem:ac56739a30823647f7d86a0380a2ff62e"><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#ac56739a30823647f7d86a0380a2ff62e">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>
3089<tr class="memdesc:ac56739a30823647f7d86a0380a2ff62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#ac56739a30823647f7d86a0380a2ff62e">More...</a><br /></td></tr>
3090<tr class="separator:ac56739a30823647f7d86a0380a2ff62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003091<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3092<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 +00003093<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 +01003094<tr class="separator:a8c35748731709927597cb5a2c227e682"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003095<tr class="memitem:a21c3e11887f3acf9284ca763372c7da0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3096<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>
3097<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>
3098<tr class="separator:a21c3e11887f3acf9284ca763372c7da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003099<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>
3100<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>
3101<tr class="separator:a5045aaec85553032a782c44ab8d26341"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003102<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>
3103<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>
3104<tr class="separator:a47be6fa38308d0003c25b60b7dbc45ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003105<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>
3106<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>
3107<tr class="separator:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003108<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 +01003109<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 +01003110<tr class="separator:a9d1a839c51134b2ae171a2264c541b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3111<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 +01003112<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 +01003113<tr class="separator:a8076ba239b6681067b6cfea7f773a39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3114<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 +01003115<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 +01003116<tr class="separator:ad19446be52c2c162fa678b9ae236f445"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003117<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>
3118<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>
3119<tr class="separator:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003120<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 +01003121<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 +00003122<tr class="separator:a75509469ec2689ec143f4a37bbcb4437"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003123<tr class="memitem:a45509a321422cd1542958b5c33021bda"><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#a45509a321422cd1542958b5c33021bda">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>
3124<tr class="memdesc:a45509a321422cd1542958b5c33021bda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#a45509a321422cd1542958b5c33021bda">More...</a><br /></td></tr>
3125<tr class="separator:a45509a321422cd1542958b5c33021bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003126<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 +00003127<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 +01003128<tr class="separator:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3129<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 +00003130<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 +01003131<tr class="separator:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003132<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>
3133<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>
3134<tr class="separator:a46e938020a3ac8c926d0590b7fe957db"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003135<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>
3136<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>
3137<tr class="separator:ae76431f34048289454a9cb6dc66d7c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3138<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>
3139<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>
3140<tr class="separator:a3b0c016b53e97663b39c2f3875f46c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003141<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 +00003142<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 +00003143<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3144<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 +00003145<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 +00003146<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003147<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>
3148<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>
3149<tr class="separator:a5e28a3911204ac952601f512c82b48f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3150<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>
3151<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>
3152<tr class="separator:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003153<tr class="memitem:a695a8105065167f7e4596d31f23a3573"><td class="memTemplParams" colspan="2">template&lt;bool is_bounded_relu&gt; </td></tr>
3154<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>
3155<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>
3156<tr class="separator:a695a8105065167f7e4596d31f23a3573"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003157<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 +01003158<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 +00003159<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003160<tr class="memitem:aa1d4cf707dec05e3ff1d63d4ce8065ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa1d4cf707dec05e3ff1d63d4ce8065ca">colorconvert_rgb_to_u8</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>
3161<tr class="memdesc:aa1d4cf707dec05e3ff1d63d4ce8065ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGB to U8. <a href="#aa1d4cf707dec05e3ff1d63d4ce8065ca">More...</a><br /></td></tr>
3162<tr class="separator:aa1d4cf707dec05e3ff1d63d4ce8065ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003163<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 +01003164<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 +00003165<tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
3166<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template&lt;bool yuyv, bool alpha&gt; </td></tr>
3167<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 +01003168<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 +00003169<tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3170<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template&lt;bool uv, bool alpha&gt; </td></tr>
3171<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 +01003172<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 +00003173<tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2">&#160;</td></tr>
3174<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3175<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 +01003176<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 +00003177<tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2">&#160;</td></tr>
3178<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
3179<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 +01003180<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 +00003181<tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3182<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 +01003183<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 +00003184<tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3185<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
3186<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 +01003187<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 +00003188<tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2">&#160;</td></tr>
3189<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
3190<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 +01003191<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 +00003192<tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
3193<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
3194<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 +01003195<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 +00003196<tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3197<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 +01003198<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 +00003199<tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3200<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3201<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 +01003202<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 +00003203<tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3204<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3205<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 +01003206<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 +00003207<tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2">&#160;</td></tr>
3208<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3209<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 +01003210<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 +00003211<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003212<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>
3213<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>
3214<tr class="separator:ace593813d742d127296b09fa8ab3f85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3215<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>
3216<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>
3217<tr class="separator:af7a0f3e622aa4bc8c6077d2262a04e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3218<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>
3219<tr class="memdesc:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#afc415e7fc5e633a0b85b08b2bba5b5cf">More...</a><br /></td></tr>
3220<tr class="separator:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3221<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>
3222<tr class="memdesc:ab8970d7aed07d8649f5e3088455948b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#ab8970d7aed07d8649f5e3088455948b8">More...</a><br /></td></tr>
3223<tr class="separator:ab8970d7aed07d8649f5e3088455948b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3224<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>
3225<tr class="memdesc:acc6fd1bcd12ef1141e15401a04d31187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#acc6fd1bcd12ef1141e15401a04d31187">More...</a><br /></td></tr>
3226<tr class="separator:acc6fd1bcd12ef1141e15401a04d31187"><td class="memSeparator" colspan="2">&#160;</td></tr>
3227<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>
3228<tr class="memdesc:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a2e0f2412b4d1302272d1aeb85d21ab25">More...</a><br /></td></tr>
3229<tr class="separator:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="memSeparator" colspan="2">&#160;</td></tr>
3230<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>
3231<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>
3232<tr class="separator:a0c10bb00a86edd8d0cd4c33b494f6cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3233<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>
3234<tr class="memdesc:ab55486f1153a4c5f507d4923b59fc6a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#ab55486f1153a4c5f507d4923b59fc6a0">More...</a><br /></td></tr>
3235<tr class="separator:ab55486f1153a4c5f507d4923b59fc6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3236<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>
3237<tr class="memdesc:a1d090b80b655e7f8fd8977bb93808b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm. <a href="#a1d090b80b655e7f8fd8977bb93808b04">More...</a><br /></td></tr>
3238<tr class="separator:a1d090b80b655e7f8fd8977bb93808b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
3239<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>
3240<tr class="memdesc:a3e59419da344d02daca9c5b274a1da45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a3e59419da344d02daca9c5b274a1da45">More...</a><br /></td></tr>
3241<tr class="separator:a3e59419da344d02daca9c5b274a1da45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3242<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>
3243<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>
3244<tr class="separator:aa6465367a67af2bae4ca46750231dae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003245<tr class="memitem:aaae2b6b1c3f4404121346a4c27b22647"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">round</a> (float x, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
3246<tr class="memdesc:aaae2b6b1c3f4404121346a4c27b22647"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a rounded value of x. <a href="#aaae2b6b1c3f4404121346a4c27b22647">More...</a><br /></td></tr>
3247<tr class="separator:aaae2b6b1c3f4404121346a4c27b22647"><td class="memSeparator" colspan="2">&#160;</td></tr>
3248<tr class="memitem:acac1575c0edd329ceb4a54d9fe8dcb08"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
3249<tr class="memitem:acac1575c0edd329ceb4a54d9fe8dcb08"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acac1575c0edd329ceb4a54d9fe8dcb08">DIV_CEIL</a> (S val, T m) -&gt; decltype((val+m - 1)/m)</td></tr>
3250<tr class="memdesc:acac1575c0edd329ceb4a54d9fe8dcb08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#acac1575c0edd329ceb4a54d9fe8dcb08">More...</a><br /></td></tr>
3251<tr class="separator:acac1575c0edd329ceb4a54d9fe8dcb08"><td class="memSeparator" colspan="2">&#160;</td></tr>
3252<tr class="memitem:ab237a0a375cf382d52b61653248d3d4a"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
3253<tr class="memitem:ab237a0a375cf382d52b61653248d3d4a"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a> (S value, T divisor) -&gt; decltype(((value+divisor - 1)/divisor) *divisor)</td></tr>
3254<tr class="memdesc:ab237a0a375cf382d52b61653248d3d4a"><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="#ab237a0a375cf382d52b61653248d3d4a">More...</a><br /></td></tr>
3255<tr class="separator:ab237a0a375cf382d52b61653248d3d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3256<tr class="memitem:a23062881efd3855d61bae58f330c97db"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
3257<tr class="memitem:a23062881efd3855d61bae58f330c97db"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a23062881efd3855d61bae58f330c97db">floor_to_multiple</a> (S value, T divisor) -&gt; decltype((value/divisor) *divisor)</td></tr>
3258<tr class="memdesc:a23062881efd3855d61bae58f330c97db"><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="#a23062881efd3855d61bae58f330c97db">More...</a><br /></td></tr>
3259<tr class="separator:a23062881efd3855d61bae58f330c97db"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003260<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00003261<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml" title="Copyright (c) 2017-2018 ARM Limited. ">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003262<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003263<tr class="memitem:ae0d288429eb20baf6da6109f3a21e6bb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae0d288429eb20baf6da6109f3a21e6bb">read_file</a> (const std::string &amp;filename, bool binary)</td></tr>
3264<tr class="memdesc:ae0d288429eb20baf6da6109f3a21e6bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an entire file in memory. <a href="#ae0d288429eb20baf6da6109f3a21e6bb">More...</a><br /></td></tr>
3265<tr class="separator:ae0d288429eb20baf6da6109f3a21e6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003266<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 +00003267<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 +00003268<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
3269<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 +00003270<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 +00003271<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3272<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 +00003273<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 +00003274<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3275<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 +00003276<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 +00003277<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
3278<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 +00003279<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 +00003280<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003281<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>
3282<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>
3283<tr class="separator:afab149f8d8b0f6405303ee8056fa77d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003284<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 +00003285<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 +00003286<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3287<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 +00003288<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 +00003289<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003290<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>
3291<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>
3292<tr class="separator:a5e4254e9c71fffafb79b99d972df8f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003293<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>
3294<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>
3295<tr class="separator:aa2f22cc01532e0236e438324310fdb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
3296<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>
3297<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>
3298<tr class="separator:a95358b677c5c17f5cc1e369e4a27e2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003299<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 +00003300<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 +00003301<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3302<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 +00003303<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 +00003304<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003305<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>
3306<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>
3307<tr class="separator:add7f7487c235331a6518dd16ad1e3b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
3308<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>
3309<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>
3310<tr class="separator:a9d714e1b7d9d7818309138b7d830ebcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003311<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 +00003312<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 +00003313<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003314<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 +00003315<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 +00003316<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003317<tr class="memitem:a60e358f879bf4ca86ad938d1f1ef9a64"><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#a60e358f879bf4ca86ad938d1f1ef9a64">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>
3318<tr class="memdesc:a60e358f879bf4ca86ad938d1f1ef9a64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate padding requirements in case of SAME padding. <a href="#a60e358f879bf4ca86ad938d1f1ef9a64">More...</a><br /></td></tr>
3319<tr class="separator:a60e358f879bf4ca86ad938d1f1ef9a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
3320<tr class="memitem:a49d307dcc8f16084a061e1b6e8140eb7"><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#a49d307dcc8f16084a061e1b6e8140eb7">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 stride_x, unsigned int stride_y)</td></tr>
3321<tr class="memdesc:a49d307dcc8f16084a061e1b6e8140eb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a49d307dcc8f16084a061e1b6e8140eb7">More...</a><br /></td></tr>
3322<tr class="separator:a49d307dcc8f16084a061e1b6e8140eb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3323<tr class="memitem:a546c6bed3c307414e8d0934bc13259e5"><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#a546c6bed3c307414e8d0934bc13259e5">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>
3324<tr class="memdesc:a546c6bed3c307414e8d0934bc13259e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#a546c6bed3c307414e8d0934bc13259e5">More...</a><br /></td></tr>
3325<tr class="separator:a546c6bed3c307414e8d0934bc13259e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3326<tr class="memitem:a8b82da7b5e0f6192f415ac347c9e0555"><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#a8b82da7b5e0f6192f415ac347c9e0555">string_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
3327<tr class="memdesc:a8b82da7b5e0f6192f415ac347c9e0555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a tensor format into a string. <a href="#a8b82da7b5e0f6192f415ac347c9e0555">More...</a><br /></td></tr>
3328<tr class="separator:a8b82da7b5e0f6192f415ac347c9e0555"><td class="memSeparator" colspan="2">&#160;</td></tr>
3329<tr class="memitem:af0dfcd19fb6510cd3c303db6c4583ee6"><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#af0dfcd19fb6510cd3c303db6c4583ee6">string_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
3330<tr class="memdesc:af0dfcd19fb6510cd3c303db6c4583ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a channel identity into a string. <a href="#af0dfcd19fb6510cd3c303db6c4583ee6">More...</a><br /></td></tr>
3331<tr class="separator:af0dfcd19fb6510cd3c303db6c4583ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3332<tr class="memitem:a56b9e25c2e8731ca5488e7b3ccd66f58"><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#a56b9e25c2e8731ca5488e7b3ccd66f58">string_from_data_layout</a> (<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dl)</td></tr>
3333<tr class="memdesc:a56b9e25c2e8731ca5488e7b3ccd66f58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data layout identity into a string. <a href="#a56b9e25c2e8731ca5488e7b3ccd66f58">More...</a><br /></td></tr>
3334<tr class="separator:a56b9e25c2e8731ca5488e7b3ccd66f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
3335<tr class="memitem:a142b55a483cadf4e1068a1a09a55e8e9"><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#a142b55a483cadf4e1068a1a09a55e8e9">string_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
3336<tr class="memdesc:a142b55a483cadf4e1068a1a09a55e8e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data type identity into a string. <a href="#a142b55a483cadf4e1068a1a09a55e8e9">More...</a><br /></td></tr>
3337<tr class="separator:a142b55a483cadf4e1068a1a09a55e8e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3338<tr class="memitem:a067481a9a245a2ee831a650e72a377ce"><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#a067481a9a245a2ee831a650e72a377ce">string_from_matrix_pattern</a> (<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> pattern)</td></tr>
3339<tr class="memdesc:a067481a9a245a2ee831a650e72a377ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a067481a9a245a2ee831a650e72a377ce">More...</a><br /></td></tr>
3340<tr class="separator:a067481a9a245a2ee831a650e72a377ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
3341<tr class="memitem:a635f1895d94050329b7da12850d1a056"><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#a635f1895d94050329b7da12850d1a056">string_from_activation_func</a> (<a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> act)</td></tr>
3342<tr class="memdesc:a635f1895d94050329b7da12850d1a056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given activation function to a string. <a href="#a635f1895d94050329b7da12850d1a056">More...</a><br /></td></tr>
3343<tr class="separator:a635f1895d94050329b7da12850d1a056"><td class="memSeparator" colspan="2">&#160;</td></tr>
3344<tr class="memitem:a99248d472f05dbf03ac613620f5acbbb"><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#a99248d472f05dbf03ac613620f5acbbb">string_from_non_linear_filter_function</a> (<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> function)</td></tr>
3345<tr class="memdesc:a99248d472f05dbf03ac613620f5acbbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a99248d472f05dbf03ac613620f5acbbb">More...</a><br /></td></tr>
3346<tr class="separator:a99248d472f05dbf03ac613620f5acbbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3347<tr class="memitem:a3e4a3ad379526db61e1ebf469b455f83"><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#a3e4a3ad379526db61e1ebf469b455f83">string_from_interpolation_policy</a> (<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy)</td></tr>
3348<tr class="memdesc:a3e4a3ad379526db61e1ebf469b455f83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#a3e4a3ad379526db61e1ebf469b455f83">More...</a><br /></td></tr>
3349<tr class="separator:a3e4a3ad379526db61e1ebf469b455f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
3350<tr class="memitem:ae0204b49ec236bbaedb1cf96def276d4"><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#ae0204b49ec236bbaedb1cf96def276d4">string_from_border_mode</a> (<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> border_mode)</td></tr>
3351<tr class="memdesc:ae0204b49ec236bbaedb1cf96def276d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#ae0204b49ec236bbaedb1cf96def276d4">More...</a><br /></td></tr>
3352<tr class="separator:ae0204b49ec236bbaedb1cf96def276d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3353<tr class="memitem:a0569839ee85ad0e35edaaf3b4c80d706"><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#a0569839ee85ad0e35edaaf3b4c80d706">string_from_norm_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> type)</td></tr>
3354<tr class="memdesc:a0569839ee85ad0e35edaaf3b4c80d706"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given normalization type to a string. <a href="#a0569839ee85ad0e35edaaf3b4c80d706">More...</a><br /></td></tr>
3355<tr class="separator:a0569839ee85ad0e35edaaf3b4c80d706"><td class="memSeparator" colspan="2">&#160;</td></tr>
3356<tr class="memitem:a1040394085749e4d02a0d4350493ec94"><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#a1040394085749e4d02a0d4350493ec94">string_from_pooling_type</a> (<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> type)</td></tr>
3357<tr class="memdesc:a1040394085749e4d02a0d4350493ec94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given pooling type to a string. <a href="#a1040394085749e4d02a0d4350493ec94">More...</a><br /></td></tr>
3358<tr class="separator:a1040394085749e4d02a0d4350493ec94"><td class="memSeparator" colspan="2">&#160;</td></tr>
3359<tr class="memitem:a291164a04581bf953aa65ae87cc201a2"><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#a291164a04581bf953aa65ae87cc201a2">string_from_gemmlowp_output_stage</a> (<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">GEMMLowpOutputStageType</a> output_stage)</td></tr>
3360<tr class="memdesc:a291164a04581bf953aa65ae87cc201a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given GEMMLowp output stage to a string. <a href="#a291164a04581bf953aa65ae87cc201a2">More...</a><br /></td></tr>
3361<tr class="separator:a291164a04581bf953aa65ae87cc201a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3362<tr class="memitem:ad6eaf2181f8a8c418acaf3af76239997"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad6eaf2181f8a8c418acaf3af76239997">string_from_pixel_value</a> (const <a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> &amp;value, const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
3363<tr class="memdesc:ad6eaf2181f8a8c418acaf3af76239997"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> to a string, represented through the specific data type. <a href="#ad6eaf2181f8a8c418acaf3af76239997">More...</a><br /></td></tr>
3364<tr class="separator:ad6eaf2181f8a8c418acaf3af76239997"><td class="memSeparator" colspan="2">&#160;</td></tr>
3365<tr class="memitem:a0a7bb17a0a0414a7162f635776a02eb5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0a7bb17a0a0414a7162f635776a02eb5">lower_string</a> (const std::string &amp;val)</td></tr>
3366<tr class="memdesc:a0a7bb17a0a0414a7162f635776a02eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower a given string. <a href="#a0a7bb17a0a0414a7162f635776a02eb5">More...</a><br /></td></tr>
3367<tr class="separator:a0a7bb17a0a0414a7162f635776a02eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003368<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 +00003369<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 +00003370<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003371<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>
3372<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>
3373<tr class="separator:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003374<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>
3375<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>
3376<tr class="separator:a14f46283f316e7f0fad301d5c1507e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003377<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 +00003378<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 +01003379<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003380<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3381<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 +00003382<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 +01003383<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
3384<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3385<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 +00003386<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 +01003387<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003388<tr class="memitem:ab345de887f15705698d993b97d848bdc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab345de887f15705698d993b97d848bdc">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>
3389<tr class="memdesc:ab345de887f15705698d993b97d848bdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#ab345de887f15705698d993b97d848bdc">More...</a><br /></td></tr>
3390<tr class="separator:ab345de887f15705698d993b97d848bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
3391<tr class="memitem:adfbf24db2a651269a83f7e49e2b86850"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adfbf24db2a651269a83f7e49e2b86850">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>
3392<tr class="memdesc:adfbf24db2a651269a83f7e49e2b86850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#adfbf24db2a651269a83f7e49e2b86850">More...</a><br /></td></tr>
3393<tr class="separator:adfbf24db2a651269a83f7e49e2b86850"><td class="memSeparator" colspan="2">&#160;</td></tr>
3394<tr class="memitem:a069d7a20d1a7d62042f23039b356113b"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3395<tr class="memitem:a069d7a20d1a7d62042f23039b356113b"><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#a069d7a20d1a7d62042f23039b356113b">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &amp;&amp;... pointers)</td></tr>
3396<tr class="memdesc:a069d7a20d1a7d62042f23039b356113b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an error if one of the pointers is a nullptr. <a href="#a069d7a20d1a7d62042f23039b356113b">More...</a><br /></td></tr>
3397<tr class="separator:a069d7a20d1a7d62042f23039b356113b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3398<tr class="memitem:ad7f5b38e9d5391afc4a5ce5702e7379b"><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#ad7f5b38e9d5391afc4a5ce5702e7379b">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>
3399<tr class="memdesc:ad7f5b38e9d5391afc4a5ce5702e7379b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed window is invalid. <a href="#ad7f5b38e9d5391afc4a5ce5702e7379b">More...</a><br /></td></tr>
3400<tr class="separator:ad7f5b38e9d5391afc4a5ce5702e7379b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3401<tr class="memitem:ae93ff1ca47057b95d0c6fd0d287253a8"><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#ae93ff1ca47057b95d0c6fd0d287253a8">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>
3402<tr class="memdesc:ae93ff1ca47057b95d0c6fd0d287253a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed subwindow is invalid. <a href="#ae93ff1ca47057b95d0c6fd0d287253a8">More...</a><br /></td></tr>
3403<tr class="separator:ae93ff1ca47057b95d0c6fd0d287253a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3404<tr class="memitem:a4f63a617a4897663b386ba5e1f5cb675"><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#a4f63a617a4897663b386ba5e1f5cb675">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>
3405<tr class="memdesc:a4f63a617a4897663b386ba5e1f5cb675"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the window can't be collapsed at the given dimension. <a href="#a4f63a617a4897663b386ba5e1f5cb675">More...</a><br /></td></tr>
3406<tr class="separator:a4f63a617a4897663b386ba5e1f5cb675"><td class="memSeparator" colspan="2">&#160;</td></tr>
3407<tr class="memitem:a3c62cc8d5ee934d42c115c9315d66c13"><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#a3c62cc8d5ee934d42c115c9315d66c13">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>
3408<tr class="memdesc:a3c62cc8d5ee934d42c115c9315d66c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed coordinates have too many dimensions. <a href="#a3c62cc8d5ee934d42c115c9315d66c13">More...</a><br /></td></tr>
3409<tr class="separator:a3c62cc8d5ee934d42c115c9315d66c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
3410<tr class="memitem:a7d65985a30fc1229047b7db32caaab43"><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#a7d65985a30fc1229047b7db32caaab43">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>
3411<tr class="memdesc:a7d65985a30fc1229047b7db32caaab43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed window has too many dimensions. <a href="#a7d65985a30fc1229047b7db32caaab43">More...</a><br /></td></tr>
3412<tr class="separator:a7d65985a30fc1229047b7db32caaab43"><td class="memSeparator" colspan="2">&#160;</td></tr>
3413<tr class="memitem:a632c1b33a482f7126de4aca221542b64"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3414<tr class="memitem:a632c1b33a482f7126de4aca221542b64"><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#a632c1b33a482f7126de4aca221542b64">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>
3415<tr class="memdesc:a632c1b33a482f7126de4aca221542b64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed dimension objects differ. <a href="#a632c1b33a482f7126de4aca221542b64">More...</a><br /></td></tr>
3416<tr class="separator:a632c1b33a482f7126de4aca221542b64"><td class="memSeparator" colspan="2">&#160;</td></tr>
3417<tr class="memitem:aa8bcb895249c9b0207df5d6512433aab"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3418<tr class="memitem:aa8bcb895249c9b0207df5d6512433aab"><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#aa8bcb895249c9b0207df5d6512433aab">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>
3419<tr class="memdesc:aa8bcb895249c9b0207df5d6512433aab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor objects are not even. <a href="#aa8bcb895249c9b0207df5d6512433aab">More...</a><br /></td></tr>
3420<tr class="separator:aa8bcb895249c9b0207df5d6512433aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
3421<tr class="memitem:a5865def3a35885dda73dd5f4d555d11c"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3422<tr class="memitem:a5865def3a35885dda73dd5f4d555d11c"><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#a5865def3a35885dda73dd5f4d555d11c">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>
3423<tr class="memdesc:a5865def3a35885dda73dd5f4d555d11c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor objects are not sub-sampled. <a href="#a5865def3a35885dda73dd5f4d555d11c">More...</a><br /></td></tr>
3424<tr class="separator:a5865def3a35885dda73dd5f4d555d11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3425<tr class="memitem:a900072ec18ac254db40901425e2b35b2"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3426<tr class="memitem:a900072ec18ac254db40901425e2b35b2"><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#a900072ec18ac254db40901425e2b35b2">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>
3427<tr class="memdesc:a900072ec18ac254db40901425e2b35b2"><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="#a900072ec18ac254db40901425e2b35b2">More...</a><br /></td></tr>
3428<tr class="separator:a900072ec18ac254db40901425e2b35b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3429<tr class="memitem:a196a1a4faf1a8893963fd89d7efaf5d9"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3430<tr class="memitem:a196a1a4faf1a8893963fd89d7efaf5d9"><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#a196a1a4faf1a8893963fd89d7efaf5d9">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>
3431<tr class="memdesc:a196a1a4faf1a8893963fd89d7efaf5d9"><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="#a196a1a4faf1a8893963fd89d7efaf5d9">More...</a><br /></td></tr>
3432<tr class="separator:a196a1a4faf1a8893963fd89d7efaf5d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3433<tr class="memitem:a8f08e05970c101f7a9c852dc036f5ffb"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3434<tr class="memitem:a8f08e05970c101f7a9c852dc036f5ffb"><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#a8f08e05970c101f7a9c852dc036f5ffb">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>
3435<tr class="memdesc:a8f08e05970c101f7a9c852dc036f5ffb"><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="#a8f08e05970c101f7a9c852dc036f5ffb">More...</a><br /></td></tr>
3436<tr class="separator:a8f08e05970c101f7a9c852dc036f5ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3437<tr class="memitem:a7a314d37a14fb002f52a148122238499"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3438<tr class="memitem:a7a314d37a14fb002f52a148122238499"><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#a7a314d37a14fb002f52a148122238499">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>
3439<tr class="memdesc:a7a314d37a14fb002f52a148122238499"><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="#a7a314d37a14fb002f52a148122238499">More...</a><br /></td></tr>
3440<tr class="separator:a7a314d37a14fb002f52a148122238499"><td class="memSeparator" colspan="2">&#160;</td></tr>
3441<tr class="memitem:a8355d6db4cebee2724bf4463076526c6"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3442<tr class="memitem:a8355d6db4cebee2724bf4463076526c6"><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#a8355d6db4cebee2724bf4463076526c6">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>
3443<tr class="memdesc:a8355d6db4cebee2724bf4463076526c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different data layouts. <a href="#a8355d6db4cebee2724bf4463076526c6">More...</a><br /></td></tr>
3444<tr class="separator:a8355d6db4cebee2724bf4463076526c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3445<tr class="memitem:ad6e5ea4c65e9a0e7853ce314024c955d"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3446<tr class="memitem:ad6e5ea4c65e9a0e7853ce314024c955d"><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#ad6e5ea4c65e9a0e7853ce314024c955d">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>
3447<tr class="memdesc:ad6e5ea4c65e9a0e7853ce314024c955d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensors have different data layouts. <a href="#ad6e5ea4c65e9a0e7853ce314024c955d">More...</a><br /></td></tr>
3448<tr class="separator:ad6e5ea4c65e9a0e7853ce314024c955d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3449<tr class="memitem:a85c38583df1a7998d58c51f7c3d4b354"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3450<tr class="memitem:a85c38583df1a7998d58c51f7c3d4b354"><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#a85c38583df1a7998d58c51f7c3d4b354">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>
3451<tr class="memdesc:a85c38583df1a7998d58c51f7c3d4b354"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensor infos have different data types. <a href="#a85c38583df1a7998d58c51f7c3d4b354">More...</a><br /></td></tr>
3452<tr class="separator:a85c38583df1a7998d58c51f7c3d4b354"><td class="memSeparator" colspan="2">&#160;</td></tr>
3453<tr class="memitem:aa8b68ddd24c352a4cdd4fb1eea263429"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3454<tr class="memitem:aa8b68ddd24c352a4cdd4fb1eea263429"><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#aa8b68ddd24c352a4cdd4fb1eea263429">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>
3455<tr class="memdesc:aa8b68ddd24c352a4cdd4fb1eea263429"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different data types. <a href="#aa8b68ddd24c352a4cdd4fb1eea263429">More...</a><br /></td></tr>
3456<tr class="separator:aa8b68ddd24c352a4cdd4fb1eea263429"><td class="memSeparator" colspan="2">&#160;</td></tr>
3457<tr class="memitem:a49e1fb8719a6e3b4db298796bdeac758"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3458<tr class="memitem:a49e1fb8719a6e3b4db298796bdeac758"><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#a49e1fb8719a6e3b4db298796bdeac758">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>
3459<tr class="memdesc:a49e1fb8719a6e3b4db298796bdeac758"><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="#a49e1fb8719a6e3b4db298796bdeac758">More...</a><br /></td></tr>
3460<tr class="separator:a49e1fb8719a6e3b4db298796bdeac758"><td class="memSeparator" colspan="2">&#160;</td></tr>
3461<tr class="memitem:a3ba911901c6a47649cba6884e0f43a18"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3462<tr class="memitem:a3ba911901c6a47649cba6884e0f43a18"><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#a3ba911901c6a47649cba6884e0f43a18">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>
3463<tr class="memdesc:a3ba911901c6a47649cba6884e0f43a18"><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="#a3ba911901c6a47649cba6884e0f43a18">More...</a><br /></td></tr>
3464<tr class="separator:a3ba911901c6a47649cba6884e0f43a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
3465<tr class="memitem:a8a09f045f83a973807cbfdd3083732ef"><td class="memTemplParams" colspan="2">template&lt;typename T , typename F , typename... Fs&gt; </td></tr>
3466<tr class="memitem:a8a09f045f83a973807cbfdd3083732ef"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a09f045f83a973807cbfdd3083732ef">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>
3467<tr class="memdesc:a8a09f045f83a973807cbfdd3083732ef"><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="#a8a09f045f83a973807cbfdd3083732ef">More...</a><br /></td></tr>
3468<tr class="separator:a8a09f045f83a973807cbfdd3083732ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
3469<tr class="memitem:abb2e6a7590121c1c9139bdb14558f20a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3470<tr class="memitem:abb2e6a7590121c1c9139bdb14558f20a"><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#abb2e6a7590121c1c9139bdb14558f20a">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>
3471<tr class="memdesc:abb2e6a7590121c1c9139bdb14558f20a"><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="#abb2e6a7590121c1c9139bdb14558f20a">More...</a><br /></td></tr>
3472<tr class="separator:abb2e6a7590121c1c9139bdb14558f20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3473<tr class="memitem:ae8dfd7ddb80f1bd4042a0409d56cc72a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3474<tr class="memitem:ae8dfd7ddb80f1bd4042a0409d56cc72a"><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#ae8dfd7ddb80f1bd4042a0409d56cc72a">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>
3475<tr class="memdesc:ae8dfd7ddb80f1bd4042a0409d56cc72a"><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="#ae8dfd7ddb80f1bd4042a0409d56cc72a">More...</a><br /></td></tr>
3476<tr class="separator:ae8dfd7ddb80f1bd4042a0409d56cc72a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3477<tr class="memitem:a4b97ba5512e8deb4a428515bc61c0c7a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3478<tr class="memitem:a4b97ba5512e8deb4a428515bc61c0c7a"><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#a4b97ba5512e8deb4a428515bc61c0c7a">error_on_data_layout_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;dl, Ts &amp;&amp;... dls)</td></tr>
3479<tr class="memdesc:a4b97ba5512e8deb4a428515bc61c0c7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data layout of the passed tensor info does not match any of the data layouts provided. <a href="#a4b97ba5512e8deb4a428515bc61c0c7a">More...</a><br /></td></tr>
3480<tr class="separator:a4b97ba5512e8deb4a428515bc61c0c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3481<tr class="memitem:aba935fe0dd1a33ed2525ace5b21e1a8a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3482<tr class="memitem:aba935fe0dd1a33ed2525ace5b21e1a8a"><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#aba935fe0dd1a33ed2525ace5b21e1a8a">error_on_data_layout_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;dl, Ts &amp;&amp;... dls)</td></tr>
3483<tr class="memdesc:aba935fe0dd1a33ed2525ace5b21e1a8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data layout of the passed tensor does not match any of the data layout provided. <a href="#aba935fe0dd1a33ed2525ace5b21e1a8a">More...</a><br /></td></tr>
3484<tr class="separator:aba935fe0dd1a33ed2525ace5b21e1a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3485<tr class="memitem:a2f061a50e9fd383396233a85234c1774"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3486<tr class="memitem:a2f061a50e9fd383396233a85234c1774"><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#a2f061a50e9fd383396233a85234c1774">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>
3487<tr class="memdesc:a2f061a50e9fd383396233a85234c1774"><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="#a2f061a50e9fd383396233a85234c1774">More...</a><br /></td></tr>
3488<tr class="separator:a2f061a50e9fd383396233a85234c1774"><td class="memSeparator" colspan="2">&#160;</td></tr>
3489<tr class="memitem:aa87a2bd032fb1e4406506f5bb2da3225"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3490<tr class="memitem:aa87a2bd032fb1e4406506f5bb2da3225"><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#aa87a2bd032fb1e4406506f5bb2da3225">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>
3491<tr class="memdesc:aa87a2bd032fb1e4406506f5bb2da3225"><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="#aa87a2bd032fb1e4406506f5bb2da3225">More...</a><br /></td></tr>
3492<tr class="separator:aa87a2bd032fb1e4406506f5bb2da3225"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003493<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>
3494<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>
3495<tr class="separator:a76433394f276fbc92390850a15bd2cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
3496<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>
3497<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>
3498<tr class="separator:aea2b331c31943c1f726c9f552348c89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003499<tr class="memitem:a398f32595ee55b858853d5bcdcacfef5"><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#a398f32595ee55b858853d5bcdcacfef5">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>
3500<tr class="memdesc:a398f32595ee55b858853d5bcdcacfef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor is not 2D. <a href="#a398f32595ee55b858853d5bcdcacfef5">More...</a><br /></td></tr>
3501<tr class="separator:a398f32595ee55b858853d5bcdcacfef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3502<tr class="memitem:aa394a6ffa74616f886c889f04883663d"><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#aa394a6ffa74616f886c889f04883663d">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>
3503<tr class="memdesc:aa394a6ffa74616f886c889f04883663d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor info is not 2D. <a href="#aa394a6ffa74616f886c889f04883663d">More...</a><br /></td></tr>
3504<tr class="separator:aa394a6ffa74616f886c889f04883663d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3505<tr class="memitem:a89059fcfb27bba71edffcc22c6e1a1a2"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3506<tr class="memitem:a89059fcfb27bba71edffcc22c6e1a1a2"><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#a89059fcfb27bba71edffcc22c6e1a1a2">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>
3507<tr class="memdesc:a89059fcfb27bba71edffcc22c6e1a1a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in channels. <a href="#a89059fcfb27bba71edffcc22c6e1a1a2">More...</a><br /></td></tr>
3508<tr class="separator:a89059fcfb27bba71edffcc22c6e1a1a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3509<tr class="memitem:a66876161b2add31c70efb9d1ba9423cb"><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#a66876161b2add31c70efb9d1ba9423cb">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>
3510<tr class="memdesc:a66876161b2add31c70efb9d1ba9423cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in format. <a href="#a66876161b2add31c70efb9d1ba9423cb">More...</a><br /></td></tr>
3511<tr class="separator:a66876161b2add31c70efb9d1ba9423cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3512<tr class="memitem:a689cede2a5855c731f7d69b487f30aaa"><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#a689cede2a5855c731f7d69b487f30aaa">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>
3513<tr class="memdesc:a689cede2a5855c731f7d69b487f30aaa"><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="#a689cede2a5855c731f7d69b487f30aaa">More...</a><br /></td></tr>
3514<tr class="separator:a689cede2a5855c731f7d69b487f30aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
3515<tr class="memitem:acd11fc94aa2828fee0715de0297eb306"><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#acd11fc94aa2828fee0715de0297eb306">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>
3516<tr class="memdesc:acd11fc94aa2828fee0715de0297eb306"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the kernel is not configured. <a href="#acd11fc94aa2828fee0715de0297eb306">More...</a><br /></td></tr>
3517<tr class="separator:acd11fc94aa2828fee0715de0297eb306"><td class="memSeparator" colspan="2">&#160;</td></tr>
3518<tr class="memitem:a9f83032f49a13db29baa1af1a62e5627"><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#a9f83032f49a13db29baa1af1a62e5627">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>
3519<tr class="memdesc:a9f83032f49a13db29baa1af1a62e5627"><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="#a9f83032f49a13db29baa1af1a62e5627">More...</a><br /></td></tr>
3520<tr class="separator:a9f83032f49a13db29baa1af1a62e5627"><td class="memSeparator" colspan="2">&#160;</td></tr>
3521<tr class="memitem:ac2ab765daf6f586ceaa12575743361e7"><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#ac2ab765daf6f586ceaa12575743361e7">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>
3522<tr class="memdesc:ac2ab765daf6f586ceaa12575743361e7"><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="#ac2ab765daf6f586ceaa12575743361e7">More...</a><br /></td></tr>
3523<tr class="separator:ac2ab765daf6f586ceaa12575743361e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3524<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="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003525<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>
3526<tr class="separator:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3527<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
3528<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>
3529<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>
3530<tr class="separator:aaf5f536bf7ec25ff83b912badcf61405"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003531<tr class="memitem:a307a55b07dc70dc9177ff26543b1c66f"><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#a307a55b07dc70dc9177ff26543b1c66f">data_type_from_name</a> (const std::string &amp;name)</td></tr>
3532<tr class="memdesc:a307a55b07dc70dc9177ff26543b1c66f"><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="#a307a55b07dc70dc9177ff26543b1c66f">More...</a><br /></td></tr>
3533<tr class="separator:a307a55b07dc70dc9177ff26543b1c66f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3534<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003535<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>
3536<tr class="separator:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003537<tr class="memitem:a834b76c7d21af898f39def3b787d7530"><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#a834b76c7d21af898f39def3b787d7530">data_layout_from_name</a> (const std::string &amp;name)</td></tr>
3538<tr class="memdesc:a834b76c7d21af898f39def3b787d7530"><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="#a834b76c7d21af898f39def3b787d7530">More...</a><br /></td></tr>
3539<tr class="separator:a834b76c7d21af898f39def3b787d7530"><td class="memSeparator" colspan="2">&#160;</td></tr>
3540<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003541<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>
3542<tr class="separator:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003543<tr class="memitem:a92d01d03db1530581737484c1290ca16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a92d01d03db1530581737484c1290ca16">get_cpu_configuration</a> (<a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;cpuinfo)</td></tr>
3544<tr class="memdesc:a92d01d03db1530581737484c1290ca16"><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="#a92d01d03db1530581737484c1290ca16">More...</a><br /></td></tr>
3545<tr class="separator:a92d01d03db1530581737484c1290ca16"><td class="memSeparator" colspan="2">&#160;</td></tr>
3546<tr class="memitem:a9a9fa44b29bc17746a0b486626a76e0a"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a9fa44b29bc17746a0b486626a76e0a">get_threads_hint</a> ()</td></tr>
3547<tr class="memdesc:a9a9fa44b29bc17746a0b486626a76e0a"><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="#a9a9fa44b29bc17746a0b486626a76e0a">More...</a><br /></td></tr>
3548<tr class="separator:a9a9fa44b29bc17746a0b486626a76e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3549<tr class="memitem:a192c7cf59b34ae925eb1c8c315a06225"><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#a192c7cf59b34ae925eb1c8c315a06225">string_from_scheduler_type</a> (<a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> t)</td></tr>
3550<tr class="memdesc:a192c7cf59b34ae925eb1c8c315a06225"><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="#a192c7cf59b34ae925eb1c8c315a06225">More...</a><br /></td></tr>
3551<tr class="separator:a192c7cf59b34ae925eb1c8c315a06225"><td class="memSeparator" colspan="2">&#160;</td></tr>
3552<tr class="memitem:ad1e1cc57e3e2ae0ea65d607f6d6312f8"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad1e1cc57e3e2ae0ea65d607f6d6312f8">FloatFlip</a> (float val)</td></tr>
3553<tr class="separator:ad1e1cc57e3e2ae0ea65d607f6d6312f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3554<tr class="memitem:a69c96727fe92b1ad1b07da3117c73c76"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a69c96727fe92b1ad1b07da3117c73c76">IFloatFlip</a> (int32_t val)</td></tr>
3555<tr class="separator:a69c96727fe92b1ad1b07da3117c73c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
3556<tr class="memitem:aff311815b306f7885265c103dc0344b9"><td class="memTemplParams" colspan="2">template&lt;bool is_bounded_relu&gt; </td></tr>
3557<tr class="memitem:aff311815b306f7885265c103dc0344b9"><td class="memTemplItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff311815b306f7885265c103dc0344b9">finalize_quantization</a> (int32x4_t in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int32x4_t result_offset_after_shift_s32, uint8_t min_u8, uint8_t max_u8)</td></tr>
3558<tr class="separator:aff311815b306f7885265c103dc0344b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3559<tr class="memitem:a40552ea65ee3fc6d7fa7f1fb17baebe7"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3560<tr class="memitem:a40552ea65ee3fc6d7fa7f1fb17baebe7"><td class="memTemplItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a40552ea65ee3fc6d7fa7f1fb17baebe7">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; vec)</td></tr>
3561<tr class="separator:a40552ea65ee3fc6d7fa7f1fb17baebe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3562<tr class="memitem:a5229f4c7a2c8d07ebc247c3e5075af2b"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3563<tr class="memitem:a5229f4c7a2c8d07ebc247c3e5075af2b"><td class="memTemplItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5229f4c7a2c8d07ebc247c3e5075af2b">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; vec)</td></tr>
3564<tr class="separator:a5229f4c7a2c8d07ebc247c3e5075af2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3565<tr class="memitem:a2cb9483082ea29427722db15d23ec130"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3566<tr class="memitem:a2cb9483082ea29427722db15d23ec130"><td class="memTemplItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2cb9483082ea29427722db15d23ec130">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; vec)</td></tr>
3567<tr class="separator:a2cb9483082ea29427722db15d23ec130"><td class="memSeparator" colspan="2">&#160;</td></tr>
3568<tr class="memitem:a46b08aeab78badc7365668e0051e7fac"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3569<tr class="memitem:a46b08aeab78badc7365668e0051e7fac"><td class="memTemplItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a46b08aeab78badc7365668e0051e7fac">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; vec)</td></tr>
3570<tr class="separator:a46b08aeab78badc7365668e0051e7fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
3571<tr class="memitem:aaa7aea48ed8a5c267d4631ad6884e0bd"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3572<tr class="memitem:aaa7aea48ed8a5c267d4631ad6884e0bd"><td class="memTemplItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa7aea48ed8a5c267d4631ad6884e0bd">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; vec)</td></tr>
3573<tr class="separator:aaa7aea48ed8a5c267d4631ad6884e0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3574<tr class="memitem:ab2aef7b4b81a6108c8d7a8f782340850"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3575<tr class="memitem:ab2aef7b4b81a6108c8d7a8f782340850"><td class="memTemplItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab2aef7b4b81a6108c8d7a8f782340850">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; vec)</td></tr>
3576<tr class="separator:ab2aef7b4b81a6108c8d7a8f782340850"><td class="memSeparator" colspan="2">&#160;</td></tr>
3577<tr class="memitem:a21a10c0d7629ac794f59a6e06dad8b7c"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3578<tr class="memitem:a21a10c0d7629ac794f59a6e06dad8b7c"><td class="memTemplItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21a10c0d7629ac794f59a6e06dad8b7c">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; vec)</td></tr>
3579<tr class="separator:a21a10c0d7629ac794f59a6e06dad8b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3580<tr class="memitem:aab831e66636598a49c321c248da55108"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3581<tr class="memitem:aab831e66636598a49c321c248da55108"><td class="memTemplItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab831e66636598a49c321c248da55108">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; vec)</td></tr>
3582<tr class="separator:aab831e66636598a49c321c248da55108"><td class="memSeparator" colspan="2">&#160;</td></tr>
3583<tr class="memitem:a1050dd97652f516c036f54173d3cce10"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3584<tr class="memitem:a1050dd97652f516c036f54173d3cce10"><td class="memTemplItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1050dd97652f516c036f54173d3cce10">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; vec)</td></tr>
3585<tr class="separator:a1050dd97652f516c036f54173d3cce10"><td class="memSeparator" colspan="2">&#160;</td></tr>
3586<tr class="memitem:a6e766d98a0e130be624d6dee74c8fb29"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3587<tr class="memitem:a6e766d98a0e130be624d6dee74c8fb29"><td class="memTemplItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e766d98a0e130be624d6dee74c8fb29">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; vec)</td></tr>
3588<tr class="separator:a6e766d98a0e130be624d6dee74c8fb29"><td class="memSeparator" colspan="2">&#160;</td></tr>
3589<tr class="memitem:adc187f0eff944013383bdc28e8d1e713"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3590<tr class="memitem:adc187f0eff944013383bdc28e8d1e713"><td class="memTemplItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc187f0eff944013383bdc28e8d1e713">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; vec)</td></tr>
3591<tr class="separator:adc187f0eff944013383bdc28e8d1e713"><td class="memSeparator" colspan="2">&#160;</td></tr>
3592<tr class="memitem:a61f87c089f50e7016ac74d79bbc417eb"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3593<tr class="memitem:a61f87c089f50e7016ac74d79bbc417eb"><td class="memTemplItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a61f87c089f50e7016ac74d79bbc417eb">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; vec)</td></tr>
3594<tr class="separator:a61f87c089f50e7016ac74d79bbc417eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3595<tr class="memitem:a696409f1f3c572c8a899605e36b87e9a"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3596<tr class="memitem:a696409f1f3c572c8a899605e36b87e9a"><td class="memTemplItemLeft" align="right" valign="top">float&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a696409f1f3c572c8a899605e36b87e9a">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; vec)</td></tr>
3597<tr class="separator:a696409f1f3c572c8a899605e36b87e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3598<tr class="memitem:a2b122d56b7bf307cf06ec05b4bdeea63"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3599<tr class="memitem:a2b122d56b7bf307cf06ec05b4bdeea63"><td class="memTemplItemLeft" align="right" valign="top">float&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2b122d56b7bf307cf06ec05b4bdeea63">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; vec)</td></tr>
3600<tr class="separator:a2b122d56b7bf307cf06ec05b4bdeea63"><td class="memSeparator" colspan="2">&#160;</td></tr>
3601<tr class="memitem:a45617be0c289f11c60f659f3123fb210"><td class="memTemplParams" colspan="2">template&lt;int lane&gt; </td></tr>
3602<tr class="memitem:a45617be0c289f11c60f659f3123fb210"><td class="memTemplItemLeft" align="right" valign="top">float&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45617be0c289f11c60f659f3123fb210">vget_lane</a> (float32x4x4_t vec)</td></tr>
3603<tr class="separator:a45617be0c289f11c60f659f3123fb210"><td class="memSeparator" colspan="2">&#160;</td></tr>
3604<tr class="memitem:af4b13d125dfe1bec25b8df8840c6dd8f"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
3605<tr class="memitem:af4b13d125dfe1bec25b8df8840c6dd8f"><td class="memTemplItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4b13d125dfe1bec25b8df8840c6dd8f">vec_size_of</a> (const V &amp;vec)</td></tr>
3606<tr class="separator:af4b13d125dfe1bec25b8df8840c6dd8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3607<tr class="memitem:a2603e5f72e3fa052025c189c1a6647ce"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
3608<tr class="memitem:a2603e5f72e3fa052025c189c1a6647ce"><td class="memTemplItemLeft" align="right" valign="top">V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">vdup_n</a> (<a class="el" href="namespacearm__compute.xhtml#a534a101b6176c3e065eba4b4cde7a40e">elem_type_t</a>&lt; V &gt; val)</td></tr>
3609<tr class="separator:a2603e5f72e3fa052025c189c1a6647ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
3610<tr class="memitem:a85d0b4103385d996d4014691d2df0cf1"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
3611<tr class="memitem:a85d0b4103385d996d4014691d2df0cf1"><td class="memTemplItemLeft" align="right" valign="top">V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">vld</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; <a class="el" href="namespacearm__compute.xhtml#a534a101b6176c3e065eba4b4cde7a40e">elem_type_t</a>&lt; V &gt;&gt; ptr)</td></tr>
3612<tr class="separator:a85d0b4103385d996d4014691d2df0cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3613<tr class="memitem:a671b1da70aa3efc02c508648ae2d81b5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3614<tr class="memitem:a671b1da70aa3efc02c508648ae2d81b5"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a671b1da70aa3efc02c508648ae2d81b5">sqadd</a> (T a, T b)</td></tr>
3615<tr class="separator:a671b1da70aa3efc02c508648ae2d81b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3616<tr class="memitem:a7462bb232b41864413a4d8603a660d16"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3617<tr class="memitem:a7462bb232b41864413a4d8603a660d16"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7462bb232b41864413a4d8603a660d16">sqsub</a> (T a, T b)</td></tr>
3618<tr class="separator:a7462bb232b41864413a4d8603a660d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
3619<tr class="memitem:a705ed42150ffbe645f7ba2fb5d0a5bb6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3620<tr class="memitem:a705ed42150ffbe645f7ba2fb5d0a5bb6"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a705ed42150ffbe645f7ba2fb5d0a5bb6">sqmul</a> (T a, T b)</td></tr>
3621<tr class="separator:a705ed42150ffbe645f7ba2fb5d0a5bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3622<tr class="memitem:a194e168c19bf049bd3e903552f112d5c"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3623<tr class="memitem:a194e168c19bf049bd3e903552f112d5c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a194e168c19bf049bd3e903552f112d5c">vdup_n&lt; vec_8_byte_t&lt; uint8_t &gt; &gt;</a> (uint8_t val)</td></tr>
3624<tr class="separator:a194e168c19bf049bd3e903552f112d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3625<tr class="memitem:a84aacbb969d72f3b89aa93cc87af9bdf"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3626<tr class="memitem:a84aacbb969d72f3b89aa93cc87af9bdf"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a84aacbb969d72f3b89aa93cc87af9bdf">vdup_n&lt; vec_16_byte_t&lt; uint8_t &gt; &gt;</a> (uint8_t val)</td></tr>
3627<tr class="separator:a84aacbb969d72f3b89aa93cc87af9bdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3628<tr class="memitem:abcfc5b1ed91557ba1b6edf2eae8533e7"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3629<tr class="memitem:abcfc5b1ed91557ba1b6edf2eae8533e7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abcfc5b1ed91557ba1b6edf2eae8533e7">vld&lt; vec_8_byte_t&lt; uint8_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint8_t &gt; ptr)</td></tr>
3630<tr class="separator:abcfc5b1ed91557ba1b6edf2eae8533e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3631<tr class="memitem:a70cff70817eb6a40e893331c4df276a5"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3632<tr class="memitem:a70cff70817eb6a40e893331c4df276a5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70cff70817eb6a40e893331c4df276a5">vld&lt; vec_16_byte_t&lt; uint8_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint8_t &gt; ptr)</td></tr>
3633<tr class="separator:a70cff70817eb6a40e893331c4df276a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3634<tr class="memitem:a3753b9d735032ba72e7df0c5cbba31a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3753b9d735032ba72e7df0c5cbba31a1">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint8_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; vec)</td></tr>
3635<tr class="separator:a3753b9d735032ba72e7df0c5cbba31a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3636<tr class="memitem:aa17a7667769390f153ad5289d5390341"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa17a7667769390f153ad5289d5390341">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint8_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; vec)</td></tr>
3637<tr class="separator:aa17a7667769390f153ad5289d5390341"><td class="memSeparator" colspan="2">&#160;</td></tr>
3638<tr class="memitem:a1cb1c90103d83ca052919e98dbaac553"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1cb1c90103d83ca052919e98dbaac553">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; b)</td></tr>
3639<tr class="separator:a1cb1c90103d83ca052919e98dbaac553"><td class="memSeparator" colspan="2">&#160;</td></tr>
3640<tr class="memitem:aae85042ef273ca700734604b5488f2ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae85042ef273ca700734604b5488f2ff">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; b)</td></tr>
3641<tr class="separator:aae85042ef273ca700734604b5488f2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
3642<tr class="memitem:a3bb60064e505cfd3a0d43528a3c1845d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3bb60064e505cfd3a0d43528a3c1845d">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; vec)</td></tr>
3643<tr class="separator:a3bb60064e505cfd3a0d43528a3c1845d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3644<tr class="memitem:af311129b4dccf2fbd9307a7d644876d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af311129b4dccf2fbd9307a7d644876d1">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; vec)</td></tr>
3645<tr class="separator:af311129b4dccf2fbd9307a7d644876d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3646<tr class="memitem:afbcedeccc32a67996ea90a0a97c94269"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3647<tr class="memitem:afbcedeccc32a67996ea90a0a97c94269"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afbcedeccc32a67996ea90a0a97c94269">vdup_n&lt; vec_8_byte_t&lt; int8_t &gt; &gt;</a> (int8_t val)</td></tr>
3648<tr class="separator:afbcedeccc32a67996ea90a0a97c94269"><td class="memSeparator" colspan="2">&#160;</td></tr>
3649<tr class="memitem:a3c5a58b994f82b7eb24e85803fdd08c1"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3650<tr class="memitem:a3c5a58b994f82b7eb24e85803fdd08c1"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c5a58b994f82b7eb24e85803fdd08c1">vdup_n&lt; vec_16_byte_t&lt; int8_t &gt; &gt;</a> (int8_t val)</td></tr>
3651<tr class="separator:a3c5a58b994f82b7eb24e85803fdd08c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3652<tr class="memitem:add42730b56d7b3614fc39f525eb55286"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3653<tr class="memitem:add42730b56d7b3614fc39f525eb55286"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add42730b56d7b3614fc39f525eb55286">vld&lt; vec_8_byte_t&lt; int8_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int8_t &gt; ptr)</td></tr>
3654<tr class="separator:add42730b56d7b3614fc39f525eb55286"><td class="memSeparator" colspan="2">&#160;</td></tr>
3655<tr class="memitem:a9d896907abfbde0613b952bb4db5897a"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3656<tr class="memitem:a9d896907abfbde0613b952bb4db5897a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d896907abfbde0613b952bb4db5897a">vld&lt; vec_16_byte_t&lt; int8_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int8_t &gt; ptr)</td></tr>
3657<tr class="separator:a9d896907abfbde0613b952bb4db5897a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3658<tr class="memitem:acec5b4ba08b0ab7d080e2177e4b3deb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acec5b4ba08b0ab7d080e2177e4b3deb1">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int8_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; vec)</td></tr>
3659<tr class="separator:acec5b4ba08b0ab7d080e2177e4b3deb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3660<tr class="memitem:ab2c29d96efc44a4163d8f594cd836d1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab2c29d96efc44a4163d8f594cd836d1e">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int8_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; vec)</td></tr>
3661<tr class="separator:ab2c29d96efc44a4163d8f594cd836d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3662<tr class="memitem:a2ee044b41b71a344cad69a08aecb1d5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ee044b41b71a344cad69a08aecb1d5f">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; b)</td></tr>
3663<tr class="separator:a2ee044b41b71a344cad69a08aecb1d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3664<tr class="memitem:a0d9a679f8dfa41f17d46f6c1e56ca82d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d9a679f8dfa41f17d46f6c1e56ca82d">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; b)</td></tr>
3665<tr class="separator:a0d9a679f8dfa41f17d46f6c1e56ca82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3666<tr class="memitem:a2a0a49e26931849079897f0a225589cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2a0a49e26931849079897f0a225589cb">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; vec)</td></tr>
3667<tr class="separator:a2a0a49e26931849079897f0a225589cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3668<tr class="memitem:abfb64320f5b05fc08dffafc2b039e559"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abfb64320f5b05fc08dffafc2b039e559">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; vec)</td></tr>
3669<tr class="separator:abfb64320f5b05fc08dffafc2b039e559"><td class="memSeparator" colspan="2">&#160;</td></tr>
3670<tr class="memitem:aca706ca8cd2fec97cf6b3ab747c40dc6"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3671<tr class="memitem:aca706ca8cd2fec97cf6b3ab747c40dc6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca706ca8cd2fec97cf6b3ab747c40dc6">vdup_n&lt; vec_8_byte_t&lt; uint16_t &gt; &gt;</a> (uint16_t val)</td></tr>
3672<tr class="separator:aca706ca8cd2fec97cf6b3ab747c40dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3673<tr class="memitem:a93020987fbede1b8da7db6a1a855ddd4"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3674<tr class="memitem:a93020987fbede1b8da7db6a1a855ddd4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a93020987fbede1b8da7db6a1a855ddd4">vdup_n&lt; vec_16_byte_t&lt; uint16_t &gt; &gt;</a> (uint16_t val)</td></tr>
3675<tr class="separator:a93020987fbede1b8da7db6a1a855ddd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3676<tr class="memitem:ab764431d90825796c5060d85810781fa"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3677<tr class="memitem:ab764431d90825796c5060d85810781fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab764431d90825796c5060d85810781fa">vld&lt; vec_8_byte_t&lt; uint16_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint16_t &gt; ptr)</td></tr>
3678<tr class="separator:ab764431d90825796c5060d85810781fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
3679<tr class="memitem:ad2174760efe31f80528b5a4cf8ebed66"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3680<tr class="memitem:ad2174760efe31f80528b5a4cf8ebed66"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad2174760efe31f80528b5a4cf8ebed66">vld&lt; vec_16_byte_t&lt; uint16_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint16_t &gt; ptr)</td></tr>
3681<tr class="separator:ad2174760efe31f80528b5a4cf8ebed66"><td class="memSeparator" colspan="2">&#160;</td></tr>
3682<tr class="memitem:a9893527df6922f85f0f3173142247ece"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9893527df6922f85f0f3173142247ece">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint16_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; vec)</td></tr>
3683<tr class="separator:a9893527df6922f85f0f3173142247ece"><td class="memSeparator" colspan="2">&#160;</td></tr>
3684<tr class="memitem:a090a9d8254580d7c22668e21e581d58e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a090a9d8254580d7c22668e21e581d58e">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint16_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; vec)</td></tr>
3685<tr class="separator:a090a9d8254580d7c22668e21e581d58e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3686<tr class="memitem:a7c4bfe1c9c07571952a81783fa8540de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7c4bfe1c9c07571952a81783fa8540de">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; b)</td></tr>
3687<tr class="separator:a7c4bfe1c9c07571952a81783fa8540de"><td class="memSeparator" colspan="2">&#160;</td></tr>
3688<tr class="memitem:a2bc9036a2d288d7a4ad2d015d91ba5d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2bc9036a2d288d7a4ad2d015d91ba5d9">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; b)</td></tr>
3689<tr class="separator:a2bc9036a2d288d7a4ad2d015d91ba5d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3690<tr class="memitem:a5b825f82ef9a09db968b003310b44030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b825f82ef9a09db968b003310b44030">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; vec)</td></tr>
3691<tr class="separator:a5b825f82ef9a09db968b003310b44030"><td class="memSeparator" colspan="2">&#160;</td></tr>
3692<tr class="memitem:aebe61fd1828294b9794b3c87174649b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aebe61fd1828294b9794b3c87174649b2">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; vec)</td></tr>
3693<tr class="separator:aebe61fd1828294b9794b3c87174649b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3694<tr class="memitem:a10a9088cc35ece085610063eec583ad1"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3695<tr class="memitem:a10a9088cc35ece085610063eec583ad1"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a10a9088cc35ece085610063eec583ad1">vdup_n&lt; vec_8_byte_t&lt; int16_t &gt; &gt;</a> (int16_t val)</td></tr>
3696<tr class="separator:a10a9088cc35ece085610063eec583ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3697<tr class="memitem:aa6ec87dc4f97241833eace4b1784cc50"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3698<tr class="memitem:aa6ec87dc4f97241833eace4b1784cc50"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa6ec87dc4f97241833eace4b1784cc50">vdup_n&lt; vec_16_byte_t&lt; int16_t &gt; &gt;</a> (int16_t val)</td></tr>
3699<tr class="separator:aa6ec87dc4f97241833eace4b1784cc50"><td class="memSeparator" colspan="2">&#160;</td></tr>
3700<tr class="memitem:a1b29ca880e2b7282c9318d6c36f07140"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3701<tr class="memitem:a1b29ca880e2b7282c9318d6c36f07140"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1b29ca880e2b7282c9318d6c36f07140">vld&lt; vec_8_byte_t&lt; int16_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int16_t &gt; ptr)</td></tr>
3702<tr class="separator:a1b29ca880e2b7282c9318d6c36f07140"><td class="memSeparator" colspan="2">&#160;</td></tr>
3703<tr class="memitem:afd4981f6532c3a76716e3053d119e269"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3704<tr class="memitem:afd4981f6532c3a76716e3053d119e269"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afd4981f6532c3a76716e3053d119e269">vld&lt; vec_16_byte_t&lt; int16_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int16_t &gt; ptr)</td></tr>
3705<tr class="separator:afd4981f6532c3a76716e3053d119e269"><td class="memSeparator" colspan="2">&#160;</td></tr>
3706<tr class="memitem:a7a7441e9c3870a817f9084697730a0e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7a7441e9c3870a817f9084697730a0e9">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int16_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; vec)</td></tr>
3707<tr class="separator:a7a7441e9c3870a817f9084697730a0e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3708<tr class="memitem:ac9aedf36525da0e2306db27867c2bb5d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac9aedf36525da0e2306db27867c2bb5d">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int16_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; vec)</td></tr>
3709<tr class="separator:ac9aedf36525da0e2306db27867c2bb5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3710<tr class="memitem:abe221c26fe4f91102c0f7b5e2336c070"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abe221c26fe4f91102c0f7b5e2336c070">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; b)</td></tr>
3711<tr class="separator:abe221c26fe4f91102c0f7b5e2336c070"><td class="memSeparator" colspan="2">&#160;</td></tr>
3712<tr class="memitem:ab831eb6268e8d3dcfd9ce6e1e7daf598"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab831eb6268e8d3dcfd9ce6e1e7daf598">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; b)</td></tr>
3713<tr class="separator:ab831eb6268e8d3dcfd9ce6e1e7daf598"><td class="memSeparator" colspan="2">&#160;</td></tr>
3714<tr class="memitem:a264ecd01ca0763d79aa4ad5515ce7b65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a264ecd01ca0763d79aa4ad5515ce7b65">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; vec)</td></tr>
3715<tr class="separator:a264ecd01ca0763d79aa4ad5515ce7b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
3716<tr class="memitem:afc14b8933176ce40c7b99a1ef0f6a062"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc14b8933176ce40c7b99a1ef0f6a062">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; vec)</td></tr>
3717<tr class="separator:afc14b8933176ce40c7b99a1ef0f6a062"><td class="memSeparator" colspan="2">&#160;</td></tr>
3718<tr class="memitem:af8c50d8dac4fe454183078d34515b50a"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3719<tr class="memitem:af8c50d8dac4fe454183078d34515b50a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af8c50d8dac4fe454183078d34515b50a">vdup_n&lt; vec_8_byte_t&lt; uint32_t &gt; &gt;</a> (uint32_t val)</td></tr>
3720<tr class="separator:af8c50d8dac4fe454183078d34515b50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3721<tr class="memitem:aacce75282b76aeb1eda5375b6dcef231"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3722<tr class="memitem:aacce75282b76aeb1eda5375b6dcef231"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aacce75282b76aeb1eda5375b6dcef231">vdup_n&lt; vec_16_byte_t&lt; uint32_t &gt; &gt;</a> (uint32_t val)</td></tr>
3723<tr class="separator:aacce75282b76aeb1eda5375b6dcef231"><td class="memSeparator" colspan="2">&#160;</td></tr>
3724<tr class="memitem:ac7a8e67b90d2c99626733ea9bdc60a1d"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3725<tr class="memitem:ac7a8e67b90d2c99626733ea9bdc60a1d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7a8e67b90d2c99626733ea9bdc60a1d">vld&lt; vec_8_byte_t&lt; uint32_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint32_t &gt; ptr)</td></tr>
3726<tr class="separator:ac7a8e67b90d2c99626733ea9bdc60a1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3727<tr class="memitem:a13a69ef04626a27771a6e19542cac767"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3728<tr class="memitem:a13a69ef04626a27771a6e19542cac767"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a13a69ef04626a27771a6e19542cac767">vld&lt; vec_16_byte_t&lt; uint32_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint32_t &gt; ptr)</td></tr>
3729<tr class="separator:a13a69ef04626a27771a6e19542cac767"><td class="memSeparator" colspan="2">&#160;</td></tr>
3730<tr class="memitem:aa1e4aafb14bd8eee38caa7ad5db69507"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa1e4aafb14bd8eee38caa7ad5db69507">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint32_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; vec)</td></tr>
3731<tr class="separator:aa1e4aafb14bd8eee38caa7ad5db69507"><td class="memSeparator" colspan="2">&#160;</td></tr>
3732<tr class="memitem:aca451511712482f55001063da2317427"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca451511712482f55001063da2317427">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint32_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; vec)</td></tr>
3733<tr class="separator:aca451511712482f55001063da2317427"><td class="memSeparator" colspan="2">&#160;</td></tr>
3734<tr class="memitem:a1bb4dd507d55db5ae8fafab84d31b870"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1bb4dd507d55db5ae8fafab84d31b870">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; b)</td></tr>
3735<tr class="separator:a1bb4dd507d55db5ae8fafab84d31b870"><td class="memSeparator" colspan="2">&#160;</td></tr>
3736<tr class="memitem:aacd10f0e821aff266057a1fc443c6344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aacd10f0e821aff266057a1fc443c6344">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; b)</td></tr>
3737<tr class="separator:aacd10f0e821aff266057a1fc443c6344"><td class="memSeparator" colspan="2">&#160;</td></tr>
3738<tr class="memitem:a0477c495757cd6c2bdf6f151aa26a542"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0477c495757cd6c2bdf6f151aa26a542">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; vec)</td></tr>
3739<tr class="separator:a0477c495757cd6c2bdf6f151aa26a542"><td class="memSeparator" colspan="2">&#160;</td></tr>
3740<tr class="memitem:a94683a211fef1215ec7576bc74a1cc68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a94683a211fef1215ec7576bc74a1cc68">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; vec)</td></tr>
3741<tr class="separator:a94683a211fef1215ec7576bc74a1cc68"><td class="memSeparator" colspan="2">&#160;</td></tr>
3742<tr class="memitem:aee16a2b366642146ef353e0939a71b83"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3743<tr class="memitem:aee16a2b366642146ef353e0939a71b83"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aee16a2b366642146ef353e0939a71b83">vdup_n&lt; vec_8_byte_t&lt; int32_t &gt; &gt;</a> (int32_t val)</td></tr>
3744<tr class="separator:aee16a2b366642146ef353e0939a71b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
3745<tr class="memitem:a434a14d651e75e624bfed91646a9582e"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3746<tr class="memitem:a434a14d651e75e624bfed91646a9582e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a434a14d651e75e624bfed91646a9582e">vdup_n&lt; vec_16_byte_t&lt; int32_t &gt; &gt;</a> (int32_t val)</td></tr>
3747<tr class="separator:a434a14d651e75e624bfed91646a9582e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3748<tr class="memitem:a10449c2936e1986b131e8c070db9c16b"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3749<tr class="memitem:a10449c2936e1986b131e8c070db9c16b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a10449c2936e1986b131e8c070db9c16b">vld&lt; vec_8_byte_t&lt; int32_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int32_t &gt; ptr)</td></tr>
3750<tr class="separator:a10449c2936e1986b131e8c070db9c16b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3751<tr class="memitem:a1acc117060f7ad740f059fbb97359d6b"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3752<tr class="memitem:a1acc117060f7ad740f059fbb97359d6b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1acc117060f7ad740f059fbb97359d6b">vld&lt; vec_16_byte_t&lt; int32_t &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int32_t &gt; ptr)</td></tr>
3753<tr class="separator:a1acc117060f7ad740f059fbb97359d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3754<tr class="memitem:a59f96d9a74850a843c1f710803fe8de8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59f96d9a74850a843c1f710803fe8de8">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int32_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; vec)</td></tr>
3755<tr class="separator:a59f96d9a74850a843c1f710803fe8de8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3756<tr class="memitem:a788c1fc3809f77d2866e4282d374770b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a788c1fc3809f77d2866e4282d374770b">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int32_t &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; vec)</td></tr>
3757<tr class="separator:a788c1fc3809f77d2866e4282d374770b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3758<tr class="memitem:a4e2374d1a63f2e9433b7965eede927af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e2374d1a63f2e9433b7965eede927af">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; b)</td></tr>
3759<tr class="separator:a4e2374d1a63f2e9433b7965eede927af"><td class="memSeparator" colspan="2">&#160;</td></tr>
3760<tr class="memitem:aeb42b9eb65ed0207ddcdb9c870fd5697"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeb42b9eb65ed0207ddcdb9c870fd5697">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; b)</td></tr>
3761<tr class="separator:aeb42b9eb65ed0207ddcdb9c870fd5697"><td class="memSeparator" colspan="2">&#160;</td></tr>
3762<tr class="memitem:a4624ac629ac1199b9482f01334fe93a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4624ac629ac1199b9482f01334fe93a8">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; vec)</td></tr>
3763<tr class="separator:a4624ac629ac1199b9482f01334fe93a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3764<tr class="memitem:aeaf3494a0fcf8be9555194a8e7a18a07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeaf3494a0fcf8be9555194a8e7a18a07">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; vec)</td></tr>
3765<tr class="separator:aeaf3494a0fcf8be9555194a8e7a18a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
3766<tr class="memitem:ae23d199254b002d668fde87246f2f6f7"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3767<tr class="memitem:ae23d199254b002d668fde87246f2f6f7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae23d199254b002d668fde87246f2f6f7">vdup_n&lt; vec_8_byte_t&lt; float &gt; &gt;</a> (float val)</td></tr>
3768<tr class="separator:ae23d199254b002d668fde87246f2f6f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3769<tr class="memitem:ace69f5de3783f9cd924dac392710facf"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3770<tr class="memitem:ace69f5de3783f9cd924dac392710facf"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace69f5de3783f9cd924dac392710facf">vdup_n&lt; vec_16_byte_t&lt; float &gt; &gt;</a> (float val)</td></tr>
3771<tr class="separator:ace69f5de3783f9cd924dac392710facf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3772<tr class="memitem:a323be126777e57614c5dc57ee1345c7e"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3773<tr class="memitem:a323be126777e57614c5dc57ee1345c7e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a323be126777e57614c5dc57ee1345c7e">vld&lt; vec_8_byte_t&lt; float &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; float &gt; ptr)</td></tr>
3774<tr class="separator:a323be126777e57614c5dc57ee1345c7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3775<tr class="memitem:aa8e2f6d1e361e3ac707595f1092b9103"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3776<tr class="memitem:aa8e2f6d1e361e3ac707595f1092b9103"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8e2f6d1e361e3ac707595f1092b9103">vld&lt; vec_16_byte_t&lt; float &gt; &gt;</a> (<a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; float &gt; ptr)</td></tr>
3777<tr class="separator:aa8e2f6d1e361e3ac707595f1092b9103"><td class="memSeparator" colspan="2">&#160;</td></tr>
3778<tr class="memitem:a01cfd18ed87a496fc5d3be04a040be61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01cfd18ed87a496fc5d3be04a040be61">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; float &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; vec)</td></tr>
3779<tr class="separator:a01cfd18ed87a496fc5d3be04a040be61"><td class="memSeparator" colspan="2">&#160;</td></tr>
3780<tr class="memitem:abd25994f8abe7093700a88a65fdb6ad5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd25994f8abe7093700a88a65fdb6ad5">vst</a> (<a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; float &gt; ptr, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; vec)</td></tr>
3781<tr class="separator:abd25994f8abe7093700a88a65fdb6ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3782<tr class="memitem:a837afab6fd85e34f2bd6e267f4c9e849"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a837afab6fd85e34f2bd6e267f4c9e849">vmax</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; b)</td></tr>
3783<tr class="separator:a837afab6fd85e34f2bd6e267f4c9e849"><td class="memSeparator" colspan="2">&#160;</td></tr>
3784<tr class="memitem:af8efc828ccf4a8f2c6b26cfe3813952d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af8efc828ccf4a8f2c6b26cfe3813952d">vpmax</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; b)</td></tr>
3785<tr class="separator:af8efc828ccf4a8f2c6b26cfe3813952d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3786<tr class="memitem:ae83ce5db69a7a14f5c0ee9d9326e1a40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; vec)</td></tr>
3787<tr class="separator:ae83ce5db69a7a14f5c0ee9d9326e1a40"><td class="memSeparator" colspan="2">&#160;</td></tr>
3788<tr class="memitem:abc735b1b07e30e093dd39507606a1e35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; vec)</td></tr>
3789<tr class="separator:abc735b1b07e30e093dd39507606a1e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
3790<tr class="memitem:abe949a509da417044624d62a73057441"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abe949a509da417044624d62a73057441">vadd</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; a, <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; b)</td></tr>
3791<tr class="separator:abe949a509da417044624d62a73057441"><td class="memSeparator" colspan="2">&#160;</td></tr>
3792<tr class="memitem:ab11431f1a64a618e5ed1d37634d0e0fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab11431f1a64a618e5ed1d37634d0e0fe">vadd</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; b)</td></tr>
3793<tr class="separator:ab11431f1a64a618e5ed1d37634d0e0fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
3794<tr class="memitem:ad0ebbe865e9e6cfd1b2df041f8374ed0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad0ebbe865e9e6cfd1b2df041f8374ed0">vsub</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; a, <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; b)</td></tr>
3795<tr class="separator:ad0ebbe865e9e6cfd1b2df041f8374ed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3796<tr class="memitem:a5dce3fda8114a32a2c8f1f517adca368"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5dce3fda8114a32a2c8f1f517adca368">vmul_n</a> (<a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; vec, float val)</td></tr>
3797<tr class="separator:a5dce3fda8114a32a2c8f1f517adca368"><td class="memSeparator" colspan="2">&#160;</td></tr>
3798<tr class="memitem:a6cb464349a8f184ffb8eded9ae9e5925"><td class="memTemplParams" colspan="2">template&lt;typename VO , typename VI &gt; </td></tr>
3799<tr class="memitem:a6cb464349a8f184ffb8eded9ae9e5925"><td class="memTemplItemLeft" align="right" valign="top">VO&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6cb464349a8f184ffb8eded9ae9e5925">vcvt</a> (VI vec)</td></tr>
3800<tr class="separator:a6cb464349a8f184ffb8eded9ae9e5925"><td class="memSeparator" colspan="2">&#160;</td></tr>
3801<tr class="memitem:a146b84422a0eaf6c66ba8156425b5bdf"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3802<tr class="memitem:a146b84422a0eaf6c66ba8156425b5bdf"><td class="memTemplItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a146b84422a0eaf6c66ba8156425b5bdf">vcvt&lt; float32x4x4_t &gt;</a> (uint8x16_t vec)</td></tr>
3803<tr class="separator:a146b84422a0eaf6c66ba8156425b5bdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3804<tr class="memitem:ab6bc00d6c4503a0bc303dd363e021476"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3805<tr class="memitem:ab6bc00d6c4503a0bc303dd363e021476"><td class="memTemplItemLeft" align="right" valign="top">uint8x16_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6bc00d6c4503a0bc303dd363e021476">vcvt&lt; uint8x16_t &gt;</a> (float32x4x4_t vec)</td></tr>
3806<tr class="separator:ab6bc00d6c4503a0bc303dd363e021476"><td class="memSeparator" colspan="2">&#160;</td></tr>
3807<tr class="memitem:a91d2c1f68de68401d1aa465e27f78ab0"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a91d2c1f68de68401d1aa465e27f78ab0">vexp</a> (float32x4x4_t vec)</td></tr>
3808<tr class="separator:a91d2c1f68de68401d1aa465e27f78ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3809<tr class="memitem:adcb77ffd576a7addf3be8508e50451d2"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adcb77ffd576a7addf3be8508e50451d2">vexp</a> (const float32x4_t &amp;vec)</td></tr>
3810<tr class="separator:adcb77ffd576a7addf3be8508e50451d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3811<tr class="memitem:aeabe5dd1c5751f380322a841d7ad8d7a"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
3812<tr class="memitem:aeabe5dd1c5751f380322a841d7ad8d7a"><td class="memTemplItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeabe5dd1c5751f380322a841d7ad8d7a">vdup_n&lt; float32x4x4_t &gt;</a> (float val)</td></tr>
3813<tr class="separator:aeabe5dd1c5751f380322a841d7ad8d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3814<tr class="memitem:abc9f4323a93d34d19bab7cc371649441"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abc9f4323a93d34d19bab7cc371649441">vmul_n</a> (float32x4x4_t vec, float val)</td></tr>
3815<tr class="separator:abc9f4323a93d34d19bab7cc371649441"><td class="memSeparator" colspan="2">&#160;</td></tr>
3816<tr class="memitem:a4cc9ed76f48e918e73249c894380f91b"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cc9ed76f48e918e73249c894380f91b">vadd</a> (float32x4x4_t a, float32x4x4_t b)</td></tr>
3817<tr class="separator:a4cc9ed76f48e918e73249c894380f91b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3818<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003819<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>
3820<tr class="separator:af3985189d478b45014e7dead9d002e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3821<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>
3822<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>
3823<tr class="separator:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003824<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 +00003825<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 +01003826<tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003827<tr class="memitem:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3828<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>
3829<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>
3830<tr class="separator:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003831<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003832<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 +00003833<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 +01003834<tr class="separator:a18d43401e8f84ed020429b41ec4e99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003835<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 +00003836<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 +01003837<tr class="separator:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3838<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 +01003839<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 +01003840<tr class="separator:aabe16be22edb41656e66ed9eae3b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003841<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 +00003842<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 +01003843<tr class="separator:acec416ec5af175a7aad47a518fefb770"><td class="memSeparator" colspan="2">&#160;</td></tr>
3844<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 +01003845<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 +01003846<tr class="separator:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003847<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 +00003848<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 +01003849<tr class="separator:a295edc9f8caf95838db2c5e251153514"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003850<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 +00003851<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 +01003852<tr class="separator:a5972c7131d378f567af9c2961f088a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003853<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 +00003854<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 +01003855<tr class="separator:a352b805b77fde4f32f44af271580677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003856<tr class="memitem:ac7e5dca61375f7583860ab07d951a323"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7e5dca61375f7583860ab07d951a323">to_string</a> (const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> &amp;pool_info)</td></tr>
3857<tr class="memdesc:ac7e5dca61375f7583860ab07d951a323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ROIPoolingInfo type. <a href="#ac7e5dca61375f7583860ab07d951a323">More...</a><br /></td></tr>
3858<tr class="separator:ac7e5dca61375f7583860ab07d951a323"><td class="memSeparator" colspan="2">&#160;</td></tr>
3859<tr class="memitem:af81bb4f87d418311c7ca43a28c74bf03"><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#af81bb4f87d418311c7ca43a28c74bf03">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a> &amp;bbox_info)</td></tr>
3860<tr class="memdesc:af81bb4f87d418311c7ca43a28c74bf03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. <a href="#af81bb4f87d418311c7ca43a28c74bf03">More...</a><br /></td></tr>
3861<tr class="separator:af81bb4f87d418311c7ca43a28c74bf03"><td class="memSeparator" colspan="2">&#160;</td></tr>
3862<tr class="memitem:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aadd27b86f0ff4fbb03ed673a549e91a8">to_string</a> (const <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a> &amp;bbox_info)</td></tr>
3863<tr class="memdesc:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. <a href="#aadd27b86f0ff4fbb03ed673a549e91a8">More...</a><br /></td></tr>
3864<tr class="separator:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3865<tr class="memitem:a59ea8b6694897a281eb3105f5c99f28f"><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#a59ea8b6694897a281eb3105f5c99f28f">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a> &amp;anchors_info)</td></tr>
3866<tr class="memdesc:a59ea8b6694897a281eb3105f5c99f28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. <a href="#a59ea8b6694897a281eb3105f5c99f28f">More...</a><br /></td></tr>
3867<tr class="separator:a59ea8b6694897a281eb3105f5c99f28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3868<tr class="memitem:a24bc4de5c636b56f9b59533fead920c2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a24bc4de5c636b56f9b59533fead920c2">to_string</a> (const <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a> &amp;anchors_info)</td></tr>
3869<tr class="memdesc:a24bc4de5c636b56f9b59533fead920c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. <a href="#a24bc4de5c636b56f9b59533fead920c2">More...</a><br /></td></tr>
3870<tr class="separator:a24bc4de5c636b56f9b59533fead920c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3871<tr class="memitem:a1a54a883f8acc0664accdae9bed93494"><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#a1a54a883f8acc0664accdae9bed93494">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a> &amp;proposals_info)</td></tr>
3872<tr class="memdesc:a1a54a883f8acc0664accdae9bed93494"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. <a href="#a1a54a883f8acc0664accdae9bed93494">More...</a><br /></td></tr>
3873<tr class="separator:a1a54a883f8acc0664accdae9bed93494"><td class="memSeparator" colspan="2">&#160;</td></tr>
3874<tr class="memitem:aa597016c0aaa2990ed31b8aaa6f2ccc3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa597016c0aaa2990ed31b8aaa6f2ccc3">to_string</a> (const <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a> &amp;proposals_info)</td></tr>
3875<tr class="memdesc:aa597016c0aaa2990ed31b8aaa6f2ccc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. <a href="#aa597016c0aaa2990ed31b8aaa6f2ccc3">More...</a><br /></td></tr>
3876<tr class="separator:aa597016c0aaa2990ed31b8aaa6f2ccc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
3877<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003878<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>
3879<tr class="separator:a32a5556a927543fe57c0d7b82c20e9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3880<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 +01003881<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 +00003882<tr class="separator:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003883<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 +00003884<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 +01003885<tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3886<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 +01003887<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 +01003888<tr class="separator:a72626d2cca3922127c41526e37e9e623"><td class="memSeparator" colspan="2">&#160;</td></tr>
3889<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 +01003890<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 +01003891<tr class="separator:a8a18c453150ab547c1add44b3ed3bc56"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003892<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 +00003893<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 +01003894<tr class="separator:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3895<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 +01003896<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 +01003897<tr class="separator:a45dd771bdecbafb975fd267c2ae320a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003898<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 +00003899<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 +01003900<tr class="separator:a6e422c610c91f611590173cd595c94c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003901<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 +00003902<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 +01003903<tr class="separator:a336cf1e870f467e44c184587a13feeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003904<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 +00003905<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 +01003906<tr class="separator:ae72a61a2ca5c962ab1d37065e5598060"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003907<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 +01003908<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 +00003909<tr class="separator:a25dac68b6321b9e53027e79222a0eb7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003910<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>
3911<tr class="memdesc:a1698cb24508a2bc45962bc887f18a8d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">[Print DataLayout type] <a href="#a1698cb24508a2bc45962bc887f18a8d0">More...</a><br /></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003912<tr class="separator:a1698cb24508a2bc45962bc887f18a8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3913<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>
3914<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>
3915<tr class="separator:ae1240e4698e8a901179e519102b5e033"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003916<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>
3917<tr class="memdesc:adec19acb64bfca26fa53ef76f03b79ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">[Print DataLayout type] <a href="#adec19acb64bfca26fa53ef76f03b79ef">More...</a><br /></td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003918<tr class="separator:adec19acb64bfca26fa53ef76f03b79ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003919<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 +00003920<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 +01003921<tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003922<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 +01003923<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 +01003924<tr class="separator:a96b47511b549b48d2ead05b5c757ccc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003925<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 +00003926<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 +01003927<tr class="separator:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003928<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 +01003929<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 +01003930<tr class="separator:ab0e6381843dc9901bb59285ec846dc5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003931<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 +00003932<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 +01003933<tr class="separator:aa66be15c012986ebd4c1934b97e08a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003934<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 +01003935<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 +00003936<tr class="separator:a813e71cd70c2bbcbf0743fa83a3608b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003937<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 +00003938<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 +01003939<tr class="separator:a7929032d41d5f23cd1778a70508d0219"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003940<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 +00003941<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 +01003942<tr class="separator:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003943<tr class="memitem:af15a06b73e1fde15f0809ce07bf1ab7d"><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#af15a06b73e1fde15f0809ce07bf1ab7d">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> &amp;padding)</td></tr>
3944<tr class="memdesc:af15a06b73e1fde15f0809ce07bf1ab7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PaddingList type. <a href="#af15a06b73e1fde15f0809ce07bf1ab7d">More...</a><br /></td></tr>
3945<tr class="separator:af15a06b73e1fde15f0809ce07bf1ab7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3946<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 +00003947<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 +01003948<tr class="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003949<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003950<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>
3951<tr class="separator:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003952<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003953<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>
3954<tr class="separator:ab398837465010958bfccff032ad1ee51"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003955<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>
3956<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>
3957<tr class="separator:a48fd5e28bdb4975c141841f0b96f8707"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003958<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3959<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 +01003960<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 +01003961<tr class="separator:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003962<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 +01003963<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 +01003964<tr class="separator:a1c4486f45128be7156e38e6dea345a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003965<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 +00003966<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 +01003967<tr class="separator:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003968<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 +00003969<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 +01003970<tr class="separator:a805a74997e303d29108845956a674387"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003971<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003972<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>
3973<tr class="separator:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003974<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003975<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>
3976<tr class="separator:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003977<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003978<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>
3979<tr class="separator:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003980<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>
Jenkins52ba29e2018-08-29 15:32:11 +00003981<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>
3982<tr class="separator:afc6e49991e36423027a467eab1e405b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3983<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>
3984<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>
3985<tr class="separator:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3986<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>
3987<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>
3988<tr class="separator:adac3c1908846c6361e664a353ad1c3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3989<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>
3990<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>
3991<tr class="separator:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memSeparator" colspan="2">&#160;</td></tr>
3992<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>
3993<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>
3994<tr class="separator:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memSeparator" colspan="2">&#160;</td></tr>
3995<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>
3996<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>
3997<tr class="separator:a99aba2774f142d36c6a286cbfe027772"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00003998<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 +00003999<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 +01004000<tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004001<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 +01004002<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 +01004003<tr class="separator:a8af36ae3a3613112c3a95e57f606359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
4004<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 +01004005<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 +01004006<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
4007<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 +01004008<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 +01004009<tr class="separator:a0604106dd269acd58152a81ba87cc265"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01004010<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 +01004011<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 +01004012<tr class="separator:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004013<tr class="memitem:a09b674dcee4a1b59f9c7c51ecaae40a6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a09b674dcee4a1b59f9c7c51ecaae40a6">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> &amp;padding)</td></tr>
4014<tr class="memdesc:a09b674dcee4a1b59f9c7c51ecaae40a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PaddingList type. <a href="#a09b674dcee4a1b59f9c7c51ecaae40a6">More...</a><br /></td></tr>
4015<tr class="separator:a09b674dcee4a1b59f9c7c51ecaae40a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01004016<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 +01004017<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 +01004018<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004019<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 +01004020<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 +00004021<tr class="separator:a5b8e815072ae54278cb1c91e254be4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004022<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 +01004023<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 +01004024<tr class="separator:a4287c6842a60e5f6bf309e55f8813527"><td class="memSeparator" colspan="2">&#160;</td></tr>
4025<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>
4026<tr class="separator:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004027<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 +00004028<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 +01004029<tr class="separator:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
4030<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 +01004031<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 +01004032<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
4033<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 +01004034<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 +01004035<tr class="separator:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
4036<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 +01004037<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 +01004038<tr class="separator:a2872d19dd10dc3117813d291c08e0383"><td class="memSeparator" colspan="2">&#160;</td></tr>
4039<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 +01004040<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 +01004041<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004042<tr class="memitem:ae62747a5179626328bf7e67c709d5fcf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae62747a5179626328bf7e67c709d5fcf">to_string</a> (const <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a> &amp;info)</td></tr>
4043<tr class="memdesc:ae62747a5179626328bf7e67c709d5fcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml" title="PriorBox layer info. ">PriorBoxLayerInfo</a>. <a href="#ae62747a5179626328bf7e67c709d5fcf">More...</a><br /></td></tr>
4044<tr class="separator:ae62747a5179626328bf7e67c709d5fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
4045<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 +00004046<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 +01004047<tr class="separator:a9a2e48a508dc85b7280f955876bb4462"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004048<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004049<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>
4050<tr class="separator:abe52a76af2aa88876d54ce8a5969e509"><td class="memSeparator" colspan="2">&#160;</td></tr>
4051<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 +01004052<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 +00004053<tr class="separator:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004054<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004055<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>
4056<tr class="separator:a530d86eec3dbd22cab6336ffdceb0d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
4057<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 +01004058<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 +00004059<tr class="separator:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004060<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>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00004061<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>
4062<tr class="separator:a5e7a61df2b926347b42ecadf8bcc8969"><td class="memSeparator" colspan="2">&#160;</td></tr>
4063<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 +01004064<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 +00004065<tr class="separator:a950ba288e8136db4bf52f7c51dea20eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004066<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 +00004067<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>
4068<tr class="separator:ab91d110e020f6ed987e05e82df3e350b"><td class="memSeparator" colspan="2">&#160;</td></tr>
4069<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 +01004070<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 +00004071<tr class="separator:aee88a2c259879eb9dc18cb5965e87c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004072<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 +01004073<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 +00004074<tr class="separator:a4228b490e13b79a60737929d9d9e5957"><td class="memSeparator" colspan="2">&#160;</td></tr>
4075<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>
4076<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>
4077<tr class="separator:a3cf43a216912b361eaffc3c71452a31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004078<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 +01004079<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 +00004080<tr class="separator:abd35c1c3fb716078b1f4a25981defac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
4081<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 +01004082<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 +00004083<tr class="separator:a853d44a32a328fb4455f6200a11c4785"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004084<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 +01004085<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 +00004086<tr class="separator:a1f4d95d65a62a085e929ab0a1a77add2"><td class="memSeparator" colspan="2">&#160;</td></tr>
4087<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 +01004088<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 +00004089<tr class="separator:aee29ccfc095313663fc954f581ddf40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004090<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01004091<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>
4092<tr class="separator:a907c93ba5daaabf6af7095f20340d024"><td class="memSeparator" colspan="2">&#160;</td></tr>
4093<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>
4094<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>
4095<tr class="separator:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004096<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01004097<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>
4098<tr class="separator:a8cfa7d498e60be008d557d025fe62ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
4099<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>
4100<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>
4101<tr class="separator:a51fc944d872cf00c1e8e71ccdf8be264"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004102<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>
Jenkins52ba29e2018-08-29 15:32:11 +00004103<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>
4104<tr class="separator:a2329ad899483ca80bbffd03a63da9f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
4105<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>
4106<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>
4107<tr class="separator:add33a9d992aeaa69d6940fd896ee5e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
4108<tr class="memitem:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004109<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>
Jenkins52ba29e2018-08-29 15:32:11 +00004110<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>
4111<tr class="separator:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004112<tr class="memitem:ae7393414bb7b814bf70e0399f2347847"><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#ae7393414bb7b814bf70e0399f2347847">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a> &amp;info)</td></tr>
4113<tr class="memdesc:ae7393414bb7b814bf70e0399f2347847"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a>. <a href="#ae7393414bb7b814bf70e0399f2347847">More...</a><br /></td></tr>
4114<tr class="separator:ae7393414bb7b814bf70e0399f2347847"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00004115<tr class="memitem:a6411da4e87e64e8859f8b725645ee9aa"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
4116<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>
4117<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>
4118<tr class="separator:a6411da4e87e64e8859f8b725645ee9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004119<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01004120<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>
4121<tr class="separator:af3cba8a4493cee4c431d128eed565ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
4122<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>
4123<tr class="separator:a37cc282b0852aab04b13a6e6566adda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00004124<tr class="memitem:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
4125<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>
4126<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>
4127<tr class="separator:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00004128</table><table class="memberdecls">
4129<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
4130Variables</h2></td></tr>
4131<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 +01004132<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 +00004133<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
4134<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 +01004135<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 +00004136<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
4137<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 +01004138<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 +00004139<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2">&#160;</td></tr>
4140<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 +00004141<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 +00004142<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
4143<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 +01004144<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 +00004145<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
4146<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 +01004147<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 +00004148<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004149<tr class="memitem:a13d15bf68bbaf481be9ba3988b1cf779"><td class="memItemLeft" align="right" valign="top">constexpr unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a13d15bf68bbaf481be9ba3988b1cf779">num_num_elems_processed_per_iteration</a> = 16</td></tr>
4150<tr class="separator:a13d15bf68bbaf481be9ba3988b1cf779"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00004151</table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004152<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
Jenkinsb9abeae2018-11-22 11:58:08 +00004153<div class="textblock"><p>Copyright (c) 2017-2018 ARM Limited. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004154<p>This file contains all available output stages for GEMMLowp on NEON.</p>
Jenkinsb9abeae2018-11-22 11:58:08 +00004155<p>This file contains all available output stages for GEMMLowp on OpenCL.</p>
4156<p>Copyright (c) 2018 ARM Limited.</p>
4157<p>SPDX-License-Identifier: MIT</p>
4158<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
4159<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
4160<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004161<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>
4162<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>
4163<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>
4164<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>
4165</div><h2 class="groupheader">Typedef Documentation</h2>
Jenkinsb9abeae2018-11-22 11:58:08 +00004166<a id="a11916d4148a39a67794050373f54825a"></a>
4167<h2 class="memtitle"><span class="permalink"><a href="#a11916d4148a39a67794050373f54825a">&#9670;&nbsp;</a></span>BiStrides</h2>
4168
4169<div class="memitem">
4170<div class="memproto">
4171 <table class="memname">
4172 <tr>
4173 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a11916d4148a39a67794050373f54825a">BiStrides</a> = <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a></td>
4174 </tr>
4175 </table>
4176</div><div class="memdoc">
4177
4178<p>Bidirectional strides. </p>
4179
4180<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00049">49</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
4181
4182</div>
4183</div>
4184<a id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
4185<h2 class="memtitle"><span class="permalink"><a href="#afcef84cf3b7d147b2b6ab0bd884afc16">&#9670;&nbsp;</a></span>CLCoefficientTableArray</h2>
4186
Anthony Barbier871448e2017-03-24 14:54:29 +00004187<div class="memitem">
4188<div class="memproto">
4189 <table class="memname">
4190 <tr>
4191 <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>
4192 </tr>
4193 </table>
4194</div><div class="memdoc">
4195
Jenkinsb3a371b2018-05-23 11:36:53 +01004196<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>
4197
Jenkinsb9abeae2018-11-22 11:58:08 +00004198<p class="definition">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 +00004199
4200</div>
4201</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004202<a id="a4751499f1c526c7285e7e946c2e84541"></a>
4203<h2 class="memtitle"><span class="permalink"><a href="#a4751499f1c526c7285e7e946c2e84541">&#9670;&nbsp;</a></span>CLConvolution3x3Kernel</h2>
4204
Anthony Barbier871448e2017-03-24 14:54:29 +00004205<div class="memitem">
4206<div class="memproto">
4207 <table class="memname">
4208 <tr>
4209 <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>
4210 </tr>
4211 </table>
4212</div><div class="memdoc">
4213
4214<p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
4215
Jenkinsb9abeae2018-11-22 11:58:08 +00004216<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004217
4218</div>
4219</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004220<a id="a843447b81f09d837e90d44e6e6bd236d"></a>
4221<h2 class="memtitle"><span class="permalink"><a href="#a843447b81f09d837e90d44e6e6bd236d">&#9670;&nbsp;</a></span>CLConvolution5x5</h2>
4222
Anthony Barbier871448e2017-03-24 14:54:29 +00004223<div class="memitem">
4224<div class="memproto">
4225 <table class="memname">
4226 <tr>
4227 <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>
4228 </tr>
4229 </table>
4230</div><div class="memdoc">
4231
4232<p>Basic function to run 5x5 convolution. </p>
4233
Jenkinsb9abeae2018-11-22 11:58:08 +00004234<p class="definition">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 +00004235
4236</div>
4237</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004238<a id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
4239<h2 class="memtitle"><span class="permalink"><a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">&#9670;&nbsp;</a></span>CLConvolution5x5Kernel</h2>
4240
Anthony Barbier871448e2017-03-24 14:54:29 +00004241<div class="memitem">
4242<div class="memproto">
4243 <table class="memname">
4244 <tr>
4245 <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>
4246 </tr>
4247 </table>
4248</div><div class="memdoc">
4249
4250<p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
4251
Jenkinsb9abeae2018-11-22 11:58:08 +00004252<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004253
4254</div>
4255</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004256<a id="a1992a8362b7074e709394a5219d16e62"></a>
4257<h2 class="memtitle"><span class="permalink"><a href="#a1992a8362b7074e709394a5219d16e62">&#9670;&nbsp;</a></span>CLConvolution7x7</h2>
4258
Anthony Barbier871448e2017-03-24 14:54:29 +00004259<div class="memitem">
4260<div class="memproto">
4261 <table class="memname">
4262 <tr>
4263 <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>
4264 </tr>
4265 </table>
4266</div><div class="memdoc">
4267
4268<p>Basic function to run 7x7 convolution. </p>
4269
Jenkinsb9abeae2018-11-22 11:58:08 +00004270<p class="definition">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 +00004271
4272</div>
4273</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004274<a id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
4275<h2 class="memtitle"><span class="permalink"><a href="#a99a54c937a254c96cd1a29a96ffa7dcf">&#9670;&nbsp;</a></span>CLConvolution7x7Kernel</h2>
4276
Anthony Barbier871448e2017-03-24 14:54:29 +00004277<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#a99a54c937a254c96cd1a29a96ffa7dcf">CLConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;7&gt;</td>
4282 </tr>
4283 </table>
4284</div><div class="memdoc">
4285
4286<p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
4287
Jenkinsb9abeae2018-11-22 11:58:08 +00004288<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004289
4290</div>
4291</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004292<a id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
4293<h2 class="memtitle"><span class="permalink"><a href="#a587dee5d7f05d5e9c3b8704ae8927101">&#9670;&nbsp;</a></span>CLConvolution9x9</h2>
4294
Anthony Barbier871448e2017-03-24 14:54:29 +00004295<div class="memitem">
4296<div class="memproto">
4297 <table class="memname">
4298 <tr>
4299 <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>
4300 </tr>
4301 </table>
4302</div><div class="memdoc">
4303
4304<p>Basic function to run 9x9 convolution. </p>
4305
Jenkinsb9abeae2018-11-22 11:58:08 +00004306<p class="definition">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 +00004307
4308</div>
4309</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004310<a id="a908439cd5cf8253865d5c70a413fd607"></a>
4311<h2 class="memtitle"><span class="permalink"><a href="#a908439cd5cf8253865d5c70a413fd607">&#9670;&nbsp;</a></span>CLConvolution9x9Kernel</h2>
4312
Anthony Barbier871448e2017-03-24 14:54:29 +00004313<div class="memitem">
4314<div class="memproto">
4315 <table class="memname">
4316 <tr>
4317 <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>
4318 </tr>
4319 </table>
4320</div><div class="memdoc">
4321
4322<p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
4323
Jenkinsb9abeae2018-11-22 11:58:08 +00004324<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004325
4326</div>
4327</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004328<a id="a0fd5f0310a26faad00b905bac3792726"></a>
4329<h2 class="memtitle"><span class="permalink"><a href="#a0fd5f0310a26faad00b905bac3792726">&#9670;&nbsp;</a></span>CLCoordinates2DArray</h2>
4330
Anthony Barbier871448e2017-03-24 14:54:29 +00004331<div class="memitem">
4332<div class="memproto">
4333 <table class="memname">
4334 <tr>
4335 <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>
4336 </tr>
4337 </table>
4338</div><div class="memdoc">
4339
Jenkinsb3a371b2018-05-23 11:36:53 +01004340<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>
4341
Jenkinsb9abeae2018-11-22 11:58:08 +00004342<p class="definition">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 +00004343
4344</div>
4345</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004346<a id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
4347<h2 class="memtitle"><span class="permalink"><a href="#ab8d2c7efb7643ce8f9e5446dbe1da0b4">&#9670;&nbsp;</a></span>CLDetectionWindowArray</h2>
4348
Anthony Barbier871448e2017-03-24 14:54:29 +00004349<div class="memitem">
4350<div class="memproto">
4351 <table class="memname">
4352 <tr>
4353 <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>
4354 </tr>
4355 </table>
4356</div><div class="memdoc">
4357
Jenkinsb3a371b2018-05-23 11:36:53 +01004358<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>
4359
Jenkinsb9abeae2018-11-22 11:58:08 +00004360<p class="definition">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 +00004361
4362</div>
4363</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004364<a id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
4365<h2 class="memtitle"><span class="permalink"><a href="#a193a4859b365f3ef4e0d73a1e6b12c85">&#9670;&nbsp;</a></span>CLFloatArray</h2>
4366
Anthony Barbier871448e2017-03-24 14:54:29 +00004367<div class="memitem">
4368<div class="memproto">
4369 <table class="memname">
4370 <tr>
4371 <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>
4372 </tr>
4373 </table>
4374</div><div class="memdoc">
4375
Jenkinsb3a371b2018-05-23 11:36:53 +01004376<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>
4377
Jenkinsb9abeae2018-11-22 11:58:08 +00004378<p class="definition">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 +00004379
4380</div>
4381</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004382<a id="aae712f442eae2d56d17529ca6cb9cb77"></a>
4383<h2 class="memtitle"><span class="permalink"><a href="#aae712f442eae2d56d17529ca6cb9cb77">&#9670;&nbsp;</a></span>CLImage</h2>
4384
Anthony Barbier871448e2017-03-24 14:54:29 +00004385<div class="memitem">
4386<div class="memproto">
4387 <table class="memname">
4388 <tr>
4389 <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>
4390 </tr>
4391 </table>
4392</div><div class="memdoc">
4393
Jenkinsb3a371b2018-05-23 11:36:53 +01004394<p>OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
4395
Jenkinsb9abeae2018-11-22 11:58:08 +00004396<p class="definition">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 +00004397
4398</div>
4399</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004400<a id="a5fb8cb339705102066c915d18f0701ac"></a>
4401<h2 class="memtitle"><span class="permalink"><a href="#a5fb8cb339705102066c915d18f0701ac">&#9670;&nbsp;</a></span>CLInt16Array</h2>
4402
Anthony Barbier871448e2017-03-24 14:54:29 +00004403<div class="memitem">
4404<div class="memproto">
4405 <table class="memname">
4406 <tr>
4407 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5fb8cb339705102066c915d18f0701ac">CLInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_short&gt;</td>
4408 </tr>
4409 </table>
4410</div><div class="memdoc">
4411
Jenkinsb3a371b2018-05-23 11:36:53 +01004412<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>
4413
Jenkinsb9abeae2018-11-22 11:58:08 +00004414<p class="definition">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 +00004415
4416</div>
4417</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004418<a id="a8a401a071524761c661a75969c951cf5"></a>
4419<h2 class="memtitle"><span class="permalink"><a href="#a8a401a071524761c661a75969c951cf5">&#9670;&nbsp;</a></span>CLInt32Array</h2>
4420
Anthony Barbier871448e2017-03-24 14:54:29 +00004421<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#a8a401a071524761c661a75969c951cf5">CLInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_int&gt;</td>
4426 </tr>
4427 </table>
4428</div><div class="memdoc">
4429
Jenkinsb3a371b2018-05-23 11:36:53 +01004430<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>
4431
Jenkinsb9abeae2018-11-22 11:58:08 +00004432<p class="definition">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 +00004433
4434</div>
4435</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004436<a id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
4437<h2 class="memtitle"><span class="permalink"><a href="#a55e1c5ed17b7ee3762198a38eb50650a">&#9670;&nbsp;</a></span>CLKeyPointArray</h2>
4438
Anthony Barbier871448e2017-03-24 14:54:29 +00004439<div class="memitem">
4440<div class="memproto">
4441 <table class="memname">
4442 <tr>
4443 <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>
4444 </tr>
4445 </table>
4446</div><div class="memdoc">
4447
Jenkinsb3a371b2018-05-23 11:36:53 +01004448<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>
4449
Jenkinsb9abeae2018-11-22 11:58:08 +00004450<p class="definition">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 +00004451
4452</div>
4453</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004454<a id="a70997613219641045213b0c12948fb74"></a>
4455<h2 class="memtitle"><span class="permalink"><a href="#a70997613219641045213b0c12948fb74">&#9670;&nbsp;</a></span>CLLKInternalKeypointArray</h2>
4456
Anthony Barbier871448e2017-03-24 14:54:29 +00004457<div class="memitem">
4458<div class="memproto">
4459 <table class="memname">
4460 <tr>
4461 <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>
4462 </tr>
4463 </table>
4464</div><div class="memdoc">
4465
Jenkinsb3a371b2018-05-23 11:36:53 +01004466<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>
4467
Jenkinsb9abeae2018-11-22 11:58:08 +00004468<p class="definition">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 +01004469
4470</div>
4471</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004472<a id="ac87d48489667d7ff7fc4cc7d0d12c52e"></a>
4473<h2 class="memtitle"><span class="permalink"><a href="#ac87d48489667d7ff7fc4cc7d0d12c52e">&#9670;&nbsp;</a></span>CLMemoryGroup</h2>
4474
Kaizen8938bd32017-09-28 14:38:23 +01004475<div class="memitem">
4476<div class="memproto">
4477 <table class="memname">
4478 <tr>
4479 <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>
4480 </tr>
4481 </table>
4482</div><div class="memdoc">
4483
Jenkinsb3a371b2018-05-23 11:36:53 +01004484<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group in OpenCL. </p>
4485
Jenkinsb9abeae2018-11-22 11:58:08 +00004486<p class="definition">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 +00004487
4488</div>
4489</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004490<a id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
4491<h2 class="memtitle"><span class="permalink"><a href="#a4ec6965f606c588137f7a48d84c1d6f0">&#9670;&nbsp;</a></span>CLOldValueArray</h2>
4492
Anthony Barbier871448e2017-03-24 14:54:29 +00004493<div class="memitem">
4494<div class="memproto">
4495 <table class="memname">
4496 <tr>
4497 <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>
4498 </tr>
4499 </table>
4500</div><div class="memdoc">
4501
Jenkinsb3a371b2018-05-23 11:36:53 +01004502<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>
4503
Jenkinsb9abeae2018-11-22 11:58:08 +00004504<p class="definition">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 +01004505
4506</div>
4507</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004508<a id="a7d756aef16b9c22456bb7aca8fbb4f4c"></a>
4509<h2 class="memtitle"><span class="permalink"><a href="#a7d756aef16b9c22456bb7aca8fbb4f4c">&#9670;&nbsp;</a></span>CLROIArray</h2>
4510
Kaizen8938bd32017-09-28 14:38:23 +01004511<div class="memitem">
4512<div class="memproto">
4513 <table class="memname">
4514 <tr>
4515 <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>
4516 </tr>
4517 </table>
4518</div><div class="memdoc">
4519
Jenkinsb3a371b2018-05-23 11:36:53 +01004520<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>
4521
Jenkinsb9abeae2018-11-22 11:58:08 +00004522<p class="definition">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 +00004523
4524</div>
4525</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004526<a id="ac72d613f7270604dbcad2553c278b16c"></a>
4527<h2 class="memtitle"><span class="permalink"><a href="#ac72d613f7270604dbcad2553c278b16c">&#9670;&nbsp;</a></span>CLSeparableConvolution5x5HorKernel</h2>
4528
Anthony Barbier871448e2017-03-24 14:54:29 +00004529<div class="memitem">
4530<div class="memproto">
4531 <table class="memname">
4532 <tr>
4533 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac72d613f7270604dbcad2553c278b16c">CLSeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;5&gt;</td>
4534 </tr>
4535 </table>
4536</div><div class="memdoc">
4537
4538<p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
4539
Jenkinsb9abeae2018-11-22 11:58:08 +00004540<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004541
4542</div>
4543</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004544<a id="ac7295b0d8d71be75033238ad7fbba38c"></a>
4545<h2 class="memtitle"><span class="permalink"><a href="#ac7295b0d8d71be75033238ad7fbba38c">&#9670;&nbsp;</a></span>CLSeparableConvolution5x5VertKernel</h2>
4546
Anthony Barbier871448e2017-03-24 14:54:29 +00004547<div class="memitem">
4548<div class="memproto">
4549 <table class="memname">
4550 <tr>
4551 <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>
4552 </tr>
4553 </table>
4554</div><div class="memdoc">
4555
4556<p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
4557
Jenkinsb9abeae2018-11-22 11:58:08 +00004558<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004559
4560</div>
4561</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004562<a id="aab26624bf4b326f8145b2909a5042004"></a>
4563<h2 class="memtitle"><span class="permalink"><a href="#aab26624bf4b326f8145b2909a5042004">&#9670;&nbsp;</a></span>CLSeparableConvolution7x7HorKernel</h2>
4564
Anthony Barbier871448e2017-03-24 14:54:29 +00004565<div class="memitem">
4566<div class="memproto">
4567 <table class="memname">
4568 <tr>
4569 <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>
4570 </tr>
4571 </table>
4572</div><div class="memdoc">
4573
4574<p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
4575
Jenkinsb9abeae2018-11-22 11:58:08 +00004576<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004577
4578</div>
4579</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004580<a id="a0ffdf01e236016ce8d366a69875d1375"></a>
4581<h2 class="memtitle"><span class="permalink"><a href="#a0ffdf01e236016ce8d366a69875d1375">&#9670;&nbsp;</a></span>CLSeparableConvolution7x7VertKernel</h2>
4582
Anthony Barbier871448e2017-03-24 14:54:29 +00004583<div class="memitem">
4584<div class="memproto">
4585 <table class="memname">
4586 <tr>
4587 <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>
4588 </tr>
4589 </table>
4590</div><div class="memdoc">
4591
4592<p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
4593
Jenkinsb9abeae2018-11-22 11:58:08 +00004594<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004595
4596</div>
4597</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004598<a id="a9f34ccad344bc43d25e8be2b828853aa"></a>
4599<h2 class="memtitle"><span class="permalink"><a href="#a9f34ccad344bc43d25e8be2b828853aa">&#9670;&nbsp;</a></span>CLSeparableConvolution9x9HorKernel</h2>
4600
Anthony Barbier871448e2017-03-24 14:54:29 +00004601<div class="memitem">
4602<div class="memproto">
4603 <table class="memname">
4604 <tr>
4605 <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>
4606 </tr>
4607 </table>
4608</div><div class="memdoc">
4609
4610<p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
4611
Jenkinsb9abeae2018-11-22 11:58:08 +00004612<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004613
4614</div>
4615</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004616<a id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
4617<h2 class="memtitle"><span class="permalink"><a href="#a6d08e1e881bf611c1e1b9e2bb8810d19">&#9670;&nbsp;</a></span>CLSeparableConvolution9x9VertKernel</h2>
4618
Anthony Barbier871448e2017-03-24 14:54:29 +00004619<div class="memitem">
4620<div class="memproto">
4621 <table class="memname">
4622 <tr>
4623 <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>
4624 </tr>
4625 </table>
4626</div><div class="memdoc">
4627
4628<p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
4629
Jenkinsb9abeae2018-11-22 11:58:08 +00004630<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004631
4632</div>
4633</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004634<a id="a3f9ab729931f4e4fa36ff1683186d988"></a>
4635<h2 class="memtitle"><span class="permalink"><a href="#a3f9ab729931f4e4fa36ff1683186d988">&#9670;&nbsp;</a></span>CLSize2DArray</h2>
4636
Anthony Barbier871448e2017-03-24 14:54:29 +00004637<div class="memitem">
4638<div class="memproto">
4639 <table class="memname">
4640 <tr>
4641 <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>
4642 </tr>
4643 </table>
4644</div><div class="memdoc">
4645
Jenkinsb3a371b2018-05-23 11:36:53 +01004646<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>
4647
Jenkinsb9abeae2018-11-22 11:58:08 +00004648<p class="definition">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 +00004649
4650</div>
4651</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004652<a id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
4653<h2 class="memtitle"><span class="permalink"><a href="#a7b4c4a79c73a3f85ba89aff03fddefa7">&#9670;&nbsp;</a></span>CLUInt16Array</h2>
4654
Anthony Barbier871448e2017-03-24 14:54:29 +00004655<div class="memitem">
4656<div class="memproto">
4657 <table class="memname">
4658 <tr>
4659 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7b4c4a79c73a3f85ba89aff03fddefa7">CLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_ushort&gt;</td>
4660 </tr>
4661 </table>
4662</div><div class="memdoc">
4663
Jenkinsb3a371b2018-05-23 11:36:53 +01004664<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>
4665
Jenkinsb9abeae2018-11-22 11:58:08 +00004666<p class="definition">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 +00004667
4668</div>
4669</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004670<a id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
4671<h2 class="memtitle"><span class="permalink"><a href="#a1d7d89b7e990055dc95ed37dfb24da48">&#9670;&nbsp;</a></span>CLUInt32Array</h2>
4672
Anthony Barbier871448e2017-03-24 14:54:29 +00004673<div class="memitem">
4674<div class="memproto">
4675 <table class="memname">
4676 <tr>
4677 <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>
4678 </tr>
4679 </table>
4680</div><div class="memdoc">
4681
Jenkinsb3a371b2018-05-23 11:36:53 +01004682<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>
4683
Jenkinsb9abeae2018-11-22 11:58:08 +00004684<p class="definition">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 +00004685
4686</div>
4687</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004688<a id="aa031694bb03711e09e25546ad2b643cc"></a>
4689<h2 class="memtitle"><span class="permalink"><a href="#aa031694bb03711e09e25546ad2b643cc">&#9670;&nbsp;</a></span>CLUInt8Array</h2>
4690
Anthony Barbier871448e2017-03-24 14:54:29 +00004691<div class="memitem">
4692<div class="memproto">
4693 <table class="memname">
4694 <tr>
4695 <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>
4696 </tr>
4697 </table>
4698</div><div class="memdoc">
4699
Jenkinsb3a371b2018-05-23 11:36:53 +01004700<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>
4701
Jenkinsb9abeae2018-11-22 11:58:08 +00004702<p class="definition">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 +00004703
4704</div>
4705</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004706<a id="a926fa1a0e7fd320cff5ba6c6f62f463b"></a>
4707<h2 class="memtitle"><span class="permalink"><a href="#a926fa1a0e7fd320cff5ba6c6f62f463b">&#9670;&nbsp;</a></span>const_ptr_t</h2>
4708
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#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a> = const T *</td>
4714 </tr>
4715 </table>
4716</div><div class="memdoc">
4717
4718<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00095">95</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
4719
4720</div>
4721</div>
4722<a id="a327abccf7b43aa32d6a24319b986f3ab"></a>
4723<h2 class="memtitle"><span class="permalink"><a href="#a327abccf7b43aa32d6a24319b986f3ab">&#9670;&nbsp;</a></span>Coordinates2DArray</h2>
4724
Anthony Barbier871448e2017-03-24 14:54:29 +00004725<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#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>
4730 </tr>
4731 </table>
4732</div><div class="memdoc">
4733
Jenkinsb3a371b2018-05-23 11:36:53 +01004734<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>
4735
Jenkinsb9abeae2018-11-22 11:58:08 +00004736<p class="definition">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 +00004737
4738</div>
4739</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004740<a id="a5fe01ab895629edd84a511b56657d79e"></a>
4741<h2 class="memtitle"><span class="permalink"><a href="#a5fe01ab895629edd84a511b56657d79e">&#9670;&nbsp;</a></span>DetectionWindowArray</h2>
4742
Anthony Barbier871448e2017-03-24 14:54:29 +00004743<div class="memitem">
4744<div class="memproto">
4745 <table class="memname">
4746 <tr>
4747 <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>
4748 </tr>
4749 </table>
4750</div><div class="memdoc">
4751
Jenkinsb3a371b2018-05-23 11:36:53 +01004752<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>
4753
Jenkinsb9abeae2018-11-22 11:58:08 +00004754<p class="definition">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 +00004755
4756</div>
4757</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004758<a id="a534a101b6176c3e065eba4b4cde7a40e"></a>
4759<h2 class="memtitle"><span class="permalink"><a href="#a534a101b6176c3e065eba4b4cde7a40e">&#9670;&nbsp;</a></span>elem_type_t</h2>
4760
4761<div class="memitem">
4762<div class="memproto">
4763 <table class="memname">
4764 <tr>
4765 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a534a101b6176c3e065eba4b4cde7a40e">elem_type_t</a> = decltype(<a class="el" href="namespacearm__compute.xhtml#a40552ea65ee3fc6d7fa7f1fb17baebe7">vget_lane</a>&lt;0&gt;(std::declval&lt;V&gt;()))</td>
4766 </tr>
4767 </table>
4768</div><div class="memdoc">
4769
4770<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00120">120</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
4771
4772</div>
4773</div>
4774<a id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
4775<h2 class="memtitle"><span class="permalink"><a href="#a6e06029aa1b68c0cdeb80656cc9353fe">&#9670;&nbsp;</a></span>FloatArray</h2>
4776
Anthony Barbier871448e2017-03-24 14:54:29 +00004777<div class="memitem">
4778<div class="memproto">
4779 <table class="memname">
4780 <tr>
4781 <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>
4782 </tr>
4783 </table>
4784</div><div class="memdoc">
4785
Jenkinsb3a371b2018-05-23 11:36:53 +01004786<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>
4787
Jenkinsb9abeae2018-11-22 11:58:08 +00004788<p class="definition">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 +00004789
4790</div>
4791</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004792<a id="a10f3af894ca8b0479a5e6bc296083314"></a>
4793<h2 class="memtitle"><span class="permalink"><a href="#a10f3af894ca8b0479a5e6bc296083314">&#9670;&nbsp;</a></span>GCDirectConvolutionLayer1x1Kernel</h2>
4794
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004795<div class="memitem">
4796<div class="memproto">
4797 <table class="memname">
4798 <tr>
4799 <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>
4800 </tr>
4801 </table>
4802</div><div class="memdoc">
4803
Jenkinsb3a371b2018-05-23 11:36:53 +01004804<p>Interface for the 1x1 direct convolution kernel. </p>
4805
Jenkinsb9abeae2018-11-22 11:58:08 +00004806<p class="definition">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 +00004807
4808</div>
4809</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004810<a id="a35ccf8834da8b67bfb9c61fbc5e5f1e6"></a>
4811<h2 class="memtitle"><span class="permalink"><a href="#a35ccf8834da8b67bfb9c61fbc5e5f1e6">&#9670;&nbsp;</a></span>GCDirectConvolutionLayer3x3Kernel</h2>
4812
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004813<div class="memitem">
4814<div class="memproto">
4815 <table class="memname">
4816 <tr>
4817 <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>
4818 </tr>
4819 </table>
4820</div><div class="memdoc">
4821
Jenkinsb3a371b2018-05-23 11:36:53 +01004822<p>Interface for the 3x3 direct convolution kernel. </p>
4823
Jenkinsb9abeae2018-11-22 11:58:08 +00004824<p class="definition">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 +00004825
4826</div>
4827</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004828<a id="a227e525a4d0a4da25040cfdf8a3cf06b"></a>
4829<h2 class="memtitle"><span class="permalink"><a href="#a227e525a4d0a4da25040cfdf8a3cf06b">&#9670;&nbsp;</a></span>GCDirectConvolutionLayer5x5Kernel</h2>
4830
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004831<div class="memitem">
4832<div class="memproto">
4833 <table class="memname">
4834 <tr>
4835 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a227e525a4d0a4da25040cfdf8a3cf06b">GCDirectConvolutionLayer5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt;5&gt;</td>
4836 </tr>
4837 </table>
4838</div><div class="memdoc">
4839
Jenkinsb3a371b2018-05-23 11:36:53 +01004840<p>Interface for the 5x5 direct convolution kernel. </p>
4841
Jenkinsb9abeae2018-11-22 11:58:08 +00004842<p class="definition">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 +00004843
4844</div>
4845</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004846<a id="a0b1d72d612fb6f33393ea6cd6cbcf523"></a>
4847<h2 class="memtitle"><span class="permalink"><a href="#a0b1d72d612fb6f33393ea6cd6cbcf523">&#9670;&nbsp;</a></span>GCImage</h2>
4848
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004849<div class="memitem">
4850<div class="memproto">
4851 <table class="memname">
4852 <tr>
4853 <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>
4854 </tr>
4855 </table>
4856</div><div class="memdoc">
4857
Jenkinsb3a371b2018-05-23 11:36:53 +01004858<p>OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
4859
Jenkinsb9abeae2018-11-22 11:58:08 +00004860<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +01004861
4862</div>
4863</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004864<a id="abb079bea3cd2a65a7018eab99392747e"></a>
4865<h2 class="memtitle"><span class="permalink"><a href="#abb079bea3cd2a65a7018eab99392747e">&#9670;&nbsp;</a></span>GCMemoryGroup</h2>
4866
Jenkinsb3a371b2018-05-23 11:36:53 +01004867<div class="memitem">
4868<div class="memproto">
4869 <table class="memname">
4870 <tr>
4871 <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>
4872 </tr>
4873 </table>
4874</div><div class="memdoc">
4875
Jenkinsb9abeae2018-11-22 11:58:08 +00004876<p class="definition">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 +00004877
4878</div>
4879</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004880<a id="ad2398d0f2ce77c10bbebf1f85317dde5"></a>
4881<h2 class="memtitle"><span class="permalink"><a href="#ad2398d0f2ce77c10bbebf1f85317dde5">&#9670;&nbsp;</a></span>GroupMappings</h2>
4882
Kaizen8938bd32017-09-28 14:38:23 +01004883<div class="memitem">
4884<div class="memproto">
4885 <table class="memname">
4886 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00004887 <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#a43b7da220a8ead83acff98f218f7eb6b">MemoryMappings</a>&gt;</td>
Kaizen8938bd32017-09-28 14:38:23 +01004888 </tr>
4889 </table>
4890</div><div class="memdoc">
4891
4892<p>A map of the groups and memory mappings. </p>
4893
Jenkinsb9abeae2018-11-22 11:58:08 +00004894<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00048">48</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004895
4896</div>
4897</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004898<a id="a73e2825fd61d349c5ca2f5313e3c8ea1"></a>
4899<h2 class="memtitle"><span class="permalink"><a href="#a73e2825fd61d349c5ca2f5313e3c8ea1">&#9670;&nbsp;</a></span>half</h2>
4900
Kaizen8938bd32017-09-28 14:38:23 +01004901<div class="memitem">
4902<div class="memproto">
4903 <table class="memname">
4904 <tr>
4905 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td>
4906 </tr>
4907 </table>
4908</div><div class="memdoc">
4909
4910<p>16-bit floating point type </p>
4911
Jenkinsb9abeae2018-11-22 11:58:08 +00004912<p class="definition">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 +01004913
4914</div>
4915</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004916<a id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
4917<h2 class="memtitle"><span class="permalink"><a href="#a05d88c40a53babe38cb2cb5841c4a0ad">&#9670;&nbsp;</a></span>ICLCoefficientTableArray</h2>
4918
Anthony Barbier871448e2017-03-24 14:54:29 +00004919<div class="memitem">
4920<div class="memproto">
4921 <table class="memname">
4922 <tr>
4923 <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>
4924 </tr>
4925 </table>
4926</div><div class="memdoc">
4927
Jenkinsb3a371b2018-05-23 11:36:53 +01004928<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>
4929
Jenkinsb9abeae2018-11-22 11:58:08 +00004930<p class="definition">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 +00004931
4932</div>
4933</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004934<a id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
4935<h2 class="memtitle"><span class="permalink"><a href="#adf4063963bf3a4b07a5d0cc840da9ee2">&#9670;&nbsp;</a></span>ICLCoordinates2DArray</h2>
4936
Anthony Barbier871448e2017-03-24 14:54:29 +00004937<div class="memitem">
4938<div class="memproto">
4939 <table class="memname">
4940 <tr>
4941 <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>
4942 </tr>
4943 </table>
4944</div><div class="memdoc">
4945
Jenkinsb3a371b2018-05-23 11:36:53 +01004946<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>
4947
Jenkinsb9abeae2018-11-22 11:58:08 +00004948<p class="definition">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 +00004949
4950</div>
4951</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004952<a id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
4953<h2 class="memtitle"><span class="permalink"><a href="#a4cc908807b0a45ccc6ce7ba340ae2259">&#9670;&nbsp;</a></span>ICLDetectionWindowArray</h2>
4954
Anthony Barbier871448e2017-03-24 14:54:29 +00004955<div class="memitem">
4956<div class="memproto">
4957 <table class="memname">
4958 <tr>
4959 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#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>
4960 </tr>
4961 </table>
4962</div><div class="memdoc">
4963
Jenkinsb3a371b2018-05-23 11:36:53 +01004964<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>
4965
Jenkinsb9abeae2018-11-22 11:58:08 +00004966<p class="definition">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 +00004967
4968</div>
4969</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004970<a id="a631bac7c033a0d341c631870f9755217"></a>
4971<h2 class="memtitle"><span class="permalink"><a href="#a631bac7c033a0d341c631870f9755217">&#9670;&nbsp;</a></span>ICLFloatArray</h2>
4972
Anthony Barbier871448e2017-03-24 14:54:29 +00004973<div class="memitem">
4974<div class="memproto">
4975 <table class="memname">
4976 <tr>
4977 <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>
4978 </tr>
4979 </table>
4980</div><div class="memdoc">
4981
Jenkinsb3a371b2018-05-23 11:36:53 +01004982<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>
4983
Jenkinsb9abeae2018-11-22 11:58:08 +00004984<p class="definition">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 +00004985
4986</div>
4987</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00004988<a id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
4989<h2 class="memtitle"><span class="permalink"><a href="#aa80145f30ddae0c2ccbcaa910e3e71dd">&#9670;&nbsp;</a></span>ICLImage</h2>
4990
Anthony Barbier871448e2017-03-24 14:54:29 +00004991<div class="memitem">
4992<div class="memproto">
4993 <table class="memname">
4994 <tr>
4995 <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>
4996 </tr>
4997 </table>
4998</div><div class="memdoc">
4999
Jenkinsb3a371b2018-05-23 11:36:53 +01005000<p>Interface for OpenCL images. </p>
5001
Jenkinsb9abeae2018-11-22 11:58:08 +00005002<p class="definition">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 +00005003
5004</div>
5005</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005006<a id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
5007<h2 class="memtitle"><span class="permalink"><a href="#a67328fa21e30aecd0c27d6d2e63a2b9c">&#9670;&nbsp;</a></span>ICLInt16Array</h2>
5008
Anthony Barbier871448e2017-03-24 14:54:29 +00005009<div class="memitem">
5010<div class="memproto">
5011 <table class="memname">
5012 <tr>
5013 <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>
5014 </tr>
5015 </table>
5016</div><div class="memdoc">
5017
Jenkinsb3a371b2018-05-23 11:36:53 +01005018<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>
5019
Jenkinsb9abeae2018-11-22 11:58:08 +00005020<p class="definition">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 +00005021
5022</div>
5023</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005024<a id="ab95380ecf1c0253f6c785c0f59194066"></a>
5025<h2 class="memtitle"><span class="permalink"><a href="#ab95380ecf1c0253f6c785c0f59194066">&#9670;&nbsp;</a></span>ICLInt32Array</h2>
5026
Anthony Barbier871448e2017-03-24 14:54:29 +00005027<div class="memitem">
5028<div class="memproto">
5029 <table class="memname">
5030 <tr>
5031 <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>
5032 </tr>
5033 </table>
5034</div><div class="memdoc">
5035
Jenkinsb3a371b2018-05-23 11:36:53 +01005036<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>
5037
Jenkinsb9abeae2018-11-22 11:58:08 +00005038<p class="definition">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 +00005039
5040</div>
5041</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005042<a id="adb969f0e554bf563f2fa671399d59280"></a>
5043<h2 class="memtitle"><span class="permalink"><a href="#adb969f0e554bf563f2fa671399d59280">&#9670;&nbsp;</a></span>ICLKeyPointArray</h2>
5044
Anthony Barbier871448e2017-03-24 14:54:29 +00005045<div class="memitem">
5046<div class="memproto">
5047 <table class="memname">
5048 <tr>
5049 <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>
5050 </tr>
5051 </table>
5052</div><div class="memdoc">
5053
Jenkinsb3a371b2018-05-23 11:36:53 +01005054<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>
5055
Jenkinsb9abeae2018-11-22 11:58:08 +00005056<p class="definition">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 +00005057
5058</div>
5059</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005060<a id="a569a32a7a853d4708fd4f4840c88a157"></a>
5061<h2 class="memtitle"><span class="permalink"><a href="#a569a32a7a853d4708fd4f4840c88a157">&#9670;&nbsp;</a></span>ICLLKInternalKeypointArray</h2>
5062
Anthony Barbier871448e2017-03-24 14:54:29 +00005063<div class="memitem">
5064<div class="memproto">
5065 <table class="memname">
5066 <tr>
5067 <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>
5068 </tr>
5069 </table>
5070</div><div class="memdoc">
5071
Jenkinsb3a371b2018-05-23 11:36:53 +01005072<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>
5073
Jenkinsb9abeae2018-11-22 11:58:08 +00005074<p class="definition">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 +00005075
5076</div>
5077</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005078<a id="a0339a19c93dde6754834a7d4ec7dab73"></a>
5079<h2 class="memtitle"><span class="permalink"><a href="#a0339a19c93dde6754834a7d4ec7dab73">&#9670;&nbsp;</a></span>ICLOldValArray</h2>
5080
Anthony Barbier871448e2017-03-24 14:54:29 +00005081<div class="memitem">
5082<div class="memproto">
5083 <table class="memname">
5084 <tr>
5085 <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>
5086 </tr>
5087 </table>
5088</div><div class="memdoc">
5089
Jenkinsb3a371b2018-05-23 11:36:53 +01005090<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>
5091
Jenkinsb9abeae2018-11-22 11:58:08 +00005092<p class="definition">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 +00005093
5094</div>
5095</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005096<a id="a64e11fcdd0f4a3f7d832495b7053fbe9"></a>
5097<h2 class="memtitle"><span class="permalink"><a href="#a64e11fcdd0f4a3f7d832495b7053fbe9">&#9670;&nbsp;</a></span>ICLROIArray</h2>
5098
Kaizen8938bd32017-09-28 14:38:23 +01005099<div class="memitem">
5100<div class="memproto">
5101 <table class="memname">
5102 <tr>
5103 <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>
5104 </tr>
5105 </table>
5106</div><div class="memdoc">
5107
Jenkinsb3a371b2018-05-23 11:36:53 +01005108<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>
5109
Jenkinsb9abeae2018-11-22 11:58:08 +00005110<p class="definition">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 +01005111
5112</div>
5113</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005114<a id="a68396eee600b3d23bf7f95a802e65dff"></a>
5115<h2 class="memtitle"><span class="permalink"><a href="#a68396eee600b3d23bf7f95a802e65dff">&#9670;&nbsp;</a></span>ICLSize2DArray</h2>
5116
Anthony Barbier871448e2017-03-24 14:54:29 +00005117<div class="memitem">
5118<div class="memproto">
5119 <table class="memname">
5120 <tr>
5121 <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>
5122 </tr>
5123 </table>
5124</div><div class="memdoc">
5125
Jenkinsb3a371b2018-05-23 11:36:53 +01005126<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 +00005127
Jenkinsb9abeae2018-11-22 11:58:08 +00005128<p class="definition">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 +00005129
5130</div>
5131</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005132<a id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
5133<h2 class="memtitle"><span class="permalink"><a href="#aed5c7222c31a34327f00de37d8c4f4fc">&#9670;&nbsp;</a></span>ICLUInt16Array</h2>
5134
Anthony Barbier871448e2017-03-24 14:54:29 +00005135<div class="memitem">
5136<div class="memproto">
5137 <table class="memname">
5138 <tr>
5139 <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>
5140 </tr>
5141 </table>
5142</div><div class="memdoc">
5143
Jenkinsb3a371b2018-05-23 11:36:53 +01005144<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>
5145
Jenkinsb9abeae2018-11-22 11:58:08 +00005146<p class="definition">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 +00005147
5148</div>
5149</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005150<a id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
5151<h2 class="memtitle"><span class="permalink"><a href="#a6b5f839e8d27c6351e8d58812dd46c97">&#9670;&nbsp;</a></span>ICLUInt32Array</h2>
5152
Anthony Barbier871448e2017-03-24 14:54:29 +00005153<div class="memitem">
5154<div class="memproto">
5155 <table class="memname">
5156 <tr>
5157 <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>
5158 </tr>
5159 </table>
5160</div><div class="memdoc">
5161
Jenkinsb3a371b2018-05-23 11:36:53 +01005162<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>
5163
Jenkinsb9abeae2018-11-22 11:58:08 +00005164<p class="definition">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 +00005165
5166</div>
5167</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005168<a id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
5169<h2 class="memtitle"><span class="permalink"><a href="#a72251c7a73b3c057ffca9f32ee3e19ea">&#9670;&nbsp;</a></span>ICLUInt8Array</h2>
5170
Anthony Barbier871448e2017-03-24 14:54:29 +00005171<div class="memitem">
5172<div class="memproto">
5173 <table class="memname">
5174 <tr>
5175 <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>
5176 </tr>
5177 </table>
5178</div><div class="memdoc">
5179
Jenkinsb3a371b2018-05-23 11:36:53 +01005180<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>
5181
Jenkinsb9abeae2018-11-22 11:58:08 +00005182<p class="definition">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 +00005183
5184</div>
5185</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005186<a id="aac9efd49d3bbbd53779713e5fb37de62"></a>
5187<h2 class="memtitle"><span class="permalink"><a href="#aac9efd49d3bbbd53779713e5fb37de62">&#9670;&nbsp;</a></span>ICoordinates2DArray</h2>
5188
Anthony Barbier871448e2017-03-24 14:54:29 +00005189<div class="memitem">
5190<div class="memproto">
5191 <table class="memname">
5192 <tr>
5193 <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>
5194 </tr>
5195 </table>
5196</div><div class="memdoc">
5197
Jenkinsb3a371b2018-05-23 11:36:53 +01005198<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>
5199
Jenkinsb9abeae2018-11-22 11:58:08 +00005200<p class="definition">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 +00005201
5202</div>
5203</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005204<a id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
5205<h2 class="memtitle"><span class="permalink"><a href="#a52b3b9de6092ae37321159c4c2f1bf40">&#9670;&nbsp;</a></span>IDetectionWindowArray</h2>
5206
Anthony Barbier871448e2017-03-24 14:54:29 +00005207<div class="memitem">
5208<div class="memproto">
5209 <table class="memname">
5210 <tr>
5211 <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>
5212 </tr>
5213 </table>
5214</div><div class="memdoc">
5215
Jenkinsb3a371b2018-05-23 11:36:53 +01005216<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>
5217
Jenkinsb9abeae2018-11-22 11:58:08 +00005218<p class="definition">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 +00005219
5220</div>
5221</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005222<a id="a8a82a1928159e86b0778c3c14e8842be"></a>
5223<h2 class="memtitle"><span class="permalink"><a href="#a8a82a1928159e86b0778c3c14e8842be">&#9670;&nbsp;</a></span>IFloatArray</h2>
5224
Anthony Barbier871448e2017-03-24 14:54:29 +00005225<div class="memitem">
5226<div class="memproto">
5227 <table class="memname">
5228 <tr>
5229 <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>
5230 </tr>
5231 </table>
5232</div><div class="memdoc">
5233
Jenkinsb3a371b2018-05-23 11:36:53 +01005234<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>
5235
Jenkinsb9abeae2018-11-22 11:58:08 +00005236<p class="definition">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 +00005237
5238</div>
5239</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005240<a id="a39070701484fa98eaa18cfcdb6aeb175"></a>
5241<h2 class="memtitle"><span class="permalink"><a href="#a39070701484fa98eaa18cfcdb6aeb175">&#9670;&nbsp;</a></span>IGCImage</h2>
5242
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005243<div class="memitem">
5244<div class="memproto">
5245 <table class="memname">
5246 <tr>
5247 <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>
5248 </tr>
5249 </table>
5250</div><div class="memdoc">
5251
Jenkinsb3a371b2018-05-23 11:36:53 +01005252<p>Interface for GLES Compute image. </p>
5253
Jenkinsb9abeae2018-11-22 11:58:08 +00005254<p class="definition">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 +00005255
5256</div>
5257</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005258<a id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
5259<h2 class="memtitle"><span class="permalink"><a href="#ac20902ac1ef01783c8a8d71a9bdf1100">&#9670;&nbsp;</a></span>IImage</h2>
5260
Anthony Barbier871448e2017-03-24 14:54:29 +00005261<div class="memitem">
5262<div class="memproto">
5263 <table class="memname">
5264 <tr>
5265 <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>
5266 </tr>
5267 </table>
5268</div><div class="memdoc">
5269
Jenkinsb3a371b2018-05-23 11:36:53 +01005270<p>Interface for CPP Images. </p>
5271
Jenkinsb9abeae2018-11-22 11:58:08 +00005272<p class="definition">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 +00005273
5274</div>
5275</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005276<a id="a1dd5e04cea002eae658fa2a899848ad7"></a>
5277<h2 class="memtitle"><span class="permalink"><a href="#a1dd5e04cea002eae658fa2a899848ad7">&#9670;&nbsp;</a></span>IInt16Array</h2>
5278
Anthony Barbier871448e2017-03-24 14:54:29 +00005279<div class="memitem">
5280<div class="memproto">
5281 <table class="memname">
5282 <tr>
5283 <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>
5284 </tr>
5285 </table>
5286</div><div class="memdoc">
5287
Jenkinsb3a371b2018-05-23 11:36:53 +01005288<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>
5289
Jenkinsb9abeae2018-11-22 11:58:08 +00005290<p class="definition">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 +00005291
5292</div>
5293</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005294<a id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
5295<h2 class="memtitle"><span class="permalink"><a href="#a51fdf34dfc5c60b6f4f455f0a9cac457">&#9670;&nbsp;</a></span>IInt32Array</h2>
5296
Anthony Barbier871448e2017-03-24 14:54:29 +00005297<div class="memitem">
5298<div class="memproto">
5299 <table class="memname">
5300 <tr>
5301 <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>
5302 </tr>
5303 </table>
5304</div><div class="memdoc">
5305
Jenkinsb3a371b2018-05-23 11:36:53 +01005306<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>
5307
Jenkinsb9abeae2018-11-22 11:58:08 +00005308<p class="definition">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 +00005309
5310</div>
5311</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005312<a id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
5313<h2 class="memtitle"><span class="permalink"><a href="#ab56a557a5fdf97819f23c35c24f0b0d2">&#9670;&nbsp;</a></span>IKeyPointArray</h2>
5314
Anthony Barbier871448e2017-03-24 14:54:29 +00005315<div class="memitem">
5316<div class="memproto">
5317 <table class="memname">
5318 <tr>
5319 <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>
5320 </tr>
5321 </table>
5322</div><div class="memdoc">
5323
Jenkinsb3a371b2018-05-23 11:36:53 +01005324<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>
5325
Jenkinsb9abeae2018-11-22 11:58:08 +00005326<p class="definition">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 +00005327
5328</div>
5329</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005330<a id="a7fb6a368d181ef193475f725c713430a"></a>
5331<h2 class="memtitle"><span class="permalink"><a href="#a7fb6a368d181ef193475f725c713430a">&#9670;&nbsp;</a></span>Image</h2>
5332
Anthony Barbier871448e2017-03-24 14:54:29 +00005333<div class="memitem">
5334<div class="memproto">
5335 <table class="memname">
5336 <tr>
5337 <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>
5338 </tr>
5339 </table>
5340</div><div class="memdoc">
5341
Jenkinsb3a371b2018-05-23 11:36:53 +01005342<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
5343
Jenkinsb9abeae2018-11-22 11:58:08 +00005344<p class="definition">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 +00005345
5346</div>
5347</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005348<a id="a9f3ed96e009111cfbe53d3f77c712390"></a>
5349<h2 class="memtitle"><span class="permalink"><a href="#a9f3ed96e009111cfbe53d3f77c712390">&#9670;&nbsp;</a></span>INEKernel</h2>
5350
Anthony Barbier871448e2017-03-24 14:54:29 +00005351<div class="memitem">
5352<div class="memproto">
5353 <table class="memname">
5354 <tr>
5355 <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>
5356 </tr>
5357 </table>
5358</div><div class="memdoc">
5359
Jenkinsb3a371b2018-05-23 11:36:53 +01005360<p>Common interface for all kernels implemented in NEON. </p>
5361
Jenkinsb9abeae2018-11-22 11:58:08 +00005362<p class="definition">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 +00005363
5364</div>
5365</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005366<a id="a19699533eb1b662e46a10715f6086487"></a>
5367<h2 class="memtitle"><span class="permalink"><a href="#a19699533eb1b662e46a10715f6086487">&#9670;&nbsp;</a></span>INELKInternalKeypointArray</h2>
5368
Anthony Barbier871448e2017-03-24 14:54:29 +00005369<div class="memitem">
5370<div class="memproto">
5371 <table class="memname">
5372 <tr>
5373 <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>
5374 </tr>
5375 </table>
5376</div><div class="memdoc">
5377
Jenkinsb3a371b2018-05-23 11:36:53 +01005378<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>
5379
Jenkinsb9abeae2018-11-22 11:58:08 +00005380<p class="definition">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 +00005381
5382</div>
5383</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005384<a id="a4aad0c49ce3d7cf4693830398f190250"></a>
5385<h2 class="memtitle"><span class="permalink"><a href="#a4aad0c49ce3d7cf4693830398f190250">&#9670;&nbsp;</a></span>INESimpleKernel</h2>
5386
Anthony Barbier871448e2017-03-24 14:54:29 +00005387<div class="memitem">
5388<div class="memproto">
5389 <table class="memname">
5390 <tr>
5391 <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>
5392 </tr>
5393 </table>
5394</div><div class="memdoc">
5395
Jenkinsb3a371b2018-05-23 11:36:53 +01005396<p>Interface for simple NEON kernels having 1 tensor input and 1 tensor output. </p>
5397
Jenkinsb9abeae2018-11-22 11:58:08 +00005398<p class="definition">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 +00005399
5400</div>
5401</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005402<a id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
5403<h2 class="memtitle"><span class="permalink"><a href="#a69c19b38cbee8fa6680513f6ff76bbb3">&#9670;&nbsp;</a></span>Int16Array</h2>
5404
Anthony Barbier871448e2017-03-24 14:54:29 +00005405<div class="memitem">
5406<div class="memproto">
5407 <table class="memname">
5408 <tr>
5409 <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>
5410 </tr>
5411 </table>
5412</div><div class="memdoc">
5413
Jenkinsb3a371b2018-05-23 11:36:53 +01005414<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>
5415
Jenkinsb9abeae2018-11-22 11:58:08 +00005416<p class="definition">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 +00005417
5418</div>
5419</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005420<a id="a6af9862834629c287a81b16837b51e44"></a>
5421<h2 class="memtitle"><span class="permalink"><a href="#a6af9862834629c287a81b16837b51e44">&#9670;&nbsp;</a></span>Int32Array</h2>
5422
Anthony Barbier871448e2017-03-24 14:54:29 +00005423<div class="memitem">
5424<div class="memproto">
5425 <table class="memname">
5426 <tr>
5427 <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>
5428 </tr>
5429 </table>
5430</div><div class="memdoc">
5431
Jenkinsb3a371b2018-05-23 11:36:53 +01005432<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>
5433
Jenkinsb9abeae2018-11-22 11:58:08 +00005434<p class="definition">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 +00005435
5436</div>
5437</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005438<a id="a2ab89a5d0959531aac270879cdd3ed78"></a>
5439<h2 class="memtitle"><span class="permalink"><a href="#a2ab89a5d0959531aac270879cdd3ed78">&#9670;&nbsp;</a></span>InternalKeypoint</h2>
5440
Anthony Barbier871448e2017-03-24 14:54:29 +00005441<div class="memitem">
5442<div class="memproto">
5443 <table class="memname">
5444 <tr>
5445 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt;float, float, float&gt;</td>
5446 </tr>
5447 </table>
5448</div><div class="memdoc">
5449
Jenkinsb3a371b2018-05-23 11:36:53 +01005450<p>Internal key point. </p>
5451
Jenkinsb9abeae2018-11-22 11:58:08 +00005452<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00450">450</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 +01005453
5454</div>
5455</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005456<a id="ae273be451a4d6de5fa255cb8fb09a64b"></a>
5457<h2 class="memtitle"><span class="permalink"><a href="#ae273be451a4d6de5fa255cb8fb09a64b">&#9670;&nbsp;</a></span>IROIArray</h2>
5458
Kaizen8938bd32017-09-28 14:38:23 +01005459<div class="memitem">
5460<div class="memproto">
5461 <table class="memname">
5462 <tr>
5463 <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>
5464 </tr>
5465 </table>
5466</div><div class="memdoc">
5467
Jenkinsb3a371b2018-05-23 11:36:53 +01005468<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>
5469
Jenkinsb9abeae2018-11-22 11:58:08 +00005470<p class="definition">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 +00005471
5472</div>
5473</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005474<a id="a32e4b9083329486a06960006af89a84c"></a>
5475<h2 class="memtitle"><span class="permalink"><a href="#a32e4b9083329486a06960006af89a84c">&#9670;&nbsp;</a></span>ISize2DArray</h2>
5476
Anthony Barbier871448e2017-03-24 14:54:29 +00005477<div class="memitem">
5478<div class="memproto">
5479 <table class="memname">
5480 <tr>
5481 <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>
5482 </tr>
5483 </table>
5484</div><div class="memdoc">
5485
Jenkinsb3a371b2018-05-23 11:36:53 +01005486<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>
5487
Jenkinsb9abeae2018-11-22 11:58:08 +00005488<p class="definition">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 +00005489
5490</div>
5491</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005492<a id="a1ffe8af91a934c926d102938db8d3ce1"></a>
5493<h2 class="memtitle"><span class="permalink"><a href="#a1ffe8af91a934c926d102938db8d3ce1">&#9670;&nbsp;</a></span>IUInt16Array</h2>
5494
Anthony Barbier871448e2017-03-24 14:54:29 +00005495<div class="memitem">
5496<div class="memproto">
5497 <table class="memname">
5498 <tr>
5499 <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>
5500 </tr>
5501 </table>
5502</div><div class="memdoc">
5503
Jenkinsb3a371b2018-05-23 11:36:53 +01005504<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>
5505
Jenkinsb9abeae2018-11-22 11:58:08 +00005506<p class="definition">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 +00005507
5508</div>
5509</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005510<a id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
5511<h2 class="memtitle"><span class="permalink"><a href="#ac9b2a6fa6e146437bfc8c0bee96e4760">&#9670;&nbsp;</a></span>IUInt32Array</h2>
5512
Anthony Barbier871448e2017-03-24 14:54:29 +00005513<div class="memitem">
5514<div class="memproto">
5515 <table class="memname">
5516 <tr>
5517 <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>
5518 </tr>
5519 </table>
5520</div><div class="memdoc">
5521
Jenkinsb3a371b2018-05-23 11:36:53 +01005522<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>
5523
Jenkinsb9abeae2018-11-22 11:58:08 +00005524<p class="definition">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 +00005525
5526</div>
5527</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005528<a id="a276401fd5651e75431d3e1cc90601caa"></a>
5529<h2 class="memtitle"><span class="permalink"><a href="#a276401fd5651e75431d3e1cc90601caa">&#9670;&nbsp;</a></span>IUInt8Array</h2>
5530
Anthony Barbier871448e2017-03-24 14:54:29 +00005531<div class="memitem">
5532<div class="memproto">
5533 <table class="memname">
5534 <tr>
5535 <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>
5536 </tr>
5537 </table>
5538</div><div class="memdoc">
5539
Jenkinsb3a371b2018-05-23 11:36:53 +01005540<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>
5541
Jenkinsb9abeae2018-11-22 11:58:08 +00005542<p class="definition">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 +00005543
5544</div>
5545</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005546<a id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
5547<h2 class="memtitle"><span class="permalink"><a href="#a8856eca9a83e16bb0cb5880e9c6c9fe7">&#9670;&nbsp;</a></span>KeyPointArray</h2>
5548
Anthony Barbier871448e2017-03-24 14:54:29 +00005549<div class="memitem">
5550<div class="memproto">
5551 <table class="memname">
5552 <tr>
5553 <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>
5554 </tr>
5555 </table>
5556</div><div class="memdoc">
5557
Jenkinsb3a371b2018-05-23 11:36:53 +01005558<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>
5559
Jenkinsb9abeae2018-11-22 11:58:08 +00005560<p class="definition">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 +00005561
5562</div>
5563</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005564<a id="a681c120e2188371794ec3a59768c64ab"></a>
5565<h2 class="memtitle"><span class="permalink"><a href="#a681c120e2188371794ec3a59768c64ab">&#9670;&nbsp;</a></span>LKInternalKeypointArray</h2>
5566
Anthony Barbier871448e2017-03-24 14:54:29 +00005567<div class="memitem">
5568<div class="memproto">
5569 <table class="memname">
5570 <tr>
5571 <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>
5572 </tr>
5573 </table>
5574</div><div class="memdoc">
5575
Jenkinsb3a371b2018-05-23 11:36:53 +01005576<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>
5577
Jenkinsb9abeae2018-11-22 11:58:08 +00005578<p class="definition">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 +01005579
5580</div>
5581</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005582<a id="a0e7a03e2e133cb1fbb12517a3f646a09"></a>
5583<h2 class="memtitle"><span class="permalink"><a href="#a0e7a03e2e133cb1fbb12517a3f646a09">&#9670;&nbsp;</a></span>MemoryGroup</h2>
5584
Kaizen8938bd32017-09-28 14:38:23 +01005585<div class="memitem">
5586<div class="memproto">
5587 <table class="memname">
5588 <tr>
5589 <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>
5590 </tr>
5591 </table>
5592</div><div class="memdoc">
5593
Jenkinsb3a371b2018-05-23 11:36:53 +01005594<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group. </p>
5595
Jenkinsb9abeae2018-11-22 11:58:08 +00005596<p class="definition">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 +01005597
5598</div>
5599</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005600<a id="a43b7da220a8ead83acff98f218f7eb6b"></a>
5601<h2 class="memtitle"><span class="permalink"><a href="#a43b7da220a8ead83acff98f218f7eb6b">&#9670;&nbsp;</a></span>MemoryMappings</h2>
5602
Kaizen8938bd32017-09-28 14:38:23 +01005603<div class="memitem">
5604<div class="memproto">
5605 <table class="memname">
5606 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00005607 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a43b7da220a8ead83acff98f218f7eb6b">MemoryMappings</a> = std::map&lt;<a class="el" href="classarm__compute_1_1_i_memory.xhtml">IMemory</a> *, size_t&gt;</td>
Kaizen8938bd32017-09-28 14:38:23 +01005608 </tr>
5609 </table>
5610</div><div class="memdoc">
5611
5612<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>
5613<dl class="section note"><dt>Note</dt><dd>All objects are pre-pinned to specific buffers to avoid any relevant overheads </dd></dl>
5614
Jenkinsb9abeae2018-11-22 11:58:08 +00005615<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00045">45</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01005616
5617</div>
5618</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005619<a id="acded863dbfdd730829d4188d67eefcf0"></a>
5620<h2 class="memtitle"><span class="permalink"><a href="#acded863dbfdd730829d4188d67eefcf0">&#9670;&nbsp;</a></span>Mutex</h2>
5621
Kaizen8938bd32017-09-28 14:38:23 +01005622<div class="memitem">
5623<div class="memproto">
5624 <table class="memname">
5625 <tr>
5626 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td>
5627 </tr>
5628 </table>
5629</div><div class="memdoc">
5630
Jenkinsb3a371b2018-05-23 11:36:53 +01005631<p>Wrapper of Mutex data-object. </p>
5632
Jenkinsb9abeae2018-11-22 11:58:08 +00005633<p class="definition">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 +00005634
5635</div>
5636</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005637<a id="aff99c045b07329b332b1cb97a2dd1518"></a>
5638<h2 class="memtitle"><span class="permalink"><a href="#aff99c045b07329b332b1cb97a2dd1518">&#9670;&nbsp;</a></span>NEAccumulateWeightedFP16Kernel</h2>
5639
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005640<div class="memitem">
5641<div class="memproto">
5642 <table class="memname">
5643 <tr>
5644 <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>
5645 </tr>
5646 </table>
5647</div><div class="memdoc">
5648
Jenkinsb3a371b2018-05-23 11:36:53 +01005649<p>Interface for the accumulate weighted kernel using F16. </p>
5650
Jenkinsb9abeae2018-11-22 11:58:08 +00005651<p class="definition">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 +00005652
5653</div>
5654</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005655<a id="a96f7f6f98dc47e0dc3b928bf87397ebf"></a>
5656<h2 class="memtitle"><span class="permalink"><a href="#a96f7f6f98dc47e0dc3b928bf87397ebf">&#9670;&nbsp;</a></span>NEBox3x3FP16Kernel</h2>
5657
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005658<div class="memitem">
5659<div class="memproto">
5660 <table class="memname">
5661 <tr>
5662 <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>
5663 </tr>
5664 </table>
5665</div><div class="memdoc">
5666
Jenkinsb3a371b2018-05-23 11:36:53 +01005667<p>NEON kernel to perform a Box 3x3 filter for FP16 datatype. </p>
5668
Jenkinsb9abeae2018-11-22 11:58:08 +00005669<p class="definition">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 +00005670
5671</div>
5672</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005673<a id="acf81639b3d33b5da654ef088e4d10520"></a>
5674<h2 class="memtitle"><span class="permalink"><a href="#acf81639b3d33b5da654ef088e4d10520">&#9670;&nbsp;</a></span>NEConvolution3x3Kernel</h2>
5675
Anthony Barbier871448e2017-03-24 14:54:29 +00005676<div class="memitem">
5677<div class="memproto">
5678 <table class="memname">
5679 <tr>
5680 <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>
5681 </tr>
5682 </table>
5683</div><div class="memdoc">
5684
5685<p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
5686
Jenkinsb9abeae2018-11-22 11:58:08 +00005687<p class="definition">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 +00005688
5689</div>
5690</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005691<a id="adbc7771d367ba8f51da1450d3602e5c0"></a>
5692<h2 class="memtitle"><span class="permalink"><a href="#adbc7771d367ba8f51da1450d3602e5c0">&#9670;&nbsp;</a></span>NEConvolution5x5</h2>
5693
Anthony Barbier46d59272017-05-04 09:15:15 +01005694<div class="memitem">
5695<div class="memproto">
5696 <table class="memname">
5697 <tr>
5698 <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>
5699 </tr>
5700 </table>
5701</div><div class="memdoc">
5702
5703<p>Basic function to run 5x5 convolution. </p>
5704
Jenkinsb9abeae2018-11-22 11:58:08 +00005705<p class="definition">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 +01005706
5707</div>
5708</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005709<a id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
5710<h2 class="memtitle"><span class="permalink"><a href="#a21898b2d2e31ab9af8933c66ff82c8c6">&#9670;&nbsp;</a></span>NEConvolution5x5Kernel</h2>
5711
Anthony Barbier871448e2017-03-24 14:54:29 +00005712<div class="memitem">
5713<div class="memproto">
5714 <table class="memname">
5715 <tr>
5716 <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>
5717 </tr>
5718 </table>
5719</div><div class="memdoc">
5720
5721<p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
5722
Jenkinsb9abeae2018-11-22 11:58:08 +00005723<p class="definition">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 +00005724
5725</div>
5726</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005727<a id="aeb2682fbeb2766df26b4be1971c9757d"></a>
5728<h2 class="memtitle"><span class="permalink"><a href="#aeb2682fbeb2766df26b4be1971c9757d">&#9670;&nbsp;</a></span>NEConvolution7x7</h2>
5729
Anthony Barbier46d59272017-05-04 09:15:15 +01005730<div class="memitem">
5731<div class="memproto">
5732 <table class="memname">
5733 <tr>
5734 <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>
5735 </tr>
5736 </table>
5737</div><div class="memdoc">
5738
5739<p>Basic function to run 7x7 convolution. </p>
5740
Jenkinsb9abeae2018-11-22 11:58:08 +00005741<p class="definition">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 +01005742
5743</div>
5744</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005745<a id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
5746<h2 class="memtitle"><span class="permalink"><a href="#ae46cbbe03d31c6c8e7eba7b58999842d">&#9670;&nbsp;</a></span>NEConvolution7x7Kernel</h2>
5747
Anthony Barbier871448e2017-03-24 14:54:29 +00005748<div class="memitem">
5749<div class="memproto">
5750 <table class="memname">
5751 <tr>
5752 <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>
5753 </tr>
5754 </table>
5755</div><div class="memdoc">
5756
5757<p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
5758
Jenkinsb9abeae2018-11-22 11:58:08 +00005759<p class="definition">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 +00005760
5761</div>
5762</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005763<a id="ae5a088552f26a1afafd0cbf821d256fb"></a>
5764<h2 class="memtitle"><span class="permalink"><a href="#ae5a088552f26a1afafd0cbf821d256fb">&#9670;&nbsp;</a></span>NEConvolution9x9</h2>
5765
Anthony Barbier46d59272017-05-04 09:15:15 +01005766<div class="memitem">
5767<div class="memproto">
5768 <table class="memname">
5769 <tr>
5770 <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>
5771 </tr>
5772 </table>
5773</div><div class="memdoc">
5774
5775<p>Basic function to run 9x9 convolution. </p>
5776
Jenkinsb9abeae2018-11-22 11:58:08 +00005777<p class="definition">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 +01005778
5779</div>
5780</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005781<a id="a1025306f820a9e76df7e5891caacff7b"></a>
5782<h2 class="memtitle"><span class="permalink"><a href="#a1025306f820a9e76df7e5891caacff7b">&#9670;&nbsp;</a></span>NEConvolution9x9Kernel</h2>
5783
Anthony Barbier871448e2017-03-24 14:54:29 +00005784<div class="memitem">
5785<div class="memproto">
5786 <table class="memname">
5787 <tr>
5788 <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>
5789 </tr>
5790 </table>
5791</div><div class="memdoc">
5792
5793<p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
5794
Jenkinsb9abeae2018-11-22 11:58:08 +00005795<p class="definition">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 +00005796
5797</div>
5798</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005799<a id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
5800<h2 class="memtitle"><span class="permalink"><a href="#a38cad49e6beaef76bc1ec5064c9e9dba">&#9670;&nbsp;</a></span>NENonMaximaSuppression3x3FP16Kernel</h2>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005801
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005802<div class="memitem">
5803<div class="memproto">
5804 <table class="memname">
5805 <tr>
5806 <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>
5807 </tr>
5808 </table>
5809</div><div class="memdoc">
5810
Jenkinsb3a371b2018-05-23 11:36:53 +01005811<p>NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in FP16 if the input data type is FP32. </p>
5812
Jenkinsb9abeae2018-11-22 11:58:08 +00005813<p class="definition">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 +00005814
5815</div>
5816</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005817<a id="a0604c803e41880a4a16408efc4e6a69b"></a>
5818<h2 class="memtitle"><span class="permalink"><a href="#a0604c803e41880a4a16408efc4e6a69b">&#9670;&nbsp;</a></span>NEScheduler</h2>
5819
Anthony Barbier871448e2017-03-24 14:54:29 +00005820<div class="memitem">
5821<div class="memproto">
5822 <table class="memname">
5823 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005824 <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 +00005825 </tr>
5826 </table>
5827</div><div class="memdoc">
5828
Jenkinsb3a371b2018-05-23 11:36:53 +01005829<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>
5830
Jenkinsb9abeae2018-11-22 11:58:08 +00005831<p class="definition">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 +00005832
5833</div>
5834</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005835<a id="ac78a7593874c21cff86478c1ba6df27b"></a>
5836<h2 class="memtitle"><span class="permalink"><a href="#ac78a7593874c21cff86478c1ba6df27b">&#9670;&nbsp;</a></span>NESeparableConvolution5x5HorKernel</h2>
5837
Anthony Barbier871448e2017-03-24 14:54:29 +00005838<div class="memitem">
5839<div class="memproto">
5840 <table class="memname">
5841 <tr>
5842 <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>
5843 </tr>
5844 </table>
5845</div><div class="memdoc">
5846
5847<p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
5848
Jenkinsb9abeae2018-11-22 11:58:08 +00005849<p class="definition">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 +00005850
5851</div>
5852</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005853<a id="ae4152320657df499674ed64b16c28a7b"></a>
5854<h2 class="memtitle"><span class="permalink"><a href="#ae4152320657df499674ed64b16c28a7b">&#9670;&nbsp;</a></span>NESeparableConvolution5x5VertKernel</h2>
5855
Anthony Barbier871448e2017-03-24 14:54:29 +00005856<div class="memitem">
5857<div class="memproto">
5858 <table class="memname">
5859 <tr>
5860 <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>
5861 </tr>
5862 </table>
5863</div><div class="memdoc">
5864
5865<p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
5866
Jenkinsb9abeae2018-11-22 11:58:08 +00005867<p class="definition">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 +00005868
5869</div>
5870</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005871<a id="aca4adbcd292c26b0e392c59875c1e926"></a>
5872<h2 class="memtitle"><span class="permalink"><a href="#aca4adbcd292c26b0e392c59875c1e926">&#9670;&nbsp;</a></span>NESeparableConvolution7x7HorKernel</h2>
5873
Anthony Barbier871448e2017-03-24 14:54:29 +00005874<div class="memitem">
5875<div class="memproto">
5876 <table class="memname">
5877 <tr>
5878 <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>
5879 </tr>
5880 </table>
5881</div><div class="memdoc">
5882
5883<p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
5884
Jenkinsb9abeae2018-11-22 11:58:08 +00005885<p class="definition">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 +00005886
5887</div>
5888</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005889<a id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
5890<h2 class="memtitle"><span class="permalink"><a href="#a0f952bd0821b506e18514a3f4dbc6c39">&#9670;&nbsp;</a></span>NESeparableConvolution7x7VertKernel</h2>
5891
Anthony Barbier871448e2017-03-24 14:54:29 +00005892<div class="memitem">
5893<div class="memproto">
5894 <table class="memname">
5895 <tr>
5896 <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>
5897 </tr>
5898 </table>
5899</div><div class="memdoc">
5900
5901<p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
5902
Jenkinsb9abeae2018-11-22 11:58:08 +00005903<p class="definition">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 +00005904
5905</div>
5906</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005907<a id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
5908<h2 class="memtitle"><span class="permalink"><a href="#a4ba5f6b7cd6b70b75e42149f3bc08f38">&#9670;&nbsp;</a></span>NESeparableConvolution9x9HorKernel</h2>
5909
Anthony Barbier871448e2017-03-24 14:54:29 +00005910<div class="memitem">
5911<div class="memproto">
5912 <table class="memname">
5913 <tr>
5914 <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>
5915 </tr>
5916 </table>
5917</div><div class="memdoc">
5918
5919<p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
5920
Jenkinsb9abeae2018-11-22 11:58:08 +00005921<p class="definition">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 +00005922
5923</div>
5924</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005925<a id="a6310d21f215fface41df4cde725a62b9"></a>
5926<h2 class="memtitle"><span class="permalink"><a href="#a6310d21f215fface41df4cde725a62b9">&#9670;&nbsp;</a></span>NESeparableConvolution9x9VertKernel</h2>
5927
Anthony Barbier871448e2017-03-24 14:54:29 +00005928<div class="memitem">
5929<div class="memproto">
5930 <table class="memname">
5931 <tr>
5932 <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>
5933 </tr>
5934 </table>
5935</div><div class="memdoc">
5936
5937<p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
5938
Jenkinsb9abeae2018-11-22 11:58:08 +00005939<p class="definition">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 +00005940
5941</div>
5942</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005943<a id="a669b5d3c5994f9ae3be31df9a1014297"></a>
5944<h2 class="memtitle"><span class="permalink"><a href="#a669b5d3c5994f9ae3be31df9a1014297">&#9670;&nbsp;</a></span>PaddingInfo</h2>
5945
5946<div class="memitem">
5947<div class="memproto">
5948 <table class="memname">
5949 <tr>
5950 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a669b5d3c5994f9ae3be31df9a1014297">PaddingInfo</a> = std::pair&lt;uint32_t, uint32_t&gt;</td>
5951 </tr>
5952 </table>
5953</div><div class="memdoc">
5954
5955<p>Padding information as a pair of unsigned int start/end. </p>
5956
5957<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00477">477</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5958
5959</div>
5960</div>
5961<a id="ac1a1b012674e0f1de071a611391828ad"></a>
5962<h2 class="memtitle"><span class="permalink"><a href="#ac1a1b012674e0f1de071a611391828ad">&#9670;&nbsp;</a></span>PaddingList</h2>
5963
5964<div class="memitem">
5965<div class="memproto">
5966 <table class="memname">
5967 <tr>
5968 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> = std::vector&lt;<a class="el" href="namespacearm__compute.xhtml#a669b5d3c5994f9ae3be31df9a1014297">PaddingInfo</a>&gt;</td>
5969 </tr>
5970 </table>
5971</div><div class="memdoc">
5972
5973<p>List of padding information. </p>
5974
5975<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00480">480</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5976
5977</div>
5978</div>
5979<a id="a4467b302fc9ec312c40580336ab783da"></a>
5980<h2 class="memtitle"><span class="permalink"><a href="#a4467b302fc9ec312c40580336ab783da">&#9670;&nbsp;</a></span>PaddingSize</h2>
5981
Anthony Barbier871448e2017-03-24 14:54:29 +00005982<div class="memitem">
5983<div class="memproto">
5984 <table class="memname">
5985 <tr>
5986 <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>
5987 </tr>
5988 </table>
5989</div><div class="memdoc">
5990
Jenkinsb3a371b2018-05-23 11:36:53 +01005991<p>Container for 2D padding size. </p>
5992
Jenkinsb9abeae2018-11-22 11:58:08 +00005993<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00381">381</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 +00005994
5995</div>
5996</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00005997<a id="a33e65be485104e2e9e69fca551d6f492"></a>
5998<h2 class="memtitle"><span class="permalink"><a href="#a33e65be485104e2e9e69fca551d6f492">&#9670;&nbsp;</a></span>PermutationVector</h2>
5999
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006000<div class="memitem">
6001<div class="memproto">
6002 <table class="memname">
6003 <tr>
6004 <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>
6005 </tr>
6006 </table>
6007</div><div class="memdoc">
6008
6009<p>Permutation vector. </p>
6010
Jenkinsb9abeae2018-11-22 11:58:08 +00006011<p class="definition">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 +00006012
6013</div>
6014</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006015<a id="a1e36f8a2df3d6bd1756b90e2efb151e9"></a>
6016<h2 class="memtitle"><span class="permalink"><a href="#a1e36f8a2df3d6bd1756b90e2efb151e9">&#9670;&nbsp;</a></span>ptr_t</h2>
6017
6018<div class="memitem">
6019<div class="memproto">
6020 <table class="memname">
6021 <tr>
6022 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a> = T *</td>
6023 </tr>
6024 </table>
6025</div><div class="memdoc">
6026
6027<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00098">98</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
6028
6029</div>
6030</div>
6031<a id="ab8938bcb3ec0f5f8d93285eb3a28b701"></a>
6032<h2 class="memtitle"><span class="permalink"><a href="#ab8938bcb3ec0f5f8d93285eb3a28b701">&#9670;&nbsp;</a></span>qasymm8_t</h2>
6033
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006034<div class="memitem">
6035<div class="memproto">
6036 <table class="memname">
6037 <tr>
6038 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td>
6039 </tr>
6040 </table>
6041</div><div class="memdoc">
6042
6043<p>8 bit quantized asymmetric scalar value </p>
6044
Jenkinsb9abeae2018-11-22 11:58:08 +00006045<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006046
6047</div>
6048</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006049<a id="ac7e1832b8c58f07a98fc8d390b16ac27"></a>
6050<h2 class="memtitle"><span class="permalink"><a href="#ac7e1832b8c58f07a98fc8d390b16ac27">&#9670;&nbsp;</a></span>qasymm8x16_t</h2>
6051
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006052<div class="memitem">
6053<div class="memproto">
6054 <table class="memname">
6055 <tr>
6056 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td>
6057 </tr>
6058 </table>
6059</div><div class="memdoc">
6060
6061<p>8 bit quantized asymmetric vector with 16 elements </p>
6062
Jenkinsb9abeae2018-11-22 11:58:08 +00006063<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006064
6065</div>
6066</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006067<a id="a70ecc99f2f6b646579b58463dc026671"></a>
6068<h2 class="memtitle"><span class="permalink"><a href="#a70ecc99f2f6b646579b58463dc026671">&#9670;&nbsp;</a></span>qasymm8x8_t</h2>
6069
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006070<div class="memitem">
6071<div class="memproto">
6072 <table class="memname">
6073 <tr>
6074 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a70ecc99f2f6b646579b58463dc026671">qasymm8x8_t</a> = uint8x8_t</td>
6075 </tr>
6076 </table>
6077</div><div class="memdoc">
6078
6079<p>8 bit quantized asymmetric vector with 8 elements </p>
6080
Jenkinsb9abeae2018-11-22 11:58:08 +00006081<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006082
6083</div>
6084</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006085<a id="a805d740633d70a5f0b019d72c517e67d"></a>
6086<h2 class="memtitle"><span class="permalink"><a href="#a805d740633d70a5f0b019d72c517e67d">&#9670;&nbsp;</a></span>qasymm8x8x2_t</h2>
6087
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006088<div class="memitem">
6089<div class="memproto">
6090 <table class="memname">
6091 <tr>
6092 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a805d740633d70a5f0b019d72c517e67d">qasymm8x8x2_t</a> = uint8x8x2_t</td>
6093 </tr>
6094 </table>
6095</div><div class="memdoc">
6096
6097<p>8 bit quantized asymmetric vector with 16 elements </p>
6098
Jenkinsb9abeae2018-11-22 11:58:08 +00006099<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006100
6101</div>
6102</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006103<a id="a0c6e16826765130b480af53eda3635be"></a>
6104<h2 class="memtitle"><span class="permalink"><a href="#a0c6e16826765130b480af53eda3635be">&#9670;&nbsp;</a></span>qasymm8x8x3_t</h2>
6105
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006106<div class="memitem">
6107<div class="memproto">
6108 <table class="memname">
6109 <tr>
6110 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0c6e16826765130b480af53eda3635be">qasymm8x8x3_t</a> = uint8x8x3_t</td>
6111 </tr>
6112 </table>
6113</div><div class="memdoc">
6114
6115<p>8 bit quantized asymmetric vector with 24 elements </p>
6116
Jenkinsb9abeae2018-11-22 11:58:08 +00006117<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006118
6119</div>
6120</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006121<a id="a41d3460ff424e2e21c629b3f27386a8b"></a>
6122<h2 class="memtitle"><span class="permalink"><a href="#a41d3460ff424e2e21c629b3f27386a8b">&#9670;&nbsp;</a></span>qasymm8x8x4_t</h2>
6123
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006124<div class="memitem">
6125<div class="memproto">
6126 <table class="memname">
6127 <tr>
6128 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a41d3460ff424e2e21c629b3f27386a8b">qasymm8x8x4_t</a> = uint8x8x4_t</td>
6129 </tr>
6130 </table>
6131</div><div class="memdoc">
6132
6133<p>8 bit quantized asymmetric vector with 32 elements </p>
6134
Jenkinsb9abeae2018-11-22 11:58:08 +00006135<p class="definition">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 +01006136
6137</div>
6138</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006139<a id="a35ae0858a604c4c0672ce857e8080ae4"></a>
6140<h2 class="memtitle"><span class="permalink"><a href="#a35ae0858a604c4c0672ce857e8080ae4">&#9670;&nbsp;</a></span>ROIArray</h2>
6141
Jenkinsb3a371b2018-05-23 11:36:53 +01006142<div class="memitem">
6143<div class="memproto">
6144 <table class="memname">
6145 <tr>
6146 <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>
6147 </tr>
6148 </table>
6149</div><div class="memdoc">
6150
6151<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>
6152
Jenkinsb9abeae2018-11-22 11:58:08 +00006153<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +01006154
6155</div>
6156</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006157<a id="abd445adaaca7913c9344c90dc8c76358"></a>
6158<h2 class="memtitle"><span class="permalink"><a href="#abd445adaaca7913c9344c90dc8c76358">&#9670;&nbsp;</a></span>Size2DArray</h2>
6159
Anthony Barbier871448e2017-03-24 14:54:29 +00006160<div class="memitem">
6161<div class="memproto">
6162 <table class="memname">
6163 <tr>
6164 <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>
6165 </tr>
6166 </table>
6167</div><div class="memdoc">
6168
Jenkinsb3a371b2018-05-23 11:36:53 +01006169<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>
6170
Jenkinsb9abeae2018-11-22 11:58:08 +00006171<p class="definition">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 +00006172
6173</div>
6174</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006175<a id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
6176<h2 class="memtitle"><span class="permalink"><a href="#ab91cb2269b2e58ed2cb6bd2ca831d434">&#9670;&nbsp;</a></span>UInt16Array</h2>
6177
Anthony Barbier871448e2017-03-24 14:54:29 +00006178<div class="memitem">
6179<div class="memproto">
6180 <table class="memname">
6181 <tr>
6182 <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>
6183 </tr>
6184 </table>
6185</div><div class="memdoc">
6186
Jenkinsb3a371b2018-05-23 11:36:53 +01006187<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>
6188
Jenkinsb9abeae2018-11-22 11:58:08 +00006189<p class="definition">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 +00006190
6191</div>
6192</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006193<a id="acd6eb2619ccd5eee4963de3195785359"></a>
6194<h2 class="memtitle"><span class="permalink"><a href="#acd6eb2619ccd5eee4963de3195785359">&#9670;&nbsp;</a></span>UInt32Array</h2>
6195
Anthony Barbier871448e2017-03-24 14:54:29 +00006196<div class="memitem">
6197<div class="memproto">
6198 <table class="memname">
6199 <tr>
6200 <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>
6201 </tr>
6202 </table>
6203</div><div class="memdoc">
6204
Jenkinsb3a371b2018-05-23 11:36:53 +01006205<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>
6206
Jenkinsb9abeae2018-11-22 11:58:08 +00006207<p class="definition">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 +00006208
6209</div>
6210</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006211<a id="a9dbb5e00a3f397691eb782f03f65375c"></a>
6212<h2 class="memtitle"><span class="permalink"><a href="#a9dbb5e00a3f397691eb782f03f65375c">&#9670;&nbsp;</a></span>UInt8Array</h2>
6213
Anthony Barbier871448e2017-03-24 14:54:29 +00006214<div class="memitem">
6215<div class="memproto">
6216 <table class="memname">
6217 <tr>
6218 <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>
6219 </tr>
6220 </table>
6221</div><div class="memdoc">
6222
Jenkinsb3a371b2018-05-23 11:36:53 +01006223<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>
6224
Jenkinsb9abeae2018-11-22 11:58:08 +00006225<p class="definition">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>
6226
6227</div>
6228</div>
6229<a id="aef7a69b9cf4a1732d2be114b9b9bf3e3"></a>
6230<h2 class="memtitle"><span class="permalink"><a href="#aef7a69b9cf4a1732d2be114b9b9bf3e3">&#9670;&nbsp;</a></span>vec_16_byte_t</h2>
6231
6232<div class="memitem">
6233<div class="memproto">
6234 <table class="memname">
6235 <tr>
6236 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a> = <a class="el" href="namespacearm__compute.xhtml#a5cd8407762d2446f8eceefcc4b63e537">vec_n_byte_t</a>&lt;T, 16&gt;</td>
6237 </tr>
6238 </table>
6239</div><div class="memdoc">
6240
6241<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00089">89</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
6242
6243</div>
6244</div>
6245<a id="ab448de27f94cd38059b63980c3c08f40"></a>
6246<h2 class="memtitle"><span class="permalink"><a href="#ab448de27f94cd38059b63980c3c08f40">&#9670;&nbsp;</a></span>vec_8_byte_t</h2>
6247
6248<div class="memitem">
6249<div class="memproto">
6250 <table class="memname">
6251 <tr>
6252 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a> = <a class="el" href="namespacearm__compute.xhtml#a5cd8407762d2446f8eceefcc4b63e537">vec_n_byte_t</a>&lt;T, 8&gt;</td>
6253 </tr>
6254 </table>
6255</div><div class="memdoc">
6256
6257<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00092">92</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
6258
6259</div>
6260</div>
6261<a id="a5cd8407762d2446f8eceefcc4b63e537"></a>
6262<h2 class="memtitle"><span class="permalink"><a href="#a5cd8407762d2446f8eceefcc4b63e537">&#9670;&nbsp;</a></span>vec_n_byte_t</h2>
6263
6264<div class="memitem">
6265<div class="memproto">
6266 <table class="memname">
6267 <tr>
6268 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5cd8407762d2446f8eceefcc4b63e537">vec_n_byte_t</a> = <a class="el" href="namespacearm__compute.xhtml#a3fd0d641ff68bfe8475361a13de7b1cc">vec_n_t</a> &lt; T, N / sizeof(T) &gt;</td>
6269 </tr>
6270 </table>
6271</div><div class="memdoc">
6272
6273<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00086">86</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
6274
6275</div>
6276</div>
6277<a id="a3fd0d641ff68bfe8475361a13de7b1cc"></a>
6278<h2 class="memtitle"><span class="permalink"><a href="#a3fd0d641ff68bfe8475361a13de7b1cc">&#9670;&nbsp;</a></span>vec_n_t</h2>
6279
6280<div class="memitem">
6281<div class="memproto">
6282 <table class="memname">
6283 <tr>
6284 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3fd0d641ff68bfe8475361a13de7b1cc">vec_n_t</a> = typename vec_n_type&lt;T, N&gt;::type</td>
6285 </tr>
6286 </table>
6287</div><div class="memdoc">
6288
6289<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00083">83</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006290
6291</div>
6292</div>
6293<h2 class="groupheader">Enumeration Type Documentation</h2>
Jenkinsb9abeae2018-11-22 11:58:08 +00006294<a id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
6295<h2 class="memtitle"><span class="permalink"><a href="#a2d8a00f1d80a53ce8f75fa929c873202">&#9670;&nbsp;</a></span>BilinearInterpolation</h2>
6296
Anthony Barbier871448e2017-03-24 14:54:29 +00006297<div class="memitem">
6298<div class="memproto">
6299<table class="mlabels">
6300 <tr>
6301 <td class="mlabels-left">
6302 <table class="memname">
6303 <tr>
6304 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
6305 </tr>
6306 </table>
6307 </td>
6308 <td class="mlabels-right">
6309<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6310 </tr>
6311</table>
6312</div><div class="memdoc">
6313
6314<p>Bilinear Interpolation method used by LKTracker. </p>
6315<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006316<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW&#160;</td><td class="fielddoc"><p>Old-new method. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006317</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006318<tr><td class="fieldname"><a id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR&#160;</td><td class="fielddoc"><p>Scharr method. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006319</td></tr>
6320</table>
6321
Jenkinsb9abeae2018-11-22 11:58:08 +00006322<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00399">399</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6323<div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;{</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> </div><div class="line"><a name="l00403"></a><span class="lineno"> 403</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 +01006324<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 +00006325</div><!-- fragment -->
6326</div>
6327</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006328<a id="a15a05537a472ee742404821851529327"></a>
6329<h2 class="memtitle"><span class="permalink"><a href="#a15a05537a472ee742404821851529327">&#9670;&nbsp;</a></span>BorderMode</h2>
6330
Anthony Barbier871448e2017-03-24 14:54:29 +00006331<div class="memitem">
6332<div class="memproto">
6333<table class="mlabels">
6334 <tr>
6335 <td class="mlabels-left">
6336 <table class="memname">
6337 <tr>
6338 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
6339 </tr>
6340 </table>
6341 </td>
6342 <td class="mlabels-right">
6343<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6344 </tr>
6345</table>
6346</div><div class="memdoc">
6347
6348<p>Methods available to handle borders. </p>
6349<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006350<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED&#160;</td><td class="fielddoc"><p>Borders are left undefined. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006351</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006352<tr><td class="fieldname"><a id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT&#160;</td><td class="fielddoc"><p>Pixels outside the image are assumed to have a constant value. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006353</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006354<tr><td class="fieldname"><a id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE&#160;</td><td class="fielddoc"><p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006355</td></tr>
6356</table>
6357
Jenkinsb9abeae2018-11-22 11:58:08 +00006358<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00286">286</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6359<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</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 +00006360<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>
6361<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>
6362</div><!-- fragment -->
6363</div>
6364</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006365<a id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
6366<h2 class="memtitle"><span class="permalink"><a href="#a1ce9b523fd4f3b5bbcadcd796183455a">&#9670;&nbsp;</a></span>Channel</h2>
6367
Anthony Barbier871448e2017-03-24 14:54:29 +00006368<div class="memitem">
6369<div class="memproto">
6370<table class="mlabels">
6371 <tr>
6372 <td class="mlabels-left">
6373 <table class="memname">
6374 <tr>
6375 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
6376 </tr>
6377 </table>
6378 </td>
6379 <td class="mlabels-right">
6380<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6381 </tr>
6382</table>
6383</div><div class="memdoc">
6384
6385<p>Available channels. </p>
6386<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006387<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc"></td></tr>
6388<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0&#160;</td><td class="fielddoc"><p>Unknown channel format. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006389<p>First channel (used by formats with unknown channel types). </p>
6390</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006391<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1&#160;</td><td class="fielddoc"><p>Second channel (used by formats with unknown channel types). </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006392</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006393<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2&#160;</td><td class="fielddoc"><p>Third channel (used by formats with unknown channel types). </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006394</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006395<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3&#160;</td><td class="fielddoc"><p>Fourth channel (used by formats with unknown channel types). </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006396</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006397<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R&#160;</td><td class="fielddoc"><p>Red channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006398</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006399<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G&#160;</td><td class="fielddoc"><p>Green channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006400</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006401<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B&#160;</td><td class="fielddoc"><p>Blue channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006402</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006403<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A&#160;</td><td class="fielddoc"><p>Alpha channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006404</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006405<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y&#160;</td><td class="fielddoc"><p>Luma channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006406</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006407<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U&#160;</td><td class="fielddoc"><p>Cb/U channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006408</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006409<tr><td class="fieldname"><a id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V&#160;</td><td class="fielddoc"><p>Cr/V/Value channel. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006410</td></tr>
6411</table>
6412
Jenkinsb9abeae2018-11-22 11:58:08 +00006413<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00490">490</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6414<div class="fragment"><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;{</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</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 +00006415<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>
6416<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>
6417<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>
6418<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 +00006419<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>
6420<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>
6421<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>
6422<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>
6423<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 +01006424<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 +00006425<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>
6426</div><!-- fragment -->
6427</div>
6428</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006429<a id="a3a440b3893fa10608d4428958be1c52e"></a>
6430<h2 class="memtitle"><span class="permalink"><a href="#a3a440b3893fa10608d4428958be1c52e">&#9670;&nbsp;</a></span>CLVersion</h2>
6431
Kaizen8938bd32017-09-28 14:38:23 +01006432<div class="memitem">
6433<div class="memproto">
6434<table class="mlabels">
6435 <tr>
6436 <td class="mlabels-left">
6437 <table class="memname">
6438 <tr>
6439 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a></td>
6440 </tr>
6441 </table>
6442 </td>
6443 <td class="mlabels-right">
6444<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6445 </tr>
6446</table>
6447</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006448
6449<p>Available OpenCL Version. </p>
Kaizen8938bd32017-09-28 14:38:23 +01006450<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006451<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10&#160;</td><td class="fielddoc"></td></tr>
6452<tr><td class="fieldname"><a id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11&#160;</td><td class="fielddoc"></td></tr>
6453<tr><td class="fieldname"><a id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12&#160;</td><td class="fielddoc"></td></tr>
6454<tr><td class="fieldname"><a id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20&#160;</td><td class="fielddoc"></td></tr>
6455<tr><td class="fieldname"><a id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc"></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006456</table>
6457
Jenkinsb9abeae2018-11-22 11:58:08 +00006458<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +01006459<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 +01006460<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">arm_compute::CLVersion::CL12</a></div></div>
6461<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">arm_compute::CLVersion::CL10</a></div></div>
6462<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">arm_compute::CLVersion::CL11</a></div></div>
6463<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
6464</div><!-- fragment -->
6465</div>
6466</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006467<a id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
6468<h2 class="memtitle"><span class="permalink"><a href="#a82b8ac759c804bc1fb4e2d21e178fb6f">&#9670;&nbsp;</a></span>ConvertPolicy</h2>
6469
Anthony Barbier871448e2017-03-24 14:54:29 +00006470<div class="memitem">
6471<div class="memproto">
6472<table class="mlabels">
6473 <tr>
6474 <td class="mlabels-left">
6475 <table class="memname">
6476 <tr>
6477 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
6478 </tr>
6479 </table>
6480 </td>
6481 <td class="mlabels-right">
6482<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6483 </tr>
6484</table>
6485</div><div class="memdoc">
6486
6487<p>Policy to handle overflow. </p>
6488<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006489<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP&#160;</td><td class="fielddoc"><p>Wrap around. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006490</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006491<tr><td class="fieldname"><a id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE&#160;</td><td class="fielddoc"><p>Saturate. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006492</td></tr>
6493</table>
6494
Jenkinsb9abeae2018-11-22 11:58:08 +00006495<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00384">384</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6496<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00388"></a><span class="lineno"> 388</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 +00006497<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>
6498</div><!-- fragment -->
6499</div>
6500</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006501<a id="a683661ae75dcb7aef16b9c9bde31517d"></a>
6502<h2 class="memtitle"><span class="permalink"><a href="#a683661ae75dcb7aef16b9c9bde31517d">&#9670;&nbsp;</a></span>ConvolutionMethod</h2>
6503
Anthony Barbier06ea0482018-02-22 15:45:35 +00006504<div class="memitem">
6505<div class="memproto">
6506<table class="mlabels">
6507 <tr>
6508 <td class="mlabels-left">
6509 <table class="memname">
6510 <tr>
6511 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a></td>
6512 </tr>
6513 </table>
6514 </td>
6515 <td class="mlabels-right">
6516<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6517 </tr>
6518</table>
6519</div><div class="memdoc">
6520
6521<p>Available ConvolutionMethod. </p>
6522<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006523<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"></a>GEMM&#160;</td><td class="fielddoc"><p>Convolution using GEMM. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006524</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006525<tr><td class="fieldname"><a id="a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"></a>DIRECT&#160;</td><td class="fielddoc"><p>Direct convolution. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006526</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006527<tr><td class="fieldname"><a id="a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"></a>WINOGRAD&#160;</td><td class="fielddoc"><p>Convolution using Winograd. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006528</td></tr>
6529</table>
6530
Jenkinsb9abeae2018-11-22 11:58:08 +00006531<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01792">1792</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6532<div class="fragment"><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;{</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</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 +00006533<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>
6534<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>
6535</div><!-- fragment -->
6536</div>
6537</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006538<a id="aa41d7415a5386798147cccae2333d5d4"></a>
6539<h2 class="memtitle"><span class="permalink"><a href="#aa41d7415a5386798147cccae2333d5d4">&#9670;&nbsp;</a></span>CPUModel</h2>
6540
Kaizen8938bd32017-09-28 14:38:23 +01006541<div class="memitem">
6542<div class="memproto">
6543<table class="mlabels">
6544 <tr>
6545 <td class="mlabels-left">
6546 <table class="memname">
6547 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006548 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a></td>
Kaizen8938bd32017-09-28 14:38:23 +01006549 </tr>
6550 </table>
6551 </td>
6552 <td class="mlabels-right">
6553<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6554 </tr>
6555</table>
6556</div><div class="memdoc">
6557
Jenkinsb3a371b2018-05-23 11:36:53 +01006558<p>CPU models - we only need to detect CPUs we have microarchitecture-specific code for. </p>
6559<p>Architecture features are detected via HWCAPs. </p>
Kaizen8938bd32017-09-28 14:38:23 +01006560<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006561<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b"></a>GENERIC&#160;</td><td class="fielddoc"></td></tr>
6562<tr><td class="fieldname"><a id="aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8"></a>GENERIC_FP16&#160;</td><td class="fielddoc"></td></tr>
6563<tr><td class="fieldname"><a id="aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7"></a>GENERIC_FP16_DOT&#160;</td><td class="fielddoc"></td></tr>
6564<tr><td class="fieldname"><a id="aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53&#160;</td><td class="fielddoc"></td></tr>
6565<tr><td class="fieldname"><a id="aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"></a>A55r0&#160;</td><td class="fielddoc"></td></tr>
6566<tr><td class="fieldname"><a id="aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"></a>A55r1&#160;</td><td class="fielddoc"></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006567</table>
6568
Jenkinsb9abeae2018-11-22 11:58:08 +00006569<p class="definition">Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
6570<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; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>,</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</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>
Jenkins52ba29e2018-08-29 15:32:11 +00006571<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 +01006572<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 +00006573<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 +01006574<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">arm_compute::CPUModel::A55r1</a></div></div>
6575<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 +01006576</div><!-- fragment -->
6577</div>
6578</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006579<a id="ad1d5cce2d9e9a5d61c243e5c989112e0"></a>
6580<h2 class="memtitle"><span class="permalink"><a href="#ad1d5cce2d9e9a5d61c243e5c989112e0">&#9670;&nbsp;</a></span>DataLayout</h2>
6581
Anthony Barbier06ea0482018-02-22 15:45:35 +00006582<div class="memitem">
6583<div class="memproto">
6584<table class="mlabels">
6585 <tr>
6586 <td class="mlabels-left">
6587 <table class="memname">
6588 <tr>
6589 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a></td>
6590 </tr>
6591 </table>
6592 </td>
6593 <td class="mlabels-right">
6594<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6595 </tr>
6596</table>
6597</div><div class="memdoc">
6598
Jenkinsb9abeae2018-11-22 11:58:08 +00006599<p>[DataLayout enum definition] </p>
6600<p>Supported tensor data layouts </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006601<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006602<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad1d5cce2d9e9a5d61c243e5c989112e0a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc"><p>Unknown data layout. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006603</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006604<tr><td class="fieldname"><a id="ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"></a>NCHW&#160;</td><td class="fielddoc"><p>Num samples, channels, height, width. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006605</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006606<tr><td class="fieldname"><a id="ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"></a>NHWC&#160;</td><td class="fielddoc"><p>Num samples, height, width, channels. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006607</td></tr>
6608</table>
6609
Jenkinsb9abeae2018-11-22 11:58:08 +00006610<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00111">111</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6611<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</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 +01006612<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
6613<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>
6614</div><!-- fragment -->
6615</div>
6616</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006617<a id="a74ce3f7420453d3446218ff3b7453e02"></a>
6618<h2 class="memtitle"><span class="permalink"><a href="#a74ce3f7420453d3446218ff3b7453e02">&#9670;&nbsp;</a></span>DataLayoutDimension</h2>
6619
Jenkinsb3a371b2018-05-23 11:36:53 +01006620<div class="memitem">
6621<div class="memproto">
6622<table class="mlabels">
6623 <tr>
6624 <td class="mlabels-left">
6625 <table class="memname">
6626 <tr>
6627 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a></td>
6628 </tr>
6629 </table>
6630 </td>
6631 <td class="mlabels-right">
6632<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6633 </tr>
6634</table>
6635</div><div class="memdoc">
6636
Jenkinsb9abeae2018-11-22 11:58:08 +00006637<p>[DataLayout enum definition] </p>
6638<p>Supported tensor data layout dimensions </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006639<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006640<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229"></a>CHANNEL&#160;</td><td class="fielddoc"><p>channel </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006641</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006642<tr><td class="fieldname"><a id="a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6"></a>HEIGHT&#160;</td><td class="fielddoc"><p>height </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006643</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006644<tr><td class="fieldname"><a id="a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195"></a>WIDTH&#160;</td><td class="fielddoc"><p>width </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006645</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006646<tr><td class="fieldname"><a id="a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a"></a>BATCHES&#160;</td><td class="fielddoc"><p>batches </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006647</td></tr>
6648</table>
6649
Jenkinsb9abeae2018-11-22 11:58:08 +00006650<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00120">120</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6651<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;{</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</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 +01006652<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>
6653<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>
6654<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 +00006655</div><!-- fragment -->
6656</div>
6657</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006658<a id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
6659<h2 class="memtitle"><span class="permalink"><a href="#ad8ed01ff3ff33333d8e19db4d2818bb6">&#9670;&nbsp;</a></span>DataType</h2>
6660
Anthony Barbier871448e2017-03-24 14:54:29 +00006661<div class="memitem">
6662<div class="memproto">
6663<table class="mlabels">
6664 <tr>
6665 <td class="mlabels-left">
6666 <table class="memname">
6667 <tr>
6668 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
6669 </tr>
6670 </table>
6671 </td>
6672 <td class="mlabels-right">
6673<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6674 </tr>
6675</table>
6676</div><div class="memdoc">
6677
6678<p>Available data types. </p>
6679<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006680<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc"><p>Unknown data type. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006681</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006682<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc"><p>unsigned 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006683</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006684<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8&#160;</td><td class="fielddoc"><p>signed 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006685</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006686<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8&#160;</td><td class="fielddoc"><p>quantized, asymmetric fixed-point 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006687</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006688<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc"><p>unsigned 16-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006689</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006690<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc"><p>signed 16-bit number </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006691</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006692<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc"><p>unsigned 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006693</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006694<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc"><p>signed 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006695</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006696<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64&#160;</td><td class="fielddoc"><p>unsigned 64-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006697</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006698<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64&#160;</td><td class="fielddoc"><p>signed 64-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006699</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006700<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc"><p>16-bit floating-point number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006701</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006702<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc"><p>32-bit floating-point number </p>
Kaizen8938bd32017-09-28 14:38:23 +01006703</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006704<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64&#160;</td><td class="fielddoc"><p>64-bit floating-point number </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006705</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006706<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET&#160;</td><td class="fielddoc"><p>size_t </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006707</td></tr>
6708</table>
6709
Jenkinsb9abeae2018-11-22 11:58:08 +00006710<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00074">74</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6711<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; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</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 +00006712<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>
6713<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>
6714<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>
6715<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 +01006716<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>
6717<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 +00006718<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 +01006719<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 +00006720<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 +01006721<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 +01006722<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>
6723<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>
6724<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 +00006725</div><!-- fragment -->
6726</div>
6727</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006728<a id="a1fece1bd804e64f39f602d1c3969849a"></a>
6729<h2 class="memtitle"><span class="permalink"><a href="#a1fece1bd804e64f39f602d1c3969849a">&#9670;&nbsp;</a></span>DimensionRoundingType</h2>
6730
Anthony Barbier871448e2017-03-24 14:54:29 +00006731<div class="memitem">
6732<div class="memproto">
6733<table class="mlabels">
6734 <tr>
6735 <td class="mlabels-left">
6736 <table class="memname">
6737 <tr>
6738 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
6739 </tr>
6740 </table>
6741 </td>
6742 <td class="mlabels-right">
6743<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6744 </tr>
6745</table>
6746</div><div class="memdoc">
6747
6748<p>Dimension rounding type when down-scaling on CNNs. </p>
6749<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
6750<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006751<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR&#160;</td><td class="fielddoc"><p>Floor rounding. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006752</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006753<tr><td class="fieldname"><a id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL&#160;</td><td class="fielddoc"><p>Ceil rounding. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006754</td></tr>
6755</table>
6756
Jenkinsb9abeae2018-11-22 11:58:08 +00006757<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00566">566</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6758<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; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00570"></a><span class="lineno"> 570</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 +00006759<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>
6760</div><!-- fragment -->
6761</div>
6762</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006763<a id="a59e56af19e754a6aa26a612ebf91d05f"></a>
6764<h2 class="memtitle"><span class="permalink"><a href="#a59e56af19e754a6aa26a612ebf91d05f">&#9670;&nbsp;</a></span>ErrorCode</h2>
6765
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006766<div class="memitem">
6767<div class="memproto">
6768<table class="mlabels">
6769 <tr>
6770 <td class="mlabels-left">
6771 <table class="memname">
6772 <tr>
6773 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a></td>
6774 </tr>
6775 </table>
6776 </td>
6777 <td class="mlabels-right">
6778<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6779 </tr>
6780</table>
6781</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006782
6783<p>Available error codes. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006784<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006785<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"></a>OK&#160;</td><td class="fielddoc"><p>No error. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006786</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006787<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"></a>RUNTIME_ERROR&#160;</td><td class="fielddoc"><p>Generic runtime error. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006788</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006789<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"></a>UNSUPPORTED_EXTENSION_USE&#160;</td><td class="fielddoc"><p>Unsupported extension used. </p>
Jenkins52ba29e2018-08-29 15:32:11 +00006790</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006791</table>
6792
Jenkinsb9abeae2018-11-22 11:58:08 +00006793<p class="definition">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 +00006794<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>
6795<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 +00006796<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>
6797</div><!-- fragment -->
6798</div>
6799</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006800<a id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
6801<h2 class="memtitle"><span class="permalink"><a href="#ab4e88c89b3b7ea1735996cc4def22d58">&#9670;&nbsp;</a></span>Format</h2>
6802
Anthony Barbier871448e2017-03-24 14:54:29 +00006803<div class="memitem">
6804<div class="memproto">
6805<table class="mlabels">
6806 <tr>
6807 <td class="mlabels-left">
6808 <table class="memname">
6809 <tr>
6810 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
6811 </tr>
6812 </table>
6813 </td>
6814 <td class="mlabels-right">
6815<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6816 </tr>
6817</table>
6818</div><div class="memdoc">
6819
6820<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
6821<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006822<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc"><p>Unknown image format. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006823</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006824<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc"><p>1 channel, 1 U8 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006825</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006826<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc"><p>1 channel, 1 S16 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006827</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006828<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc"><p>1 channel, 1 U16 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006829</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006830<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc"><p>1 channel, 1 S32 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006831</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006832<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc"><p>1 channel, 1 U32 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006833</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006834<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc"><p>1 channel, 1 F16 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006835</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006836<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc"><p>1 channel, 1 F32 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006837</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006838<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88&#160;</td><td class="fielddoc"><p>2 channel, 1 U8 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006839</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006840<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888&#160;</td><td class="fielddoc"><p>3 channels, 1 U8 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006841</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006842<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888&#160;</td><td class="fielddoc"><p>4 channels, 1 U8 per channel </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006843</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006844<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444&#160;</td><td class="fielddoc"><p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006845</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006846<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422&#160;</td><td class="fielddoc"><p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006847</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006848<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12&#160;</td><td class="fielddoc"><p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006849</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006850<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21&#160;</td><td class="fielddoc"><p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006851</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006852<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV&#160;</td><td class="fielddoc"><p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006853</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00006854<tr><td class="fieldname"><a id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422&#160;</td><td class="fielddoc"><p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006855</td></tr>
6856</table>
6857
Jenkinsb9abeae2018-11-22 11:58:08 +00006858<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00052">52</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6859<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</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 +00006860<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>
6861<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>
6862<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>
6863<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>
6864<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>
6865<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>
6866<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>
6867<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>
6868<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>
6869<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>
6870<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>
6871<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>
6872<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 +01006873<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 +00006874<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>
6875<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 +00006876</div><!-- fragment -->
6877</div>
6878</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006879<a id="a5558e2cc22f7f4771653d992c8ad8864"></a>
6880<h2 class="memtitle"><span class="permalink"><a href="#a5558e2cc22f7f4771653d992c8ad8864">&#9670;&nbsp;</a></span>GEMMLowpOutputStageType</h2>
6881
6882<div class="memitem">
6883<div class="memproto">
6884<table class="mlabels">
6885 <tr>
6886 <td class="mlabels-left">
6887 <table class="memname">
6888 <tr>
6889 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">GEMMLowpOutputStageType</a></td>
6890 </tr>
6891 </table>
6892 </td>
6893 <td class="mlabels-right">
6894<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6895 </tr>
6896</table>
6897</div><div class="memdoc">
6898
6899<p>GEMMLowp output stage type. </p>
6900<table class="fieldtable">
6901<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693"></a>NONE&#160;</td><td class="fielddoc"><p>No quantization to uint8. </p>
6902</td></tr>
6903<tr><td class="fieldname"><a id="a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b"></a>QUANTIZE_DOWN&#160;</td><td class="fielddoc"><p>Quantize to uint8 using an integer multiplication. </p>
6904</td></tr>
6905<tr><td class="fieldname"><a id="a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca"></a>QUANTIZE_DOWN_FIXEDPOINT&#160;</td><td class="fielddoc"><p>Quantize to uint8 using a fixed point multiplication. </p>
6906</td></tr>
6907<tr><td class="fieldname"><a id="a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c"></a>QUANTIZE_DOWN_FLOAT&#160;</td><td class="fielddoc"><p>Quantize to uint8 using a floating point multiplication. </p>
6908</td></tr>
6909</table>
6910
6911<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01580">1580</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6912<div class="fragment"><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;{</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, </div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, </div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, </div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a> </div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT</a></div><div class="ttdoc">Quantize to uint8 using a fixed point multiplication. </div></div>
6913<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">arm_compute::GEMMLowpOutputStageType::NONE</a></div><div class="ttdoc">No quantization to uint8. </div></div>
6914<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT</a></div><div class="ttdoc">Quantize to uint8 using a floating point multiplication. </div></div>
6915<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN</a></div><div class="ttdoc">Quantize to uint8 using an integer multiplication. </div></div>
6916</div><!-- fragment -->
6917</div>
6918</div>
6919<a id="a735ac6c2a02e320969625308810444f3"></a>
6920<h2 class="memtitle"><span class="permalink"><a href="#a735ac6c2a02e320969625308810444f3">&#9670;&nbsp;</a></span>GPUTarget</h2>
6921
Anthony Barbierdbdab852017-06-23 15:42:00 +01006922<div class="memitem">
6923<div class="memproto">
6924<table class="mlabels">
6925 <tr>
6926 <td class="mlabels-left">
6927 <table class="memname">
6928 <tr>
6929 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a></td>
6930 </tr>
6931 </table>
6932 </td>
6933 <td class="mlabels-right">
6934<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6935 </tr>
6936</table>
6937</div><div class="memdoc">
6938
6939<p>Available GPU Targets. </p>
6940<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00006941<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc"></td></tr>
6942<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK&#160;</td><td class="fielddoc"></td></tr>
6943<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD&#160;</td><td class="fielddoc"></td></tr>
6944<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST&#160;</td><td class="fielddoc"></td></tr>
6945<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600&#160;</td><td class="fielddoc"></td></tr>
6946<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700&#160;</td><td class="fielddoc"></td></tr>
6947<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800&#160;</td><td class="fielddoc"></td></tr>
6948<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"></a>G71&#160;</td><td class="fielddoc"></td></tr>
6949<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"></a>G72&#160;</td><td class="fielddoc"></td></tr>
6950<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0"></a>G51&#160;</td><td class="fielddoc"></td></tr>
6951<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988"></a>G51BIG&#160;</td><td class="fielddoc"></td></tr>
6952<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f"></a>G51LIT&#160;</td><td class="fielddoc"></td></tr>
6953<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb"></a>G52&#160;</td><td class="fielddoc"></td></tr>
6954<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837"></a>G52LIT&#160;</td><td class="fielddoc"></td></tr>
6955<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d"></a>G76&#160;</td><td class="fielddoc"></td></tr>
6956<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"></a>TTRX&#160;</td><td class="fielddoc"></td></tr>
6957<tr><td class="fieldname"><a id="a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc"></a>TBOX&#160;</td><td class="fielddoc"></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006958</table>
6959
Jenkinsb9abeae2018-11-22 11:58:08 +00006960<p class="definition">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>
6961<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#a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb">G52</a> = 0x240,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837">G52LIT</a> = 0x241,</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a> = 0x250,</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x260,</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x270</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</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>
6962<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837">arm_compute::GPUTarget::G52LIT</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00006963<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 +01006964<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
6965<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 +01006966<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
6967<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>
6968<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 +01006969<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">arm_compute::GPUTarget::G72</a></div></div>
6970<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
6971<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 +01006972<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 +01006973<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">arm_compute::GPUTarget::TTRX</a></div></div>
6974<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 +01006975<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">arm_compute::GPUTarget::BIFROST</a></div></div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006976<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb">arm_compute::GPUTarget::G52</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006977<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 +01006978</div><!-- fragment -->
6979</div>
6980</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00006981<a id="ae46abc5ecac309cbece5c06cb80daaf7"></a>
6982<h2 class="memtitle"><span class="permalink"><a href="#ae46abc5ecac309cbece5c06cb80daaf7">&#9670;&nbsp;</a></span>GradientDimension</h2>
6983
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006984<div class="memitem">
6985<div class="memproto">
6986<table class="mlabels">
6987 <tr>
6988 <td class="mlabels-left">
6989 <table class="memname">
6990 <tr>
6991 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a></td>
6992 </tr>
6993 </table>
6994 </td>
6995 <td class="mlabels-right">
6996<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6997 </tr>
6998</table>
6999</div><div class="memdoc">
7000
7001<p>Gradient dimension type. </p>
7002<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007003<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc"></a>GRAD_XY&#160;</td><td class="fielddoc"><p>x and y gradient dimension </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007004</td></tr>
7005</table>
7006
Jenkinsb9abeae2018-11-22 11:58:08 +00007007<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +00007008<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 +00007009</div><!-- fragment -->
7010</div>
7011</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007012<a id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
7013<h2 class="memtitle"><span class="permalink"><a href="#a673665b4587a2956fcbad5f0e9ba89d3">&#9670;&nbsp;</a></span>HOGNormType</h2>
7014
Anthony Barbier871448e2017-03-24 14:54:29 +00007015<div class="memitem">
7016<div class="memproto">
7017<table class="mlabels">
7018 <tr>
7019 <td class="mlabels-left">
7020 <table class="memname">
7021 <tr>
7022 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
7023 </tr>
7024 </table>
7025 </td>
7026 <td class="mlabels-right">
7027<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7028 </tr>
7029</table>
7030</div><div class="memdoc">
7031
7032<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>
7033<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007034<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM&#160;</td><td class="fielddoc"><p>L2-norm. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007035</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007036<tr><td class="fieldname"><a id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM&#160;</td><td class="fielddoc"><p>L2-norm followed by clipping. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007037</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007038<tr><td class="fieldname"><a id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM&#160;</td><td class="fielddoc"><p>L1 norm. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007039</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00007040</table>
7041
Jenkinsb9abeae2018-11-22 11:58:08 +00007042<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00540">540</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7043<div class="fragment"><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;{</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00545"></a><span class="lineno"> 545</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 +00007044<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>
7045<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 +00007046</div><!-- fragment -->
7047</div>
7048</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007049<a id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
7050<h2 class="memtitle"><span class="permalink"><a href="#a966a9c417ce5e94dca08d9b5e745c0c9">&#9670;&nbsp;</a></span>InterpolationPolicy</h2>
7051
Anthony Barbier871448e2017-03-24 14:54:29 +00007052<div class="memitem">
7053<div class="memproto">
7054<table class="mlabels">
7055 <tr>
7056 <td class="mlabels-left">
7057 <table class="memname">
7058 <tr>
7059 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a></td>
7060 </tr>
7061 </table>
7062 </td>
7063 <td class="mlabels-right">
7064<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7065 </tr>
7066</table>
7067</div><div class="memdoc">
7068
7069<p>Interpolation method. </p>
7070<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007071<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR&#160;</td><td class="fielddoc"><p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007072</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007073<tr><td class="fieldname"><a id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR&#160;</td><td class="fielddoc"><p>Output values are defined by bilinear interpolation between the pixels. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007074</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007075<tr><td class="fieldname"><a id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA&#160;</td><td class="fielddoc"><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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007076</td></tr>
7077</table>
7078
Jenkinsb9abeae2018-11-22 11:58:08 +00007079<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00391">391</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7080<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</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 +00007081<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>
7082<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>
7083</div><!-- fragment -->
7084</div>
7085</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007086<a id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
7087<h2 class="memtitle"><span class="permalink"><a href="#a7b3ec6413f000b02fdb4e39a951d9f8a">&#9670;&nbsp;</a></span>MagnitudeType</h2>
7088
Anthony Barbier871448e2017-03-24 14:54:29 +00007089<div class="memitem">
7090<div class="memproto">
7091<table class="mlabels">
7092 <tr>
7093 <td class="mlabels-left">
7094 <table class="memname">
7095 <tr>
7096 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
7097 </tr>
7098 </table>
7099 </td>
7100 <td class="mlabels-right">
7101<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7102 </tr>
7103</table>
7104</div><div class="memdoc">
7105
7106<p>Magnitude calculation type. </p>
7107<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007108<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM&#160;</td><td class="fielddoc"><p>L1 normalization type. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007109</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007110<tr><td class="fieldname"><a id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM&#160;</td><td class="fielddoc"><p>L2 normalization type. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007111</td></tr>
7112</table>
7113
Jenkinsb9abeae2018-11-22 11:58:08 +00007114<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00421">421</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7115<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00425"></a><span class="lineno"> 425</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 +00007116<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>
7117</div><!-- fragment -->
7118</div>
7119</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007120<a id="af0a4d6be70322c742c12da1edccbb74d"></a>
7121<h2 class="memtitle"><span class="permalink"><a href="#af0a4d6be70322c742c12da1edccbb74d">&#9670;&nbsp;</a></span>MappingType</h2>
7122
Kaizen8938bd32017-09-28 14:38:23 +01007123<div class="memitem">
7124<div class="memproto">
7125<table class="mlabels">
7126 <tr>
7127 <td class="mlabels-left">
7128 <table class="memname">
7129 <tr>
7130 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a></td>
7131 </tr>
7132 </table>
7133 </td>
7134 <td class="mlabels-right">
7135<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7136 </tr>
7137</table>
7138</div><div class="memdoc">
7139
7140<p>Mapping type. </p>
7141<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007142<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS&#160;</td><td class="fielddoc"><p>Mappings are in blob granularity. </p>
Kaizen8938bd32017-09-28 14:38:23 +01007143</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007144<tr><td class="fieldname"><a id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS&#160;</td><td class="fielddoc"><p>Mappings are in offset granularity in the same blob. </p>
Kaizen8938bd32017-09-28 14:38:23 +01007145</td></tr>
7146</table>
7147
Jenkinsb9abeae2018-11-22 11:58:08 +00007148<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
7149<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#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</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 +01007150<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>
7151</div><!-- fragment -->
7152</div>
7153</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007154<a id="afdda916edc7502967bbec17ea3c06c02"></a>
7155<h2 class="memtitle"><span class="permalink"><a href="#afdda916edc7502967bbec17ea3c06c02">&#9670;&nbsp;</a></span>MatrixPattern</h2>
7156
Anthony Barbier871448e2017-03-24 14:54:29 +00007157<div class="memitem">
7158<div class="memproto">
7159<table class="mlabels">
7160 <tr>
7161 <td class="mlabels-left">
7162 <table class="memname">
7163 <tr>
7164 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
7165 </tr>
7166 </table>
7167 </td>
7168 <td class="mlabels-right">
7169<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7170 </tr>
7171</table>
7172</div><div class="memdoc">
7173
7174<p>Available matrix patterns. </p>
7175<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007176<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX&#160;</td><td class="fielddoc"><p>Box pattern matrix. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007177</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007178<tr><td class="fieldname"><a id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS&#160;</td><td class="fielddoc"><p>Cross pattern matrix. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007179</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007180<tr><td class="fieldname"><a id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK&#160;</td><td class="fielddoc"><p>Disk pattern matrix. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007181</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007182<tr><td class="fieldname"><a id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER&#160;</td><td class="fielddoc"><p>Any other matrix pattern. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007183</td></tr>
7184</table>
7185
Jenkinsb9abeae2018-11-22 11:58:08 +00007186<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00507">507</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7187<div class="fragment"><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;{</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</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 +00007188<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>
7189<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>
7190<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>
7191</div><!-- fragment -->
7192</div>
7193</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007194<a id="a4c9101ca1a1f72f48efff28b4b9a6495"></a>
7195<h2 class="memtitle"><span class="permalink"><a href="#a4c9101ca1a1f72f48efff28b4b9a6495">&#9670;&nbsp;</a></span>MemoryPolicy</h2>
7196
7197<div class="memitem">
7198<div class="memproto">
7199<table class="mlabels">
7200 <tr>
7201 <td class="mlabels-left">
7202 <table class="memname">
7203 <tr>
7204 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495">MemoryPolicy</a></td>
7205 </tr>
7206 </table>
7207 </td>
7208 <td class="mlabels-right">
7209<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7210 </tr>
7211</table>
7212</div><div class="memdoc">
7213
7214<p>Global memory policy. </p>
7215<p>The functions in the runtime will use different strategies based on the policy currently set.</p>
7216<p>MINIMIZE will try to reduce the amount allocated by the functions at the expense of performance normally. NORMAL won't try to save any memory and will favor speed over memory consumption </p>
7217<table class="fieldtable">
7218<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4c9101ca1a1f72f48efff28b4b9a6495a704bfa6c1ed5e479c8cfb5bdfc8cccda"></a>MINIMIZE&#160;</td><td class="fielddoc"></td></tr>
7219<tr><td class="fieldname"><a id="a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051"></a>NORMAL&#160;</td><td class="fielddoc"></td></tr>
7220</table>
7221
7222<p class="definition">Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00057">57</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
7223<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a704bfa6c1ed5e479c8cfb5bdfc8cccda">MINIMIZE</a>,</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a4c9101ca1a1f72f48efff28b4b9a6495a704bfa6c1ed5e479c8cfb5bdfc8cccda"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a704bfa6c1ed5e479c8cfb5bdfc8cccda">arm_compute::MemoryPolicy::MINIMIZE</a></div></div>
7224<div class="ttc" id="namespacearm__compute_xhtml_a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">arm_compute::MemoryPolicy::NORMAL</a></div></div>
7225</div><!-- fragment -->
7226</div>
7227</div>
7228<a id="a201391f6e13e2a1ac203256a77792718"></a>
7229<h2 class="memtitle"><span class="permalink"><a href="#a201391f6e13e2a1ac203256a77792718">&#9670;&nbsp;</a></span>NMSType</h2>
7230
7231<div class="memitem">
7232<div class="memproto">
7233<table class="mlabels">
7234 <tr>
7235 <td class="mlabels-left">
7236 <table class="memname">
7237 <tr>
7238 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718">NMSType</a></td>
7239 </tr>
7240 </table>
7241 </td>
7242 <td class="mlabels-right">
7243<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7244 </tr>
7245</table>
7246</div><div class="memdoc">
7247
7248<p>Available non maxima suppression types. </p>
7249<table class="fieldtable">
7250<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046"></a>LINEAR&#160;</td><td class="fielddoc"><p>Linear NMS. </p>
7251</td></tr>
7252<tr><td class="fieldname"><a id="a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9"></a>GAUSSIAN&#160;</td><td class="fielddoc"><p>Gaussian NMS. </p>
7253</td></tr>
7254<tr><td class="fieldname"><a id="a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1"></a>ORIGINAL&#160;</td><td class="fielddoc"><p>Original NMS. </p>
7255</td></tr>
7256</table>
7257
7258<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00581">581</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7259<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">LINEAR</a>, </div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>, </div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a> </div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">arm_compute::NMSType::GAUSSIAN</a></div><div class="ttdoc">Gaussian NMS. </div></div>
7260<div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">arm_compute::NMSType::ORIGINAL</a></div><div class="ttdoc">Original NMS. </div></div>
7261<div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">arm_compute::NMSType::LINEAR</a></div><div class="ttdoc">Linear NMS. </div></div>
7262</div><!-- fragment -->
7263</div>
7264</div>
7265<a id="adf2ced65e536375a1c96425d9fced858"></a>
7266<h2 class="memtitle"><span class="permalink"><a href="#adf2ced65e536375a1c96425d9fced858">&#9670;&nbsp;</a></span>NonLinearFilterFunction</h2>
7267
Anthony Barbier871448e2017-03-24 14:54:29 +00007268<div class="memitem">
7269<div class="memproto">
7270<table class="mlabels">
7271 <tr>
7272 <td class="mlabels-left">
7273 <table class="memname">
7274 <tr>
7275 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</td>
7276 </tr>
7277 </table>
7278 </td>
7279 <td class="mlabels-right">
7280<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7281 </tr>
7282</table>
7283</div><div class="memdoc">
7284
7285<p>Available non linear functions. </p>
7286<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007287<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN&#160;</td><td class="fielddoc"><p>Non linear median filter. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007288</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007289<tr><td class="fieldname"><a id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN&#160;</td><td class="fielddoc"><p>Non linear erode. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007290</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007291<tr><td class="fieldname"><a id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc"><p>Non linear dilate. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007292</td></tr>
7293</table>
7294
Jenkinsb9abeae2018-11-22 11:58:08 +00007295<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00516">516</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7296<div class="fragment"><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; : <span class="keywordtype">unsigned</span></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; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</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 +00007297<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>
7298<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>
7299</div><!-- fragment -->
7300</div>
7301</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007302<a id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
7303<h2 class="memtitle"><span class="permalink"><a href="#ad4bb8dabdbf8ad75e34220cc666b59ca">&#9670;&nbsp;</a></span>NormType</h2>
7304
Anthony Barbier871448e2017-03-24 14:54:29 +00007305<div class="memitem">
7306<div class="memproto">
7307<table class="mlabels">
7308 <tr>
7309 <td class="mlabels-left">
7310 <table class="memname">
7311 <tr>
7312 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
7313 </tr>
7314 </table>
7315 </td>
7316 <td class="mlabels-right">
7317<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7318 </tr>
7319</table>
7320</div><div class="memdoc">
7321
7322<p>The normalization type used for the normalization layer. </p>
7323<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007324<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D&#160;</td><td class="fielddoc"><p>Normalization applied within the same map in 1D region. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007325</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007326<tr><td class="fieldname"><a id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D&#160;</td><td class="fielddoc"><p>Normalization applied within the same map in 2D region. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007327</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007328<tr><td class="fieldname"><a id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP&#160;</td><td class="fielddoc"><p>Normalization applied cross maps. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007329</td></tr>
7330</table>
7331
Jenkinsb9abeae2018-11-22 11:58:08 +00007332<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00532">532</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7333<div class="fragment"><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;{</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</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 +01007334<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>
7335<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 +00007336</div><!-- fragment -->
7337</div>
7338</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007339<a id="af00a42ecad444bbda75cde1b64bd7e72"></a>
7340<h2 class="memtitle"><span class="permalink"><a href="#af00a42ecad444bbda75cde1b64bd7e72">&#9670;&nbsp;</a></span>PhaseType</h2>
7341
Anthony Barbier871448e2017-03-24 14:54:29 +00007342<div class="memitem">
7343<div class="memproto">
7344<table class="mlabels">
7345 <tr>
7346 <td class="mlabels-left">
7347 <table class="memname">
7348 <tr>
7349 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
7350 </tr>
7351 </table>
7352 </td>
7353 <td class="mlabels-right">
7354<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7355 </tr>
7356</table>
7357</div><div class="memdoc">
7358
7359<p>Phase calculation type. </p>
7360<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>
7361<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007362<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED&#160;</td><td class="fielddoc"><p>Angle range: [0, 360]. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007363</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007364<tr><td class="fieldname"><a id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED&#160;</td><td class="fielddoc"><p>Angle range: [0, 180]. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007365</td></tr>
7366</table>
7367
Jenkinsb9abeae2018-11-22 11:58:08 +00007368<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00431">431</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7369<div class="fragment"><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;{</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</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 +00007370<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>
7371</div><!-- fragment -->
7372</div>
7373</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007374<a id="a9172da722f0a434e5cc07c0a3c115d93"></a>
7375<h2 class="memtitle"><span class="permalink"><a href="#a9172da722f0a434e5cc07c0a3c115d93">&#9670;&nbsp;</a></span>PoolingType</h2>
7376
Anthony Barbier871448e2017-03-24 14:54:29 +00007377<div class="memitem">
7378<div class="memproto">
7379<table class="mlabels">
7380 <tr>
7381 <td class="mlabels-left">
7382 <table class="memname">
7383 <tr>
7384 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
7385 </tr>
7386 </table>
7387 </td>
7388 <td class="mlabels-right">
7389<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7390 </tr>
7391</table>
7392</div><div class="memdoc">
7393
7394<p>Available pooling types. </p>
7395<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007396<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc"><p>Max Pooling. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007397</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007398<tr><td class="fieldname"><a id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG&#160;</td><td class="fielddoc"><p>Average Pooling. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007399</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007400<tr><td class="fieldname"><a id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2&#160;</td><td class="fielddoc"><p>L2 Pooling. </p>
Kaizen8938bd32017-09-28 14:38:23 +01007401</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00007402</table>
7403
Jenkinsb9abeae2018-11-22 11:58:08 +00007404<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00573">573</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7405<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00578"></a><span class="lineno"> 578</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 +01007406<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 +00007407<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>
7408</div><!-- fragment -->
7409</div>
7410</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007411<a id="a5827eb9cb394e74af87f74bd354fb45b"></a>
7412<h2 class="memtitle"><span class="permalink"><a href="#a5827eb9cb394e74af87f74bd354fb45b">&#9670;&nbsp;</a></span>ReductionOperation</h2>
7413
Kaizen8938bd32017-09-28 14:38:23 +01007414<div class="memitem">
7415<div class="memproto">
7416<table class="mlabels">
7417 <tr>
7418 <td class="mlabels-left">
7419 <table class="memname">
7420 <tr>
7421 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a></td>
7422 </tr>
7423 </table>
7424 </td>
7425 <td class="mlabels-right">
7426<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7427 </tr>
7428</table>
7429</div><div class="memdoc">
7430
7431<p>Available reduction operations. </p>
7432<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007433<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE&#160;</td><td class="fielddoc"><p>Sum of squares. </p>
Kaizen8938bd32017-09-28 14:38:23 +01007434</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007435<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM&#160;</td><td class="fielddoc"><p>Sum. </p>
7436</td></tr>
7437<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5"></a>MEAN_SUM&#160;</td><td class="fielddoc"><p>Mean of sum. </p>
Kaizen8938bd32017-09-28 14:38:23 +01007438</td></tr>
7439</table>
7440
Jenkinsb9abeae2018-11-22 11:58:08 +00007441<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00524">524</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7442<div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;{</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, </div><div class="line"><a name="l00529"></a><span class="lineno"> 529</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 +01007443<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00007444<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">arm_compute::ReductionOperation::MEAN_SUM</a></div><div class="ttdoc">Mean of sum. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01007445</div><!-- fragment -->
7446</div>
7447</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007448<a id="add6426cbf2e057a195846d4ba09a50be"></a>
7449<h2 class="memtitle"><span class="permalink"><a href="#add6426cbf2e057a195846d4ba09a50be">&#9670;&nbsp;</a></span>RoundingPolicy</h2>
7450
Anthony Barbier871448e2017-03-24 14:54:29 +00007451<div class="memitem">
7452<div class="memproto">
7453<table class="mlabels">
7454 <tr>
7455 <td class="mlabels-left">
7456 <table class="memname">
7457 <tr>
7458 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a></td>
7459 </tr>
7460 </table>
7461 </td>
7462 <td class="mlabels-right">
7463<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7464 </tr>
7465</table>
7466</div><div class="memdoc">
7467
7468<p>Rounding method. </p>
7469<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007470<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO&#160;</td><td class="fielddoc"><p>Truncates the least significand values that are lost in operations. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007471</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007472<tr><td class="fieldname"><a id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP&#160;</td><td class="fielddoc"><p>Rounds to nearest value; half rounds away from zero. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007473</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007474<tr><td class="fieldname"><a id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN&#160;</td><td class="fielddoc"><p>Rounds to nearest value; half rounds to nearest even. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007475</td></tr>
7476</table>
7477
Jenkinsb9abeae2018-11-22 11:58:08 +00007478<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007479<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 +01007480<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 +00007481<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>
7482</div><!-- fragment -->
7483</div>
7484</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007485<a id="a16a59381d4d74d17d86d69eb4d286d7b"></a>
7486<h2 class="memtitle"><span class="permalink"><a href="#a16a59381d4d74d17d86d69eb4d286d7b">&#9670;&nbsp;</a></span>SamplingPolicy</h2>
7487
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007488<div class="memitem">
7489<div class="memproto">
7490<table class="mlabels">
7491 <tr>
7492 <td class="mlabels-left">
7493 <table class="memname">
7494 <tr>
7495 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a></td>
7496 </tr>
7497 </table>
7498 </td>
7499 <td class="mlabels-right">
7500<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7501 </tr>
7502</table>
7503</div><div class="memdoc">
7504
7505<p>Available Sampling Policies. </p>
7506<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007507<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e"></a>CENTER&#160;</td><td class="fielddoc"><p>Samples are taken at pixel center. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007508</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007509<tr><td class="fieldname"><a id="a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1"></a>TOP_LEFT&#160;</td><td class="fielddoc"><p>Samples are taken at pixel top left corner. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007510</td></tr>
7511</table>
7512
Jenkinsb9abeae2018-11-22 11:58:08 +00007513<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00093">93</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7514<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</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 +00007515<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>
7516</div><!-- fragment -->
7517</div>
7518</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007519<a id="a08c1503414e23f5dd10ff83492685453"></a>
7520<h2 class="memtitle"><span class="permalink"><a href="#a08c1503414e23f5dd10ff83492685453">&#9670;&nbsp;</a></span>Termination</h2>
7521
Anthony Barbier871448e2017-03-24 14:54:29 +00007522<div class="memitem">
7523<div class="memproto">
7524<table class="mlabels">
7525 <tr>
7526 <td class="mlabels-left">
7527 <table class="memname">
7528 <tr>
7529 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
7530 </tr>
7531 </table>
7532 </td>
7533 <td class="mlabels-right">
7534<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7535 </tr>
7536</table>
7537</div><div class="memdoc">
7538
7539<p>Termination criteria. </p>
7540<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007541<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON&#160;</td><td class="fielddoc"><p>Terminate when within epsilon of a threshold. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007542</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007543<tr><td class="fieldname"><a id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS&#160;</td><td class="fielddoc"><p>Terminate after a maximum number of iterations. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007544</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007545<tr><td class="fieldname"><a id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH&#160;</td><td class="fielddoc"><p>Terminate on whichever of the other conditions occurs first. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007546</td></tr>
7547</table>
7548
Jenkinsb9abeae2018-11-22 11:58:08 +00007549<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00413">413</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7550<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> </div><div class="line"><a name="l00418"></a><span class="lineno"> 418</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 +01007551<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>
7552<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 +00007553</div><!-- fragment -->
7554</div>
7555</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007556<a id="a3e6b23e675649b83240691abbc42a649"></a>
7557<h2 class="memtitle"><span class="permalink"><a href="#a3e6b23e675649b83240691abbc42a649">&#9670;&nbsp;</a></span>ThresholdType</h2>
7558
Anthony Barbier871448e2017-03-24 14:54:29 +00007559<div class="memitem">
7560<div class="memproto">
7561<table class="mlabels">
7562 <tr>
7563 <td class="mlabels-left">
7564 <table class="memname">
7565 <tr>
7566 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
7567 </tr>
7568 </table>
7569 </td>
7570 <td class="mlabels-right">
7571<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7572 </tr>
7573</table>
7574</div><div class="memdoc">
7575
7576<p>Threshold mode. </p>
7577<table class="fieldtable">
Jenkinsb9abeae2018-11-22 11:58:08 +00007578<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY&#160;</td><td class="fielddoc"><p>Threshold with one value. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007579</td></tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007580<tr><td class="fieldname"><a id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE&#160;</td><td class="fielddoc"><p>Threshold with two values. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007581</td></tr>
7582</table>
7583
Jenkinsb9abeae2018-11-22 11:58:08 +00007584<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00406">406</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7585<div class="fragment"><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.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00410"></a><span class="lineno"> 410</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 +00007586<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>
7587</div><!-- fragment -->
7588</div>
7589</div>
7590<h2 class="groupheader">Function Documentation</h2>
Jenkinsb9abeae2018-11-22 11:58:08 +00007591<a id="a41c1523098580451b378f76b8c37a0f0"></a>
7592<h2 class="memtitle"><span class="permalink"><a href="#a41c1523098580451b378f76b8c37a0f0">&#9670;&nbsp;</a></span>adjust_down()</h2>
7593
Anthony Barbier871448e2017-03-24 14:54:29 +00007594<div class="memitem">
7595<div class="memproto">
7596<table class="mlabels">
7597 <tr>
7598 <td class="mlabels-left">
7599 <table class="memname">
7600 <tr>
7601 <td class="memname">int arm_compute::adjust_down </td>
7602 <td>(</td>
7603 <td class="paramtype">int&#160;</td>
7604 <td class="paramname"><em>required</em>, </td>
7605 </tr>
7606 <tr>
7607 <td class="paramkey"></td>
7608 <td></td>
7609 <td class="paramtype">int&#160;</td>
7610 <td class="paramname"><em>available</em>, </td>
7611 </tr>
7612 <tr>
7613 <td class="paramkey"></td>
7614 <td></td>
7615 <td class="paramtype">int&#160;</td>
7616 <td class="paramname"><em>step</em>&#160;</td>
7617 </tr>
7618 <tr>
7619 <td></td>
7620 <td>)</td>
7621 <td></td><td></td>
7622 </tr>
7623 </table>
7624 </td>
7625 <td class="mlabels-right">
7626<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7627 </tr>
7628</table>
7629</div><div class="memdoc">
7630
7631<p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
7632<dl class="params"><dt>Parameters</dt><dd>
7633 <table class="params">
7634 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
7635 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
7636 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
7637 </table>
7638 </dd>
7639</dl>
7640<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>
7641
Jenkinsb9abeae2018-11-22 11:58:08 +00007642<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007643
Jenkinsb9abeae2018-11-22 11:58:08 +00007644<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
7645
7646<p class="reference">Referenced by <a class="el" href="_access_window_transpose_8cpp_source.xhtml#l00089">AccessWindowTranspose::update_window_if_needed()</a>, and <a class="el" href="_i_access_window_8cpp_source.xhtml#l00097">AccessWindowRectangle::update_window_if_needed()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00007647<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 +00007648</div><!-- fragment -->
7649</div>
7650</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007651<a id="add7f7487c235331a6518dd16ad1e3b38"></a>
7652<h2 class="memtitle"><span class="permalink"><a href="#add7f7487c235331a6518dd16ad1e3b38">&#9670;&nbsp;</a></span>adjust_odd_shape()</h2>
7653
Anthony Barbier06ea0482018-02-22 15:45:35 +00007654<div class="memitem">
7655<div class="memproto">
7656<table class="mlabels">
7657 <tr>
7658 <td class="mlabels-left">
7659 <table class="memname">
7660 <tr>
7661 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::adjust_odd_shape </td>
7662 <td>(</td>
7663 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
7664 <td class="paramname"><em>shape</em>, </td>
7665 </tr>
7666 <tr>
7667 <td class="paramkey"></td>
7668 <td></td>
7669 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
7670 <td class="paramname"><em>format</em>&#160;</td>
7671 </tr>
7672 <tr>
7673 <td></td>
7674 <td>)</td>
7675 <td></td><td></td>
7676 </tr>
7677 </table>
7678 </td>
7679 <td class="mlabels-right">
7680<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7681 </tr>
7682</table>
7683</div><div class="memdoc">
7684
7685<p>Adjust tensor shape size if width or height are odd for a given multi-planar format. </p>
7686<p>No modification is done for other formats.</p>
7687<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>
7688<dl class="params"><dt>Parameters</dt><dd>
7689 <table class="params">
7690 <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 +01007691 <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 +00007692 </table>
7693 </dd>
7694</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01007695<dl class="section return"><dt>Returns</dt><dd>The adjusted tensor shape. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007696
Jenkinsb9abeae2018-11-22 11:58:08 +00007697<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">647</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 +00007698
Jenkinsb9abeae2018-11-22 11:58:08 +00007699<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">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 +00007700
Jenkinsb9abeae2018-11-22 11:58:08 +00007701<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>, <a class="el" href="_c_l_multi_image_8cpp_source.xhtml#l00048">CLMultiImage::init_auto_padding()</a>, and <a class="el" href="_multi_image_8cpp_source.xhtml#l00048">MultiImage::init_auto_padding()</a>.</p>
7702<div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;{</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <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="l00652"></a><span class="lineno"> 652</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="l00653"></a><span class="lineno"> 653</span>&#160; {</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</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="l00655"></a><span class="lineno"> 655</span>&#160; }</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="comment">// Force height to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</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="l00659"></a><span class="lineno"> 659</span>&#160; {</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</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="l00661"></a><span class="lineno"> 661</span>&#160; }</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</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>
7703<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#l00553">Utils.h:553</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007704<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00007705<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#l00542">Utils.h:542</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007706</div><!-- fragment -->
7707</div>
7708</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007709<a id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
7710<h2 class="memtitle"><span class="permalink"><a href="#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">&#9670;&nbsp;</a></span>adjust_up()</h2>
7711
Anthony Barbier871448e2017-03-24 14:54:29 +00007712<div class="memitem">
7713<div class="memproto">
7714<table class="mlabels">
7715 <tr>
7716 <td class="mlabels-left">
7717 <table class="memname">
7718 <tr>
7719 <td class="memname">int arm_compute::adjust_up </td>
7720 <td>(</td>
7721 <td class="paramtype">int&#160;</td>
7722 <td class="paramname"><em>required</em>, </td>
7723 </tr>
7724 <tr>
7725 <td class="paramkey"></td>
7726 <td></td>
7727 <td class="paramtype">int&#160;</td>
7728 <td class="paramname"><em>available</em>, </td>
7729 </tr>
7730 <tr>
7731 <td class="paramkey"></td>
7732 <td></td>
7733 <td class="paramtype">int&#160;</td>
7734 <td class="paramname"><em>step</em>&#160;</td>
7735 </tr>
7736 <tr>
7737 <td></td>
7738 <td>)</td>
7739 <td></td><td></td>
7740 </tr>
7741 </table>
7742 </td>
7743 <td class="mlabels-right">
7744<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7745 </tr>
7746</table>
7747</div><div class="memdoc">
7748
7749<p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
7750<dl class="params"><dt>Parameters</dt><dd>
7751 <table class="params">
7752 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
7753 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
7754 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
7755 </table>
7756 </dd>
7757</dl>
7758<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>
7759
Jenkinsb9abeae2018-11-22 11:58:08 +00007760<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007761
Jenkinsb9abeae2018-11-22 11:58:08 +00007762<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
7763
7764<p class="reference">Referenced by <a class="el" href="_access_window_transpose_8cpp_source.xhtml#l00089">AccessWindowTranspose::update_window_if_needed()</a>, and <a class="el" href="_i_access_window_8cpp_source.xhtml#l00097">AccessWindowRectangle::update_window_if_needed()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00007765<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 +01007766</div><!-- fragment -->
7767</div>
7768</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007769<a id="a0019d1de2500c73f16b673d8a883a767"></a>
7770<h2 class="memtitle"><span class="permalink"><a href="#a0019d1de2500c73f16b673d8a883a767">&#9670;&nbsp;</a></span>arm_non_uniform_workgroup_supported()</h2>
7771
Jenkinsb3a371b2018-05-23 11:36:53 +01007772<div class="memitem">
7773<div class="memproto">
7774 <table class="memname">
7775 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00007776 <td class="memname">bool arm_non_uniform_workgroup_supported </td>
Jenkinsb3a371b2018-05-23 11:36:53 +01007777 <td>(</td>
7778 <td class="paramtype">const cl::Device &amp;&#160;</td>
7779 <td class="paramname"><em>device</em></td><td>)</td>
7780 <td></td>
7781 </tr>
7782 </table>
7783</div><div class="memdoc">
7784
7785<p>Helper function to check whether the arm_non_uniform_work_group_size extension is supported. </p>
7786<dl class="params"><dt>Parameters</dt><dd>
7787 <table class="params">
7788 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
7789 </table>
7790 </dd>
7791</dl>
7792<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
7793
Jenkinsb9abeae2018-11-22 11:58:08 +00007794<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00135">135</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
7795
7796<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
7797
7798<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>.</p>
7799<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">&quot;cl_arm_non_uniform_work_group_size&quot;</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &amp;device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
7800</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +01007801</div>
7802</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007803<a id="a47be6fa38308d0003c25b60b7dbc45ce"></a>
7804<h2 class="memtitle"><span class="permalink"><a href="#a47be6fa38308d0003c25b60b7dbc45ce">&#9670;&nbsp;</a></span>auto_init_if_empty() <span class="overload">[1/2]</span></h2>
7805
Anthony Barbierdbdab852017-06-23 15:42:00 +01007806<div class="memitem">
7807<div class="memproto">
7808<table class="mlabels">
7809 <tr>
7810 <td class="mlabels-left">
7811 <table class="memname">
7812 <tr>
7813 <td class="memname">bool auto_init_if_empty </td>
7814 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007815 <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 +01007816 <td class="paramname"><em>info</em>, </td>
7817 </tr>
7818 <tr>
7819 <td class="paramkey"></td>
7820 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007821 <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 +01007822 <td class="paramname"><em>shape</em>, </td>
7823 </tr>
7824 <tr>
7825 <td class="paramkey"></td>
7826 <td></td>
7827 <td class="paramtype">int&#160;</td>
7828 <td class="paramname"><em>num_channels</em>, </td>
7829 </tr>
7830 <tr>
7831 <td class="paramkey"></td>
7832 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007833 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007834 <td class="paramname"><em>data_type</em>, </td>
7835 </tr>
7836 <tr>
7837 <td class="paramkey"></td>
7838 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007839 <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
7840 <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 +01007841 </tr>
7842 <tr>
7843 <td></td>
7844 <td>)</td>
7845 <td></td><td></td>
7846 </tr>
7847 </table>
7848 </td>
7849 <td class="mlabels-right">
7850<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7851 </tr>
7852</table>
7853</div><div class="memdoc">
7854
Jenkins52ba29e2018-08-29 15:32:11 +00007855<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 +01007856<dl class="params"><dt>Parameters</dt><dd>
7857 <table class="params">
7858 <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>
7859 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape. </td></tr>
7860 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>New number of channels. </td></tr>
7861 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01007862 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>(Optional) New quantization info</td></tr>
7863 </table>
7864 </dd>
7865</dl>
7866<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
7867
Jenkinsb9abeae2018-11-22 11:58:08 +00007868<p class="definition">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 +01007869
Jenkinsb9abeae2018-11-22 11:58:08 +00007870<p class="reference">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 +00007871
Jenkinsb9abeae2018-11-22 11:58:08 +00007872<p class="reference">Referenced by <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00039">CLL2NormalizeLayerKernel::CLL2NormalizeLayerKernel()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00038">CLSoftmaxLayer::CLSoftmaxLayer()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_transpose_kernel_8cpp_source.xhtml#l00110">CLTransposeKernel::configure()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00074">NEFloorKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00039">CLReduceMean::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00056">NEReduceMean::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_n_e_width_concatenate_layer_8cpp_source.xhtml#l00064">NEWidthConcatenateLayer::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00094">GCNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_n_e_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00144">NEChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00114">NEReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00292">NEUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_8cpp_source.xhtml#l00084">CLWidthConcatenateLayer::configure()</a>, <a class="el" href="_n_e_depth_concatenate_layer_8cpp_source.xhtml#l00046">NEDepthConcatenateLayer::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_transpose_kernel_8cpp_source.xhtml#l00499">NETransposeKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00119">CPPPermuteKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00097">NEDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00107">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_n_e_activation_layer_kernel_8cpp_source.xhtml#l00094">NEActivationLayerKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00157">NEPermuteKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_8cpp_source.xhtml#l00046">CLDepthConcatenateLayer::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_output_stage_kernel_8cpp_source.xhtml#l00471">NEDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00178">NEGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00111">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00045">NEROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01155">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00962">NEGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00114">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00118">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00298">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00091">CLGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00099">NEGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00147">NEWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00057">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00103">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00098">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, <a class="el" href="_c_l_split_8cpp_source.xhtml#l00090">CLSplit::validate()</a>, <a class="el" href="_n_e_width_concatenate_layer_8cpp_source.xhtml#l00043">NEWidthConcatenateLayer::validate()</a>, <a class="el" href="_c_l_width_concatenate_layer_8cpp_source.xhtml#l00045">CLWidthConcatenateLayer::validate()</a>, <a class="el" href="_n_e_depth_concatenate_layer_8cpp_source.xhtml#l00076">NEDepthConcatenateLayer::validate()</a>, <a class="el" href="_c_l_depth_concatenate_layer_8cpp_source.xhtml#l00078">CLDepthConcatenateLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00137">NEGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00223">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00180">CLGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00007873<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 +01007874<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00007875<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01007876</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01007877</div>
7878</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007879<a id="a5844c8e025388ddd8c3afc5c3f7a3256"></a>
7880<h2 class="memtitle"><span class="permalink"><a href="#a5844c8e025388ddd8c3afc5c3f7a3256">&#9670;&nbsp;</a></span>auto_init_if_empty() <span class="overload">[2/2]</span></h2>
7881
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007882<div class="memitem">
7883<div class="memproto">
7884<table class="mlabels">
7885 <tr>
7886 <td class="mlabels-left">
7887 <table class="memname">
7888 <tr>
7889 <td class="memname">bool auto_init_if_empty </td>
7890 <td>(</td>
7891 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
7892 <td class="paramname"><em>info_sink</em>, </td>
7893 </tr>
7894 <tr>
7895 <td class="paramkey"></td>
7896 <td></td>
7897 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
7898 <td class="paramname"><em>info_source</em>&#160;</td>
7899 </tr>
7900 <tr>
7901 <td></td>
7902 <td>)</td>
7903 <td></td><td></td>
7904 </tr>
7905 </table>
7906 </td>
7907 <td class="mlabels-right">
7908<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7909 </tr>
7910</table>
7911</div><div class="memdoc">
7912
7913<p>Auto initialize the tensor info using another tensor info. </p>
7914<dl class="params"><dt>Parameters</dt><dd>
7915 <table class="params">
7916 <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>
7917 <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>
7918 </table>
7919 </dd>
7920</dl>
7921<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
7922
Jenkinsb9abeae2018-11-22 11:58:08 +00007923<p class="definition">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 +00007924
Jenkinsb9abeae2018-11-22 11:58:08 +00007925<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +00007926<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 +00007927</div>
7928</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007929<a id="a64c17a5a42d2499a1626222ff9753b4d"></a>
7930<h2 class="memtitle"><span class="permalink"><a href="#a64c17a5a42d2499a1626222ff9753b4d">&#9670;&nbsp;</a></span>build_information()</h2>
7931
Anthony Barbier871448e2017-03-24 14:54:29 +00007932<div class="memitem">
7933<div class="memproto">
7934 <table class="memname">
7935 <tr>
7936 <td class="memname">std::string arm_compute::build_information </td>
7937 <td>(</td>
7938 <td class="paramname"></td><td>)</td>
7939 <td></td>
7940 </tr>
7941 </table>
7942</div><div class="memdoc">
7943
Jenkinsb9abeae2018-11-22 11:58:08 +00007944<p>Returns the <a class="el" href="namespacearm__compute.xhtml" title="Copyright (c) 2017-2018 ARM Limited. ">arm_compute</a> library build information. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007945<p>Contains the version number and the build options used to build the library</p>
Jenkinsb9abeae2018-11-22 11:58:08 +00007946<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml" title="Copyright (c) 2017-2018 ARM Limited. ">arm_compute</a> library build information </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007947
Jenkinsb9abeae2018-11-22 11:58:08 +00007948<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007949
Anthony Barbier871448e2017-03-24 14:54:29 +00007950</div>
7951</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00007952<a id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
7953<h2 class="memtitle"><span class="permalink"><a href="#a0101a40c4a6acc2af3b55afa7632f16a">&#9670;&nbsp;</a></span>calculate_matrix_scale()</h2>
7954
Anthony Barbier871448e2017-03-24 14:54:29 +00007955<div class="memitem">
7956<div class="memproto">
7957<table class="mlabels">
7958 <tr>
7959 <td class="mlabels-left">
7960 <table class="memname">
7961 <tr>
7962 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
7963 <td>(</td>
7964 <td class="paramtype">const int16_t *&#160;</td>
7965 <td class="paramname"><em>matrix</em>, </td>
7966 </tr>
7967 <tr>
7968 <td class="paramkey"></td>
7969 <td></td>
7970 <td class="paramtype">unsigned int&#160;</td>
7971 <td class="paramname"><em>matrix_size</em>&#160;</td>
7972 </tr>
7973 <tr>
7974 <td></td>
7975 <td>)</td>
7976 <td></td><td></td>
7977 </tr>
7978 </table>
7979 </td>
7980 <td class="mlabels-right">
7981<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7982 </tr>
7983</table>
7984</div><div class="memdoc">
7985
7986<p>Calculate the scale of the given square matrix. </p>
7987<p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
7988<dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
7989<dl class="params"><dt>Parameters</dt><dd>
7990 <table class="params">
7991 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
7992 <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>
7993 </table>
7994 </dd>
7995</dl>
7996<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>
7997
Jenkinsb9abeae2018-11-22 11:58:08 +00007998<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00627">627</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 +00007999
Jenkinsb9abeae2018-11-22 11:58:08 +00008000<p class="reference">References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>.</p>
8001
8002<p class="reference">Referenced by <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_convolution_8cpp_source.xhtml#l00056">CLConvolutionSquare&lt; matrix_size &gt;::configure()</a>, and <a class="el" href="_n_e_convolution_8cpp_source.xhtml#l00057">NEConvolutionSquare&lt; matrix_size &gt;::configure()</a>.</p>
8003<div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;{</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</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; <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="l00632"></a><span class="lineno"> 632</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 +00008004</div><!-- fragment -->
8005</div>
8006</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008007<a id="affc1f59e0b2c29bf81e8c95bf0fa8e76"></a>
8008<h2 class="memtitle"><span class="permalink"><a href="#affc1f59e0b2c29bf81e8c95bf0fa8e76">&#9670;&nbsp;</a></span>calculate_max_enlarged_window() <span class="overload">[1/2]</span></h2>
8009
Anthony Barbierdbdab852017-06-23 15:42:00 +01008010<div class="memitem">
8011<div class="memproto">
8012 <table class="memname">
8013 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00008014 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> calculate_max_enlarged_window </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008015 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008016 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
8017 <td class="paramname"><em>valid_region</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008018 </tr>
8019 <tr>
8020 <td class="paramkey"></td>
8021 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008022 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8023 <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 +01008024 </tr>
8025 <tr>
8026 <td class="paramkey"></td>
8027 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008028 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8029 <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 +01008030 </tr>
8031 <tr>
8032 <td></td>
8033 <td>)</td>
8034 <td></td><td></td>
8035 </tr>
8036 </table>
8037</div><div class="memdoc">
8038
8039<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8040<p>The window will also includes the border.</p>
8041<dl class="params"><dt>Parameters</dt><dd>
8042 <table class="params">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008043 <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>
8044 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8045 <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>
8046 </table>
8047 </dd>
8048</dl>
8049<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8050
Jenkinsb9abeae2018-11-22 11:58:08 +00008051<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">82</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008052
Jenkinsb9abeae2018-11-22 11:58:08 +00008053<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">BorderSize::left</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#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
8054
8055<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">calculate_max_enlarged_window()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, and <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>.</p>
8056<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;anchor = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</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; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// move the anchor to the start from the border</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; anchor[0] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// move the anchor to include the right end border</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; anchor[0] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(shape[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>, steps[0]),</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; steps[0]));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">size_t</span> n = 1;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() &gt; 1)</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; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// Include the border above the image</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">// Include the border below the image</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(shape[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>, steps[1]),</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; steps[1]));</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; ++n;</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; <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() &gt; 2)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(2, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, std::max&lt;size_t&gt;(1, shape[n]), steps[2]));</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; ++n;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">for</span>(; n &lt; anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max&lt;size_t&gt;(1, shape[n])));</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">for</span>(; n &lt; Coordinates::num_max_dimensions; ++n)</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; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00374">Types.h:374</a></div></div>
8057<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>
8058<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
8059<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
8060<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image&amp;#39;s dimensions with a start, end and step. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
8061<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00376">Types.h:376</a></div></div>
8062<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -&gt; decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
8063<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
8064<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &amp;dim)</div><div class="ttdoc">Set the values of a given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
8065<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00377">Types.h:377</a></div></div>
8066<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00375">Types.h:375</a></div></div>
8067<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
8068<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
8069<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
8070</div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008071</div>
8072</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008073<a id="afcdda83b6a85d5798f08d92c0e235e2e"></a>
8074<h2 class="memtitle"><span class="permalink"><a href="#afcdda83b6a85d5798f08d92c0e235e2e">&#9670;&nbsp;</a></span>calculate_max_enlarged_window() <span class="overload">[2/2]</span></h2>
8075
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008076<div class="memitem">
8077<div class="memproto">
8078<table class="mlabels">
8079 <tr>
8080 <td class="mlabels-left">
8081 <table class="memname">
8082 <tr>
8083 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
8084 <td>(</td>
8085 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
8086 <td class="paramname"><em>info</em>, </td>
8087 </tr>
8088 <tr>
8089 <td class="paramkey"></td>
8090 <td></td>
8091 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8092 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
8093 </tr>
8094 <tr>
8095 <td class="paramkey"></td>
8096 <td></td>
8097 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8098 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
8099 </tr>
8100 <tr>
8101 <td></td>
8102 <td>)</td>
8103 <td></td><td></td>
8104 </tr>
8105 </table>
8106 </td>
8107 <td class="mlabels-right">
8108<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8109 </tr>
8110</table>
8111</div><div class="memdoc">
8112
8113<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8114<p>The window will also includes the border.</p>
8115<dl class="params"><dt>Parameters</dt><dd>
8116 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +01008117 <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>
8118 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8119 <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>
8120 </table>
8121 </dd>
8122</dl>
8123<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8124
Jenkinsb9abeae2018-11-22 11:58:08 +00008125<p class="definition">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 +00008126
Jenkinsb9abeae2018-11-22 11:58:08 +00008127<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">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 +01008128<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 +00008129<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>
8130</div><!-- fragment -->
8131</div>
8132</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008133<a id="ab7980fa5ee693e3282a76da047a1c3b5"></a>
8134<h2 class="memtitle"><span class="permalink"><a href="#ab7980fa5ee693e3282a76da047a1c3b5">&#9670;&nbsp;</a></span>calculate_max_window() <span class="overload">[1/2]</span></h2>
8135
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008136<div class="memitem">
8137<div class="memproto">
8138 <table class="memname">
8139 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00008140 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> calculate_max_window </td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008141 <td>(</td>
8142 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
8143 <td class="paramname"><em>valid_region</em>, </td>
8144 </tr>
8145 <tr>
8146 <td class="paramkey"></td>
8147 <td></td>
8148 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8149 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
8150 </tr>
8151 <tr>
8152 <td class="paramkey"></td>
8153 <td></td>
8154 <td class="paramtype">bool&#160;</td>
8155 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8156 </tr>
8157 <tr>
8158 <td class="paramkey"></td>
8159 <td></td>
8160 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8161 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
8162 </tr>
8163 <tr>
8164 <td></td>
8165 <td>)</td>
8166 <td></td><td></td>
8167 </tr>
8168 </table>
8169</div><div class="memdoc">
8170
8171<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8172<dl class="params"><dt>Parameters</dt><dd>
8173 <table class="params">
8174 <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>
8175 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8176 <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>
8177 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
8178 </table>
8179 </dd>
8180</dl>
8181<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8182
Jenkinsb9abeae2018-11-22 11:58:08 +00008183<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">28</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008184
Jenkinsb9abeae2018-11-22 11:58:08 +00008185<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">BorderSize::left</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#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
8186
8187<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00039">CLL2NormalizeLayerKernel::CLL2NormalizeLayerKernel()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00044">CLLocallyConnectedMatrixMultiplyKernel::CLLocallyConnectedMatrixMultiplyKernel()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_reshape_layer_kernel_8cpp_source.xhtml#l00073">NEReshapeLayerKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00048">NEDilateKernel::configure()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00048">NEErodeKernel::configure()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00041">NEGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00040">NECopyKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00071">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00069">CPPFlipWeightsKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_n_e_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00144">NEChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00105">NEDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00114">NEReorgLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00119">CPPPermuteKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00361">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00049">CPPUpsampleKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00097">NEDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00157">NEPermuteKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00039">NEFillArrayKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel&lt; mag_type, phase_type &gt;::configure()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00462">NENonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00049">NEMinMaxKernel::configure()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00048">GCDropoutLayerKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_depthwise_im2_col_kernel_8cpp_source.xhtml#l00136">NEDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_cumulative_distribution_kernel_8cpp_source.xhtml#l00050">NECumulativeDistributionKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_c_p_p_box_with_non_maxima_suppression_limit_kernel_8cpp_source.xhtml#l00349">CPPBoxWithNonMaximaSuppressionLimitKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00090">NEScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_histogram_kernel_8cpp_source.xhtml#l00195">NEHistogramKernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00118">NEGaussian5x5VertKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel&lt; block_size &gt;::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00161">NEGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00217">NESobel5x5VertKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00307">NESobel7x7VertKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00714">NEHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">update_window_and_padding()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
8188<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">if</span>(!skip_border)</div><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; border_size = <a class="code" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>(0);</div><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;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;anchor = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><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="classarm__compute_1_1_window.xhtml">Window</a> window;</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; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// Skip the border left of the image</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// Skip the border right of the image</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast&lt;int&gt;(shape[0]) - static_cast&lt;int&gt;(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>) - static_cast&lt;int&gt;(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>)), steps[0]),</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; steps[0]));</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; <span class="keywordtype">size_t</span> n = 1;</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">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() &gt; 1)</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; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// Skip the border above the image</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; anchor[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// Skip the border below the image</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; anchor[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast&lt;int&gt;(shape[1]) - static_cast&lt;int&gt;(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>) - static_cast&lt;int&gt;(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>)), steps[1]),</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; steps[1]));</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; ++n;</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="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() &gt; 2)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(2, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[2], std::max&lt;size_t&gt;(1, shape[2]), steps[2]));</div><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; ++n;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</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="keywordflow">for</span>(; n &lt; anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max&lt;size_t&gt;(1, shape[n])));</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;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">for</span>(; n &lt; Coordinates::num_max_dimensions; ++n)</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; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</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;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00374">Types.h:374</a></div></div>
8189<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>
8190<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
8191<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
8192<div class="ttc" id="structarm__compute_1_1_border_size_xhtml"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml">arm_compute::BorderSize</a></div><div class="ttdoc">Container for 2D border size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00294">Types.h:294</a></div></div>
8193<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image&amp;#39;s dimensions with a start, end and step. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
8194<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00376">Types.h:376</a></div></div>
8195<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -&gt; decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
8196<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
8197<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &amp;dim)</div><div class="ttdoc">Set the values of a given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
8198<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00377">Types.h:377</a></div></div>
8199<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00375">Types.h:375</a></div></div>
8200<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
8201<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
8202<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
8203</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008204</div>
8205</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008206<a id="aa2117aef4381edbdf81e17ec088df7f1"></a>
8207<h2 class="memtitle"><span class="permalink"><a href="#aa2117aef4381edbdf81e17ec088df7f1">&#9670;&nbsp;</a></span>calculate_max_window() <span class="overload">[2/2]</span></h2>
8208
Anthony Barbier871448e2017-03-24 14:54:29 +00008209<div class="memitem">
8210<div class="memproto">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008211<table class="mlabels">
8212 <tr>
8213 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00008214 <table class="memname">
8215 <tr>
8216 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
8217 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008218 <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 +00008219 <td class="paramname"><em>info</em>, </td>
8220 </tr>
8221 <tr>
8222 <td class="paramkey"></td>
8223 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008224 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8225 <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 +00008226 </tr>
8227 <tr>
8228 <td class="paramkey"></td>
8229 <td></td>
8230 <td class="paramtype">bool&#160;</td>
8231 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8232 </tr>
8233 <tr>
8234 <td class="paramkey"></td>
8235 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008236 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8237 <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 +00008238 </tr>
8239 <tr>
8240 <td></td>
8241 <td>)</td>
8242 <td></td><td></td>
8243 </tr>
8244 </table>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008245 </td>
8246 <td class="mlabels-right">
8247<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8248 </tr>
8249</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00008250</div><div class="memdoc">
8251
8252<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8253<dl class="params"><dt>Parameters</dt><dd>
8254 <table class="params">
8255 <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>
8256 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8257 <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>
8258 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
8259 </table>
8260 </dd>
8261</dl>
8262<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8263
Jenkinsb9abeae2018-11-22 11:58:08 +00008264<p class="definition">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 +00008265
Jenkinsb9abeae2018-11-22 11:58:08 +00008266<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">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 +01008267<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>
8268<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 +00008269</div><!-- fragment -->
8270</div>
8271</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008272<a id="a9047a414d692d8814181a667a7ee68c4"></a>
8273<h2 class="memtitle"><span class="permalink"><a href="#a9047a414d692d8814181a667a7ee68c4">&#9670;&nbsp;</a></span>calculate_max_window_horizontal() <span class="overload">[1/2]</span></h2>
8274
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008275<div class="memitem">
8276<div class="memproto">
8277 <table class="memname">
8278 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00008279 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> calculate_max_window_horizontal </td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008280 <td>(</td>
8281 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
8282 <td class="paramname"><em>valid_region</em>, </td>
8283 </tr>
8284 <tr>
8285 <td class="paramkey"></td>
8286 <td></td>
8287 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8288 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
8289 </tr>
8290 <tr>
8291 <td class="paramkey"></td>
8292 <td></td>
8293 <td class="paramtype">bool&#160;</td>
8294 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8295 </tr>
8296 <tr>
8297 <td class="paramkey"></td>
8298 <td></td>
8299 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8300 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
8301 </tr>
8302 <tr>
8303 <td></td>
8304 <td>)</td>
8305 <td></td><td></td>
8306 </tr>
8307 </table>
8308</div><div class="memdoc">
8309
8310<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
8311<dl class="params"><dt>Parameters</dt><dd>
8312 <table class="params">
8313 <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>
8314 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8315 <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>
8316 <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>
8317 </table>
8318 </dd>
8319</dl>
8320<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8321
Jenkinsb9abeae2018-11-22 11:58:08 +00008322<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">131</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008323
Jenkinsb9abeae2018-11-22 11:58:08 +00008324<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">BorderSize::left</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#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
8325
8326<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00050">NEGaussian5x5HorKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00053">NEGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel&lt; matrix_size &gt;::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel&lt; matrix_size &gt;::configure()</a>.</p>
8327<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span>(skip_border)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> = 0;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a> = 0;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> = 0;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a> = 0;</div><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;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;anchor = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="comment">// Skip the border left of the image</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">// Skip the border right of the image</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast&lt;int&gt;(shape[0]) - static_cast&lt;int&gt;(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>) - static_cast&lt;int&gt;(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>)), steps[0]),</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; steps[0]));</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">size_t</span> n = 1;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() &gt; 1)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// Skip the border above the image</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// Skip the border below the image</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; anchor[1] + shape[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>,</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; 1));</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; ++n;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</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">for</span>(; n &lt; anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max&lt;size_t&gt;(1, shape[n])));</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">for</span>(; n &lt; Coordinates::num_max_dimensions; ++n)</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00374">Types.h:374</a></div></div>
8328<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>
8329<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
8330<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
8331<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image&amp;#39;s dimensions with a start, end and step. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
8332<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00376">Types.h:376</a></div></div>
8333<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -&gt; decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
8334<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
8335<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &amp;dim)</div><div class="ttdoc">Set the values of a given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
8336<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00377">Types.h:377</a></div></div>
8337<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00375">Types.h:375</a></div></div>
8338<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
8339<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
8340<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
8341</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00008342</div>
8343</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008344<a id="a47456b4d520aee1cba80bf6e20f6685a"></a>
8345<h2 class="memtitle"><span class="permalink"><a href="#a47456b4d520aee1cba80bf6e20f6685a">&#9670;&nbsp;</a></span>calculate_max_window_horizontal() <span class="overload">[2/2]</span></h2>
8346
Anthony Barbier871448e2017-03-24 14:54:29 +00008347<div class="memitem">
8348<div class="memproto">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008349<table class="mlabels">
8350 <tr>
8351 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00008352 <table class="memname">
8353 <tr>
8354 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
8355 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008356 <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 +00008357 <td class="paramname"><em>info</em>, </td>
8358 </tr>
8359 <tr>
8360 <td class="paramkey"></td>
8361 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008362 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8363 <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 +00008364 </tr>
8365 <tr>
8366 <td class="paramkey"></td>
8367 <td></td>
8368 <td class="paramtype">bool&#160;</td>
8369 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8370 </tr>
8371 <tr>
8372 <td class="paramkey"></td>
8373 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008374 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8375 <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 +00008376 </tr>
8377 <tr>
8378 <td></td>
8379 <td>)</td>
8380 <td></td><td></td>
8381 </tr>
8382 </table>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008383 </td>
8384 <td class="mlabels-right">
8385<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8386 </tr>
8387</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00008388</div><div class="memdoc">
8389
8390<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
8391<dl class="params"><dt>Parameters</dt><dd>
8392 <table class="params">
8393 <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>
8394 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8395 <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 +00008396 <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 +00008397 </table>
8398 </dd>
8399</dl>
8400<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8401
Jenkinsb9abeae2018-11-22 11:58:08 +00008402<p class="definition">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 +00008403
Jenkinsb9abeae2018-11-22 11:58:08 +00008404<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">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 +01008405<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>
8406<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 +00008407</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +01008408</div>
8409</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008410<a id="a60e358f879bf4ca86ad938d1f1ef9a64"></a>
8411<h2 class="memtitle"><span class="permalink"><a href="#a60e358f879bf4ca86ad938d1f1ef9a64">&#9670;&nbsp;</a></span>calculate_same_pad()</h2>
8412
Anthony Barbier06ea0482018-02-22 15:45:35 +00008413<div class="memitem">
8414<div class="memproto">
8415 <table class="memname">
8416 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00008417 <td class="memname"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> calculate_same_pad </td>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008418 <td>(</td>
8419 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
8420 <td class="paramname"><em>input_shape</em>, </td>
8421 </tr>
8422 <tr>
8423 <td class="paramkey"></td>
8424 <td></td>
8425 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
8426 <td class="paramname"><em>weights_shape</em>, </td>
8427 </tr>
8428 <tr>
8429 <td class="paramkey"></td>
8430 <td></td>
8431 <td class="paramtype"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>&#160;</td>
8432 <td class="paramname"><em>conv_info</em>&#160;</td>
8433 </tr>
8434 <tr>
8435 <td></td>
8436 <td>)</td>
8437 <td></td><td></td>
8438 </tr>
8439 </table>
8440</div><div class="memdoc">
8441
8442<p>Calculate padding requirements in case of SAME padding. </p>
8443<dl class="params"><dt>Parameters</dt><dd>
8444 <table class="params">
8445 <tr><td class="paramdir">[in]</td><td class="paramname">input_shape</td><td>Input shape </td></tr>
8446 <tr><td class="paramdir">[in]</td><td class="paramname">weights_shape</td><td>Weights shape </td></tr>
8447 <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution information (containing strides)</td></tr>
8448 </table>
8449 </dd>
8450</dl>
8451<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>
8452
Jenkinsb9abeae2018-11-22 11:58:08 +00008453<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00324">324</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008454
Jenkinsb9abeae2018-11-22 11:58:08 +00008455<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00733">PadStrideInfo::stride()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>.</p>
8456
8457<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00317">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>.</p>
8458<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> &amp;strides = conv_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>();</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> out_width = std::ceil(<span class="keywordtype">float</span>(input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">x</a>()) / <span class="keywordtype">float</span>(strides.first));</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> out_height = std::ceil(<span class="keywordtype">float</span>(input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>()) / <span class="keywordtype">float</span>(strides.second));</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> pad_width = ((out_width - 1) * strides.first + weights_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">x</a>() - input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">x</a>());</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> pad_height = ((out_height - 1) * strides.second + weights_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>() - input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>());</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_left = pad_width / 2;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_top = pad_height / 2;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_right = pad_width - same_pad_left;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_bottom = pad_height - same_pad_top;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>(strides.first, strides.second, same_pad_left, same_pad_right, same_pad_top, same_pad_bottom, DimensionRoundingType::CEIL);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_aa87f8fc26981b0f3228a78c83b95b802"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">arm_compute::Dimensions::x</a></div><div class="ttdeci">T x() const</div><div class="ttdoc">Alias to access the size of the first dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00081">Dimensions.h:81</a></div></div>
8459<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a6e324c1bd1111876469ea247da156147"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">arm_compute::PadStrideInfo::stride</a></div><div class="ttdeci">std::pair&lt; unsigned int, unsigned int &gt; stride() const</div><div class="ttdoc">Get the stride. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00733">Types.h:733</a></div></div>
8460<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml">arm_compute::PadStrideInfo</a></div><div class="ttdoc">Padding and stride information class. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00685">Types.h:685</a></div></div>
8461<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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>
8462</div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +00008463</div>
8464</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008465<a id="a9d714e1b7d9d7818309138b7d830ebcb"></a>
8466<h2 class="memtitle"><span class="permalink"><a href="#a9d714e1b7d9d7818309138b7d830ebcb">&#9670;&nbsp;</a></span>calculate_subsampled_shape()</h2>
8467
Anthony Barbier06ea0482018-02-22 15:45:35 +00008468<div class="memitem">
8469<div class="memproto">
8470<table class="mlabels">
8471 <tr>
8472 <td class="mlabels-left">
8473 <table class="memname">
8474 <tr>
8475 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::calculate_subsampled_shape </td>
8476 <td>(</td>
8477 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
8478 <td class="paramname"><em>shape</em>, </td>
8479 </tr>
8480 <tr>
8481 <td class="paramkey"></td>
8482 <td></td>
8483 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
8484 <td class="paramname"><em>format</em>, </td>
8485 </tr>
8486 <tr>
8487 <td class="paramkey"></td>
8488 <td></td>
8489 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
8490 <td class="paramname"><em>channel</em> = <code><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">Channel::UNKNOWN</a></code>&#160;</td>
8491 </tr>
8492 <tr>
8493 <td></td>
8494 <td>)</td>
8495 <td></td><td></td>
8496 </tr>
8497 </table>
8498 </td>
8499 <td class="mlabels-right">
8500<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8501 </tr>
8502</table>
8503</div><div class="memdoc">
8504
8505<p>Calculate subsampled shape for a given format and channel. </p>
8506<dl class="params"><dt>Parameters</dt><dd>
8507 <table class="params">
8508 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the tensor to calculate the extracted channel. </td></tr>
8509 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the tensor. </td></tr>
8510 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel to create tensor shape to be extracted.</td></tr>
8511 </table>
8512 </dd>
8513</dl>
8514<dl class="section return"><dt>Returns</dt><dd>The subsampled tensor shape. </dd></dl>
8515
Jenkinsb9abeae2018-11-22 11:58:08 +00008516<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">674</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 +00008517
Jenkinsb9abeae2018-11-22 11:58:08 +00008518<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">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 +00008519
Jenkinsb9abeae2018-11-22 11:58:08 +00008520<p class="reference">Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>, <a class="el" href="_c_l_multi_image_8cpp_source.xhtml#l00048">CLMultiImage::init_auto_padding()</a>, and <a class="el" href="_multi_image_8cpp_source.xhtml#l00048">MultiImage::init_auto_padding()</a>.</p>
8521<div class="fragment"><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;{</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">if</span>(Channel::U == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; {</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00682"></a><span class="lineno"> 682</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="l00683"></a><span class="lineno"> 683</span>&#160; {</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; output.set(0, output.x() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</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;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</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="l00689"></a><span class="lineno"> 689</span>&#160; {</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; output.set(1, output.y() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</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;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</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>
8522<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#l00553">Utils.h:553</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008523<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00008524<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#l00542">Utils.h:542</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008525</div><!-- fragment -->
8526</div>
8527</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008528<a id="a45509a321422cd1542958b5c33021bda"></a>
8529<h2 class="memtitle"><span class="permalink"><a href="#a45509a321422cd1542958b5c33021bda">&#9670;&nbsp;</a></span>calculate_valid_region_scale()</h2>
8530
Kaizen8938bd32017-09-28 14:38:23 +01008531<div class="memitem">
8532<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +01008533 <table class="memname">
8534 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00008535 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> calculate_valid_region_scale </td>
Kaizen8938bd32017-09-28 14:38:23 +01008536 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008537 <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 +01008538 <td class="paramname"><em>src_info</em>, </td>
8539 </tr>
8540 <tr>
8541 <td class="paramkey"></td>
8542 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008543 <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 +01008544 <td class="paramname"><em>dst_shape</em>, </td>
8545 </tr>
8546 <tr>
8547 <td class="paramkey"></td>
8548 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008549 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +01008550 <td class="paramname"><em>interpolate_policy</em>, </td>
Kaizen8938bd32017-09-28 14:38:23 +01008551 </tr>
8552 <tr>
8553 <td class="paramkey"></td>
8554 <td></td>
Jenkinsb3a371b2018-05-23 11:36:53 +01008555 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a>&#160;</td>
8556 <td class="paramname"><em>sampling_policy</em>, </td>
Kaizen8938bd32017-09-28 14:38:23 +01008557 </tr>
8558 <tr>
8559 <td class="paramkey"></td>
8560 <td></td>
8561 <td class="paramtype">bool&#160;</td>
8562 <td class="paramname"><em>border_undefined</em>&#160;</td>
8563 </tr>
8564 <tr>
8565 <td></td>
8566 <td>)</td>
8567 <td></td><td></td>
8568 </tr>
8569 </table>
Kaizen8938bd32017-09-28 14:38:23 +01008570</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00008571
Kaizen8938bd32017-09-28 14:38:23 +01008572<p>Helper function to calculate the Valid Region for Scale. </p>
8573<dl class="params"><dt>Parameters</dt><dd>
8574 <table class="params">
8575 <tr><td class="paramdir">[in]</td><td class="paramname">src_info</td><td>Input tensor info used to check. </td></tr>
8576 <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 +01008577 <tr><td class="paramdir">[in]</td><td class="paramname">interpolate_policy</td><td>Interpolation policy. </td></tr>
8578 <tr><td class="paramdir">[in]</td><td class="paramname">sampling_policy</td><td>Sampling policy. </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01008579 <tr><td class="paramdir">[in]</td><td class="paramname">border_undefined</td><td>True if the border is undefined.</td></tr>
8580 </table>
8581 </dd>
8582</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01008583<dl class="section return"><dt>Returns</dt><dd>The corresponding valid region </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +01008584
Jenkinsb9abeae2018-11-22 11:58:08 +00008585<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">184</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01008586
Jenkinsb9abeae2018-11-22 11:58:08 +00008587<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <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>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00251">arm_compute::test::validation::data_layout</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</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>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">arm_compute::test::validation::valid_region</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
8588
8589<p class="reference">Referenced by <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00198">arm_compute::test::validation::combine()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00119">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00168">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>
8590<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">data_layout</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> idx_width = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> idx_height = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::HEIGHT);</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> scale_x = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(dst_shape[idx_width]) / src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>()[idx_width];</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> scale_y = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(dst_shape[idx_height]) / src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>()[idx_height];</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> sampling_point = (sampling_policy == SamplingPolicy::CENTER) ? 0.5f : 0.0f;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Get input&#39;s valid region start and end points</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> valid_start_in_x = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width];</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> valid_start_in_y = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height];</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> valid_end_in_x = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width] + src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[idx_width];</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> valid_end_in_y = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height] + src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[idx_height];</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="comment">// Initialize output&#39;s valid region start and end points</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">auto</span> valid_start_out_x = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(valid_start_in_x * scale_x);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">auto</span> valid_start_out_y = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(valid_start_in_y * scale_y);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">auto</span> valid_end_out_x = std::min&lt;int&gt;(std::ceil(valid_end_in_x * scale_x), dst_shape[idx_width]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">auto</span> valid_end_out_y = std::min&lt;int&gt;(std::ceil(valid_end_in_y * scale_y), dst_shape[idx_height]);</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="comment">// Handle valid points in case of the bi-linear interpolation</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span>(border_undefined)</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">switch</span>(interpolate_policy)</div><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; <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</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="comment">// (start_out + sampling_point) &gt;= (start_in * scale)</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// start_out = ceil((start_in * scale) - sampling_point)</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; valid_start_out_x = std::ceil(valid_start_in_x * scale_x - sampling_point);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; valid_start_out_y = std::ceil(valid_start_in_y * scale_y - sampling_point);</div><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; <span class="comment">// (end_out - 1 + sampling_point) &lt; (end_in * scale)</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// end_out = ceil((end_in * scale) - sampling_point); // &lt;-- ceil(x - 1) strictly less</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; valid_end_out_x = std::ceil(valid_end_in_x * scale_x - sampling_point);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; valid_end_out_y = std::ceil(valid_end_in_y * scale_y - sampling_point);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// (start_out + sampling_point) &gt;= ((start_in + sampling_point) * scale)</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">// start_out = ceil(((start_in + sampling_point) * scale) - sampling_point)</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; valid_start_out_x = std::ceil((valid_start_in_x + sampling_point) * scale_x - sampling_point);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; valid_start_out_y = std::ceil((valid_start_in_y + sampling_point) * scale_y - sampling_point);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="comment">// (end_out - 1 + sampling_point) &lt;= ((end_in - 1 + sampling_point) * scale)</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// end_out = floor(((end_in - 1 + sampling_point) * scale) - sampling_point + 1)</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; valid_end_out_x = std::floor((valid_end_in_x - 1.f + sampling_point) * scale_x - sampling_point + 1.f);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; valid_end_out_y = std::floor((valid_end_in_y - 1.f + sampling_point) * scale_y - sampling_point + 1.f);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">break</span>;</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; <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">default</span>:</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; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid InterpolationPolicy&quot;</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</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;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// Setup output valid region</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>{ <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>(), dst_shape, src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() };</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a>(idx_width, std::max(0, valid_start_out_x));</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a>(idx_height, std::max(0, valid_start_out_y));</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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>.<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">set</a>(idx_width, std::min&lt;size_t&gt;(valid_end_out_x - valid_start_out_x, dst_shape[idx_width]));</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>.<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">set</a>(idx_height, std::min&lt;size_t&gt;(valid_end_out_y - valid_start_out_y, dst_shape[idx_height]));</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</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>
8591<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
8592<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#l00251">Winograd.cpp:251</a></div></div>
8593<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a982730e6f0da5f9490f59bc5f6bb3f27"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">arm_compute::Dimensions::set</a></div><div class="ttdeci">void set(size_t dimension, T value)</div><div class="ttdoc">Accessor to set the value of one of the dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00074">Dimensions.h:74</a></div></div>
8594<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a74dfd07380a290c34fe7c8e065029b95"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">arm_compute::ITensorInfo::valid_region</a></div><div class="ttdeci">virtual ValidRegion valid_region() const =0</div><div class="ttdoc">Valid region of the tensor. </div></div>
8595<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a7c66505457d00ece3aa4b34cab80757d"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">arm_compute::ITensorInfo::tensor_shape</a></div><div class="ttdeci">virtual const TensorShape &amp; tensor_shape() const =0</div><div class="ttdoc">Size for each dimension of the tensor. </div></div>
8596<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
8597<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">ArithmeticDivision.cpp:107</a></div></div>
8598<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
8599<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml_a9c54fb6cea3557692fe7c00c40bb40ad"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">arm_compute::TensorShape::set</a></div><div class="ttdeci">TensorShape &amp; set(size_t dimension, size_t value, bool apply_dim_correction=true)</div><div class="ttdoc">Accessor to set the value of one of the dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00078">TensorShape.h:78</a></div></div>
8600<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml">arm_compute::ValidRegion</a></div><div class="ttdoc">Container for valid region of a window. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00209">Types.h:209</a></div></div>
8601<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>
8602<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">[DataLayout enum definition] </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
8603<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
8604<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a367b5090ab432bc7de2c32369e087ab1"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">arm_compute::ITensorInfo::data_layout</a></div><div class="ttdeci">virtual DataLayout data_layout() const =0</div><div class="ttdoc">Get the data layout of the tensor. </div></div>
8605</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00008606</div>
8607</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008608<a id="ab237a0a375cf382d52b61653248d3d4a"></a>
8609<h2 class="memtitle"><span class="permalink"><a href="#ab237a0a375cf382d52b61653248d3d4a">&#9670;&nbsp;</a></span>ceil_to_multiple()</h2>
8610
Anthony Barbier871448e2017-03-24 14:54:29 +00008611<div class="memitem">
8612<div class="memproto">
8613<table class="mlabels">
8614 <tr>
8615 <td class="mlabels-left">
8616 <table class="memname">
8617 <tr>
8618 <td class="memname">auto arm_compute::ceil_to_multiple </td>
8619 <td>(</td>
8620 <td class="paramtype">S&#160;</td>
8621 <td class="paramname"><em>value</em>, </td>
8622 </tr>
8623 <tr>
8624 <td class="paramkey"></td>
8625 <td></td>
8626 <td class="paramtype">T&#160;</td>
8627 <td class="paramname"><em>divisor</em>&#160;</td>
8628 </tr>
8629 <tr>
8630 <td></td>
8631 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +01008632 <td></td><td> -&gt; decltype(((value + divisor - 1) / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +00008633</td>
8634 </tr>
8635 </table>
8636 </td>
8637 <td class="mlabels-right">
8638<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8639 </tr>
8640</table>
8641</div><div class="memdoc">
8642
8643<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008644<dl class="params"><dt>Parameters</dt><dd>
8645 <table class="params">
8646 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Lower bound value </td></tr>
8647 <tr><td class="paramdir">[in]</td><td class="paramname">divisor</td><td>Value to compute multiple of.</td></tr>
8648 </table>
8649 </dd>
8650</dl>
8651<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008652
Jenkinsb9abeae2018-11-22 11:58:08 +00008653<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">65</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 +00008654
Jenkinsb9abeae2018-11-22 11:58:08 +00008655<p class="reference">Referenced by <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">calculate_max_window_horizontal()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00437">NELogits1DMaxKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00213">NEGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00141">NEGEMMInterleavedWrapper::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="validation_2_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel::kernel()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00829">NEGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00347">CLIm2ColKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00279">NEGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
8656<div class="fragment"><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; <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="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#acac1575c0edd329ceb4a54d9fe8dcb08">DIV_CEIL</a>(value, divisor) * divisor;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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>
8657<div class="ttc" id="namespacearm__compute_xhtml_acac1575c0edd329ceb4a54d9fe8dcb08"><div class="ttname"><a href="namespacearm__compute.xhtml#acac1575c0edd329ceb4a54d9fe8dcb08">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#l00052">Utils.h:52</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008658</div><!-- fragment -->
8659</div>
8660</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008661<a id="afab149f8d8b0f6405303ee8056fa77d3"></a>
8662<h2 class="memtitle"><span class="permalink"><a href="#afab149f8d8b0f6405303ee8056fa77d3">&#9670;&nbsp;</a></span>channel_idx_from_format()</h2>
8663
Anthony Barbier06ea0482018-02-22 15:45:35 +00008664<div class="memitem">
8665<div class="memproto">
8666<table class="mlabels">
8667 <tr>
8668 <td class="mlabels-left">
8669 <table class="memname">
8670 <tr>
8671 <td class="memname">int arm_compute::channel_idx_from_format </td>
8672 <td>(</td>
8673 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
8674 <td class="paramname"><em>format</em>, </td>
8675 </tr>
8676 <tr>
8677 <td class="paramkey"></td>
8678 <td></td>
8679 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
8680 <td class="paramname"><em>channel</em>&#160;</td>
8681 </tr>
8682 <tr>
8683 <td></td>
8684 <td>)</td>
8685 <td></td><td></td>
8686 </tr>
8687 </table>
8688 </td>
8689 <td class="mlabels-right">
8690<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8691 </tr>
8692</table>
8693</div><div class="memdoc">
8694
8695<p>Return the channel index of a given channel given an input format. </p>
8696<dl class="params"><dt>Parameters</dt><dd>
8697 <table class="params">
8698 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
8699 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
8700 </table>
8701 </dd>
8702</dl>
8703<dl class="section return"><dt>Returns</dt><dd>The channel index of the specific channel of the specific format </dd></dl>
8704
Jenkinsb9abeae2018-11-22 11:58:08 +00008705<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00313">313</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 +00008706
Jenkinsb9abeae2018-11-22 11:58:08 +00008707<p class="reference">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 +00008708
Jenkinsb9abeae2018-11-22 11:58:08 +00008709<p class="reference">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="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>.</p>
8710<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;{</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">switch</span>(format)</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">case</span> Format::RGB888:</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; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</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="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</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; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</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="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</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="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><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; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</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="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</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="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</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="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</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="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</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 +00008711</div><!-- fragment -->
8712</div>
8713</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008714<a id="a7f5aff064f09dd7f355aaaf7641bf7d3"></a>
8715<h2 class="memtitle"><span class="permalink"><a href="#a7f5aff064f09dd7f355aaaf7641bf7d3">&#9670;&nbsp;</a></span>cl_winograd_convolution_layer_supported()</h2>
8716
Jenkins52ba29e2018-08-29 15:32:11 +00008717<div class="memitem">
8718<div class="memproto">
8719 <table class="memname">
8720 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00008721 <td class="memname">bool cl_winograd_convolution_layer_supported </td>
Jenkins52ba29e2018-08-29 15:32:11 +00008722 <td>(</td>
8723 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
8724 <td class="paramname"><em>output_tile</em>, </td>
8725 </tr>
8726 <tr>
8727 <td class="paramkey"></td>
8728 <td></td>
8729 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
8730 <td class="paramname"><em>kernel_size</em>, </td>
8731 </tr>
8732 <tr>
8733 <td class="paramkey"></td>
8734 <td></td>
8735 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
8736 <td class="paramname"><em>data_layout</em>&#160;</td>
8737 </tr>
8738 <tr>
8739 <td></td>
8740 <td>)</td>
8741 <td></td><td></td>
8742 </tr>
8743 </table>
8744</div><div class="memdoc">
8745
8746<p>This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. </p>
8747<dl class="params"><dt>Parameters</dt><dd>
8748 <table class="params">
8749 <tr><td class="paramdir">[in]</td><td class="paramname">output_tile</td><td>Output tile for the Winograd filtering algorithm </td></tr>
8750 <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>
8751 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Data layout of the input tensor</td></tr>
8752 </table>
8753 </dd>
8754</dl>
8755<dl class="section return"><dt>Returns</dt><dd>True if the configuration is supported </dd></dl>
8756
Jenkinsb9abeae2018-11-22 11:58:08 +00008757<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00190">190</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
8758
8759<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::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="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
8760<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::UNKNOWN);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">using</span> WinogradConfiguration = std::pair&lt;std::pair&lt;int, int&gt;, std::pair&lt;int, int&gt;&gt;;</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; std::vector&lt;WinogradConfiguration&gt; winograd_configs_nchw =</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(1, 2), std::pair&lt;int, int&gt;(1, 3)),</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(1, 4), std::pair&lt;int, int&gt;(1, 3)),</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(2, 1), std::pair&lt;int, int&gt;(3, 1)),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 1), std::pair&lt;int, int&gt;(3, 1)),</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(2, 2), std::pair&lt;int, int&gt;(3, 3)),</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 4), std::pair&lt;int, int&gt;(3, 3)),</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 4), std::pair&lt;int, int&gt;(5, 5)),</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 1), std::pair&lt;int, int&gt;(5, 1)),</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(1, 4), std::pair&lt;int, int&gt;(1, 5))</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; };</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; std::vector&lt;WinogradConfiguration&gt; winograd_configs_nhwc =</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; WinogradConfiguration(std::pair&lt;int, int&gt;(2, 2), std::pair&lt;int, int&gt;(3, 3)),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(1, 4), std::pair&lt;int, int&gt;(1, 3)),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 1), std::pair&lt;int, int&gt;(3, 1)),</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 4), std::pair&lt;int, int&gt;(3, 3)),</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 4), std::pair&lt;int, int&gt;(5, 5)),</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(4, 1), std::pair&lt;int, int&gt;(5, 1)),</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; WinogradConfiguration(std::pair&lt;int, int&gt;(1, 4), std::pair&lt;int, int&gt;(1, 5))</div><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;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">auto</span> p = std::make_pair(std::pair&lt;int, int&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62aa9469ab6f4dac26615fa705f55354">output_tile</a>.width, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62aa9469ab6f4dac26615fa705f55354">output_tile</a>.height),</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; std::pair&lt;int, int&gt;(kernel_size.width, kernel_size.height));</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; <span class="comment">// Return true if supported</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> (std::find(winograd_configs_nchw.begin(), winograd_configs_nchw.end(), p) != winograd_configs_nchw.end());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">else</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; <span class="keywordflow">return</span> (std::find(winograd_configs_nhwc.begin(), winograd_configs_nhwc.end(), p) != winograd_configs_nhwc.end());</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62aa9469ab6f4dac26615fa705f55354"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62aa9469ab6f4dac26615fa705f55354">arm_compute::test::validation::output_tile</a></div><div class="ttdeci">output_tile</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00420">Winograd.cpp:420</a></div></div>
8761<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>
8762<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#l00251">Winograd.cpp:251</a></div></div>
8763</div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +00008764</div>
8765</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008766<a id="af2be1325decaa34a8a1199af177148c6"></a>
8767<h2 class="memtitle"><span class="permalink"><a href="#af2be1325decaa34a8a1199af177148c6">&#9670;&nbsp;</a></span>colorconvert_iyuv_to_nv12()</h2>
8768
Anthony Barbier871448e2017-03-24 14:54:29 +00008769<div class="memitem">
8770<div class="memproto">
8771 <table class="memname">
8772 <tr>
8773 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
8774 <td>(</td>
8775 <td class="paramtype">const void *__restrict&#160;</td>
8776 <td class="paramname"><em>input</em>, </td>
8777 </tr>
8778 <tr>
8779 <td class="paramkey"></td>
8780 <td></td>
8781 <td class="paramtype">void *__restrict&#160;</td>
8782 <td class="paramname"><em>output</em>, </td>
8783 </tr>
8784 <tr>
8785 <td class="paramkey"></td>
8786 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008787 <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 +00008788 <td class="paramname"><em>win</em>&#160;</td>
8789 </tr>
8790 <tr>
8791 <td></td>
8792 <td>)</td>
8793 <td></td><td></td>
8794 </tr>
8795 </table>
8796</div><div class="memdoc">
8797
Jenkinsb3a371b2018-05-23 11:36:53 +01008798<p>Convert IYUV to NV12. </p>
8799<dl class="params"><dt>Parameters</dt><dd>
8800 <table class="params">
8801 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
8802 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
8803 <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>
8804 </table>
8805 </dd>
8806</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008807
Jenkinsb9abeae2018-11-22 11:58:08 +00008808<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00665">665</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008809
Jenkinsb9abeae2018-11-22 11:58:08 +00008810<p class="reference">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>
8811
8812<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00426">NEColorConvertKernel::configure()</a>.</p>
8813<div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;{</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <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="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</span>&#160; win.validate();</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</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="l00672"></a><span class="lineno"> 672</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="l00673"></a><span class="lineno"> 673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</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="l00677"></a><span class="lineno"> 677</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="l00678"></a><span class="lineno"> 678</span>&#160; win_uv.validate();</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; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</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; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span>&#160; uint8x16x2_t ta_uv;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</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="l00700"></a><span class="lineno"> 700</span>&#160; vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; },</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</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>
8814<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00008815</div><!-- fragment -->
8816</div>
8817</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008818<a id="a6e42fac1baa264b033ac430b63ebd145"></a>
8819<h2 class="memtitle"><span class="permalink"><a href="#a6e42fac1baa264b033ac430b63ebd145">&#9670;&nbsp;</a></span>colorconvert_iyuv_to_rgb()</h2>
8820
Anthony Barbier871448e2017-03-24 14:54:29 +00008821<div class="memitem">
8822<div class="memproto">
8823 <table class="memname">
8824 <tr>
8825 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
8826 <td>(</td>
8827 <td class="paramtype">const void *__restrict&#160;</td>
8828 <td class="paramname"><em>input</em>, </td>
8829 </tr>
8830 <tr>
8831 <td class="paramkey"></td>
8832 <td></td>
8833 <td class="paramtype">void *__restrict&#160;</td>
8834 <td class="paramname"><em>output</em>, </td>
8835 </tr>
8836 <tr>
8837 <td class="paramkey"></td>
8838 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008839 <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 +00008840 <td class="paramname"><em>win</em>&#160;</td>
8841 </tr>
8842 <tr>
8843 <td></td>
8844 <td>)</td>
8845 <td></td><td></td>
8846 </tr>
8847 </table>
8848</div><div class="memdoc">
8849
Jenkinsb3a371b2018-05-23 11:36:53 +01008850<p>Convert IYUV to RGB. </p>
8851<dl class="params"><dt>Parameters</dt><dd>
8852 <table class="params">
8853 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
8854 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
8855 <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>
8856 </table>
8857 </dd>
8858</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008859
Jenkinsb9abeae2018-11-22 11:58:08 +00008860<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00547">547</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008861
Jenkinsb9abeae2018-11-22 11:58:08 +00008862<p class="reference">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#l00266">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#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
8863<div class="fragment"><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;{</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> == input);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</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="l00551"></a><span class="lineno"> 551</span>&#160; win.validate();</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</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="l00554"></a><span class="lineno"> 554</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="l00555"></a><span class="lineno"> 555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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="l00557"></a><span class="lineno"> 557</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="l00558"></a><span class="lineno"> 558</span>&#160;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; win_uv.validate();</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</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="l00576"></a><span class="lineno"> 576</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; float32x4x4_t yvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[0]);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; float32x4x4_t yyvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[1]);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; float32x4x4_t yvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0]);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; float32x4x4_t yyvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1]);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta_u);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta_v);</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; <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="l00590"></a><span class="lineno"> 590</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="l00591"></a><span class="lineno"> 591</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="l00592"></a><span class="lineno"> 592</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="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</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="l00595"></a><span class="lineno"> 595</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="l00596"></a><span class="lineno"> 596</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="l00597"></a><span class="lineno"> 597</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="l00598"></a><span class="lineno"> 598</span>&#160; },</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</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="l00600"></a><span class="lineno"> 600</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>
8864<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#l00159">ColorConvertHelper.h:159</a></div></div>
8865<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#l00266">Winograd.cpp:266</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008866<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00008867<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00008868<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 +00008869</div><!-- fragment -->
8870</div>
8871</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008872<a id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
8873<h2 class="memtitle"><span class="permalink"><a href="#a08e9d88293a5cef787bb324c2dc0a6bf">&#9670;&nbsp;</a></span>colorconvert_iyuv_to_yuv4()</h2>
8874
Anthony Barbier871448e2017-03-24 14:54:29 +00008875<div class="memitem">
8876<div class="memproto">
8877 <table class="memname">
8878 <tr>
8879 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
8880 <td>(</td>
8881 <td class="paramtype">const void *__restrict&#160;</td>
8882 <td class="paramname"><em>input</em>, </td>
8883 </tr>
8884 <tr>
8885 <td class="paramkey"></td>
8886 <td></td>
8887 <td class="paramtype">void *__restrict&#160;</td>
8888 <td class="paramname"><em>output</em>, </td>
8889 </tr>
8890 <tr>
8891 <td class="paramkey"></td>
8892 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008893 <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 +00008894 <td class="paramname"><em>win</em>&#160;</td>
8895 </tr>
8896 <tr>
8897 <td></td>
8898 <td>)</td>
8899 <td></td><td></td>
8900 </tr>
8901 </table>
8902</div><div class="memdoc">
8903
Jenkinsb3a371b2018-05-23 11:36:53 +01008904<p>Convert IYUV to YUV4. </p>
8905<dl class="params"><dt>Parameters</dt><dd>
8906 <table class="params">
8907 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
8908 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
8909 <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>
8910 </table>
8911 </dd>
8912</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008913
Jenkinsb9abeae2018-11-22 11:58:08 +00008914<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00880">880</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008915
Jenkinsb9abeae2018-11-22 11:58:08 +00008916<p class="reference">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>
8917
8918<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00426">NEColorConvertKernel::configure()</a>.</p>
8919<div class="fragment"><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;{</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</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="l00883"></a><span class="lineno"> 883</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="l00884"></a><span class="lineno"> 884</span>&#160; win.validate();</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <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="l00887"></a><span class="lineno"> 887</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="l00888"></a><span class="lineno"> 888</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</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="l00892"></a><span class="lineno"> 892</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="l00893"></a><span class="lineno"> 893</span>&#160; win_uv.validate();</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</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; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; {</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</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="l00905"></a><span class="lineno"> 905</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="l00906"></a><span class="lineno"> 906</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="l00907"></a><span class="lineno"> 907</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="l00908"></a><span class="lineno"> 908</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</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="l00915"></a><span class="lineno"> 915</span>&#160;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; uvec.val[0] = ta_u;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; uvec.val[1] = ta_u;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</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="l00921"></a><span class="lineno"> 921</span>&#160;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; vvec.val[0] = ta_v;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; vvec.val[1] = ta_v;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</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="l00927"></a><span class="lineno"> 927</span>&#160; },</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</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>
8920<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00008921</div><!-- fragment -->
8922</div>
8923</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008924<a id="a199d36780fbb4a70168f290480673650"></a>
8925<h2 class="memtitle"><span class="permalink"><a href="#a199d36780fbb4a70168f290480673650">&#9670;&nbsp;</a></span>colorconvert_nv12_to_iyuv()</h2>
8926
Anthony Barbier871448e2017-03-24 14:54:29 +00008927<div class="memitem">
8928<div class="memproto">
8929 <table class="memname">
8930 <tr>
8931 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
8932 <td>(</td>
8933 <td class="paramtype">const void *__restrict&#160;</td>
8934 <td class="paramname"><em>input</em>, </td>
8935 </tr>
8936 <tr>
8937 <td class="paramkey"></td>
8938 <td></td>
8939 <td class="paramtype">void *__restrict&#160;</td>
8940 <td class="paramname"><em>output</em>, </td>
8941 </tr>
8942 <tr>
8943 <td class="paramkey"></td>
8944 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008945 <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 +00008946 <td class="paramname"><em>win</em>&#160;</td>
8947 </tr>
8948 <tr>
8949 <td></td>
8950 <td>)</td>
8951 <td></td><td></td>
8952 </tr>
8953 </table>
8954</div><div class="memdoc">
8955
Jenkinsb3a371b2018-05-23 11:36:53 +01008956<p>Convert NV12 to IYUV. </p>
8957<dl class="params"><dt>Parameters</dt><dd>
8958 <table class="params">
8959 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
8960 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
8961 <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>
8962 </table>
8963 </dd>
8964</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008965
Jenkinsb9abeae2018-11-22 11:58:08 +00008966<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00713">713</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008967
Jenkinsb9abeae2018-11-22 11:58:08 +00008968<p class="reference">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>
8969<div class="fragment"><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; <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="l00716"></a><span class="lineno"> 716</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="l00717"></a><span class="lineno"> 717</span>&#160; win.validate();</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; <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="l00720"></a><span class="lineno"> 720</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="l00721"></a><span class="lineno"> 721</span>&#160;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</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; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</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="l00727"></a><span class="lineno"> 727</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="l00728"></a><span class="lineno"> 728</span>&#160; win_uv.validate();</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</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; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</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="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</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="l00740"></a><span class="lineno"> 740</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="l00741"></a><span class="lineno"> 741</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</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="l00748"></a><span class="lineno"> 748</span>&#160; vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</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; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</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>
8970<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00008971</div><!-- fragment -->
8972</div>
8973</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00008974<a id="ae6a44e412bccc0705a720708b0692218"></a>
8975<h2 class="memtitle"><span class="permalink"><a href="#ae6a44e412bccc0705a720708b0692218">&#9670;&nbsp;</a></span>colorconvert_nv12_to_rgb()</h2>
8976
Anthony Barbier871448e2017-03-24 14:54:29 +00008977<div class="memitem">
8978<div class="memproto">
8979 <table class="memname">
8980 <tr>
8981 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
8982 <td>(</td>
8983 <td class="paramtype">const void *__restrict&#160;</td>
8984 <td class="paramname"><em>input</em>, </td>
8985 </tr>
8986 <tr>
8987 <td class="paramkey"></td>
8988 <td></td>
8989 <td class="paramtype">void *__restrict&#160;</td>
8990 <td class="paramname"><em>output</em>, </td>
8991 </tr>
8992 <tr>
8993 <td class="paramkey"></td>
8994 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008995 <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 +00008996 <td class="paramname"><em>win</em>&#160;</td>
8997 </tr>
8998 <tr>
8999 <td></td>
9000 <td>)</td>
9001 <td></td><td></td>
9002 </tr>
9003 </table>
9004</div><div class="memdoc">
9005
Jenkinsb3a371b2018-05-23 11:36:53 +01009006<p>Convert NV12 to RGB. </p>
9007<dl class="params"><dt>Parameters</dt><dd>
9008 <table class="params">
9009 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
9010 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
9011 <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>
9012 </table>
9013 </dd>
9014</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009015
Jenkinsb9abeae2018-11-22 11:58:08 +00009016<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00485">485</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009017
Jenkinsb9abeae2018-11-22 11:58:08 +00009018<p class="reference">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#l00266">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#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
9019<div class="fragment"><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; <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="l00488"></a><span class="lineno"> 488</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="l00489"></a><span class="lineno"> 489</span>&#160; win.validate();</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; <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="l00492"></a><span class="lineno"> 492</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="l00493"></a><span class="lineno"> 493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</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="l00495"></a><span class="lineno"> 495</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="l00496"></a><span class="lineno"> 496</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</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="l00501"></a><span class="lineno"> 501</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="l00502"></a><span class="lineno"> 502</span>&#160; win_uv.validate();</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</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="l00507"></a><span class="lineno"> 507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</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="l00512"></a><span class="lineno"> 512</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="l00513"></a><span class="lineno"> 513</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; float32x4x4_t yvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[0]);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; float32x4x4_t yyvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[1]);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; float32x4x4_t yvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0]);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; float32x4x4_t yyvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1]);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift]);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift]);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <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="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[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="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[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="l00529"></a><span class="lineno"> 529</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="l00530"></a><span class="lineno"> 530</span>&#160;</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[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="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[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="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[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="l00534"></a><span class="lineno"> 534</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="l00535"></a><span class="lineno"> 535</span>&#160; },</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</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="l00537"></a><span class="lineno"> 537</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>
9020<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#l00159">ColorConvertHelper.h:159</a></div></div>
9021<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#l00266">Winograd.cpp:266</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009022<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009023<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00009024<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 +00009025</div><!-- fragment -->
9026</div>
9027</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009028<a id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
9029<h2 class="memtitle"><span class="permalink"><a href="#a587a54c85dcc72838b8f4b5575ebafe4">&#9670;&nbsp;</a></span>colorconvert_nv12_to_yuv4()</h2>
9030
Anthony Barbier871448e2017-03-24 14:54:29 +00009031<div class="memitem">
9032<div class="memproto">
9033 <table class="memname">
9034 <tr>
9035 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
9036 <td>(</td>
9037 <td class="paramtype">const void *__restrict&#160;</td>
9038 <td class="paramname"><em>input</em>, </td>
9039 </tr>
9040 <tr>
9041 <td class="paramkey"></td>
9042 <td></td>
9043 <td class="paramtype">void *__restrict&#160;</td>
9044 <td class="paramname"><em>output</em>, </td>
9045 </tr>
9046 <tr>
9047 <td class="paramkey"></td>
9048 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009049 <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 +00009050 <td class="paramname"><em>win</em>&#160;</td>
9051 </tr>
9052 <tr>
9053 <td></td>
9054 <td>)</td>
9055 <td></td><td></td>
9056 </tr>
9057 </table>
9058</div><div class="memdoc">
9059
Jenkinsb3a371b2018-05-23 11:36:53 +01009060<p>Convert NV12 to YUV4. </p>
9061<dl class="params"><dt>Parameters</dt><dd>
9062 <table class="params">
9063 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
9064 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
9065 <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>
9066 </table>
9067 </dd>
9068</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009069
Jenkinsb9abeae2018-11-22 11:58:08 +00009070<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00822">822</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009071
Jenkinsb9abeae2018-11-22 11:58:08 +00009072<p class="reference">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>
9073<div class="fragment"><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;{</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</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="l00825"></a><span class="lineno"> 825</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="l00826"></a><span class="lineno"> 826</span>&#160; win.validate();</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="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="l00829"></a><span class="lineno"> 829</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="l00830"></a><span class="lineno"> 830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</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="l00836"></a><span class="lineno"> 836</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="l00837"></a><span class="lineno"> 837</span>&#160; win_uv.validate();</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_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="l00849"></a><span class="lineno"> 849</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="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</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="l00857"></a><span class="lineno"> 857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</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="l00863"></a><span class="lineno"> 863</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</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="l00869"></a><span class="lineno"> 869</span>&#160; },</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</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>
9074<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00009075</div><!-- fragment -->
9076</div>
9077</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009078<a id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
9079<h2 class="memtitle"><span class="permalink"><a href="#a49b7a8e217ba7aad821fdeaab86bad53">&#9670;&nbsp;</a></span>colorconvert_rgb_to_iyuv()</h2>
9080
Anthony Barbier871448e2017-03-24 14:54:29 +00009081<div class="memitem">
9082<div class="memproto">
9083 <table class="memname">
9084 <tr>
9085 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
9086 <td>(</td>
9087 <td class="paramtype">const void *__restrict&#160;</td>
9088 <td class="paramname"><em>input</em>, </td>
9089 </tr>
9090 <tr>
9091 <td class="paramkey"></td>
9092 <td></td>
9093 <td class="paramtype">void *__restrict&#160;</td>
9094 <td class="paramname"><em>output</em>, </td>
9095 </tr>
9096 <tr>
9097 <td class="paramkey"></td>
9098 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009099 <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 +00009100 <td class="paramname"><em>win</em>&#160;</td>
9101 </tr>
9102 <tr>
9103 <td></td>
9104 <td>)</td>
9105 <td></td><td></td>
9106 </tr>
9107 </table>
9108</div><div class="memdoc">
9109
Jenkinsb3a371b2018-05-23 11:36:53 +01009110<p>Convert RGB to IYUV. </p>
9111<dl class="params"><dt>Parameters</dt><dd>
9112 <table class="params">
9113 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9114 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
9115 <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>
9116 </table>
9117 </dd>
9118</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009119
Jenkinsb9abeae2018-11-22 11:58:08 +00009120<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00982">982</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009121
Jenkinsb9abeae2018-11-22 11:58:08 +00009122<p class="reference">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#l00265">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>
9123<div class="fragment"><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; <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="l00985"></a><span class="lineno"> 985</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="l00986"></a><span class="lineno"> 986</span>&#160; win.validate();</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</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="l00989"></a><span class="lineno"> 989</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="l00990"></a><span class="lineno"> 990</span>&#160;</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</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="l00994"></a><span class="lineno"> 994</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="l00995"></a><span class="lineno"> 995</span>&#160; win_uv.validate();</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</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="l00998"></a><span class="lineno"> 998</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; {</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</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="l01005"></a><span class="lineno"> 1005</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#ad45f0c01a0713dfb6bd7232c7f396fc4">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#ac4a1050be02b20b3f791b9a483f3abe2">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</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="l01011"></a><span class="lineno"> 1011</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</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="l01013"></a><span class="lineno"> 1013</span>&#160; out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; },</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</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="l01016"></a><span class="lineno"> 1016</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">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 class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
9124<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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009125<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>
Jenkins52ba29e2018-08-29 15:32:11 +00009126<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009127<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009128<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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>
9129<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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>
Jenkins52ba29e2018-08-29 15:32:11 +00009130<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 +00009131</div><!-- fragment -->
9132</div>
9133</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009134<a id="a14fd899b732509e245976b9967b8931d"></a>
9135<h2 class="memtitle"><span class="permalink"><a href="#a14fd899b732509e245976b9967b8931d">&#9670;&nbsp;</a></span>colorconvert_rgb_to_nv12()</h2>
9136
Anthony Barbier871448e2017-03-24 14:54:29 +00009137<div class="memitem">
9138<div class="memproto">
9139 <table class="memname">
9140 <tr>
9141 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
9142 <td>(</td>
9143 <td class="paramtype">const void *__restrict&#160;</td>
9144 <td class="paramname"><em>input</em>, </td>
9145 </tr>
9146 <tr>
9147 <td class="paramkey"></td>
9148 <td></td>
9149 <td class="paramtype">void *__restrict&#160;</td>
9150 <td class="paramname"><em>output</em>, </td>
9151 </tr>
9152 <tr>
9153 <td class="paramkey"></td>
9154 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009155 <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 +00009156 <td class="paramname"><em>win</em>&#160;</td>
9157 </tr>
9158 <tr>
9159 <td></td>
9160 <td>)</td>
9161 <td></td><td></td>
9162 </tr>
9163 </table>
9164</div><div class="memdoc">
9165
Jenkinsb3a371b2018-05-23 11:36:53 +01009166<p>Convert RGB to NV12. </p>
9167<dl class="params"><dt>Parameters</dt><dd>
9168 <table class="params">
9169 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9170 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
9171 <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>
9172 </table>
9173 </dd>
9174</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009175
Jenkinsb9abeae2018-11-22 11:58:08 +00009176<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00939">939</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009177
Jenkinsb9abeae2018-11-22 11:58:08 +00009178<p class="reference">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#l00265">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>
9179<div class="fragment"><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;{</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</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="l00942"></a><span class="lineno"> 942</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="l00943"></a><span class="lineno"> 943</span>&#160; win.validate();</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</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="l00946"></a><span class="lineno"> 946</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="l00947"></a><span class="lineno"> 947</span>&#160;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</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="l00951"></a><span class="lineno"> 951</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="l00952"></a><span class="lineno"> 952</span>&#160; win_uv.validate();</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</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="l00955"></a><span class="lineno"> 955</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; {</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</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="l00961"></a><span class="lineno"> 961</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#ad45f0c01a0713dfb6bd7232c7f396fc4">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#ac4a1050be02b20b3f791b9a483f3abe2">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></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; 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="l00967"></a><span class="lineno"> 967</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</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="l00969"></a><span class="lineno"> 969</span>&#160; out_uv.ptr());</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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">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 class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
9180<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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009181<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>
Jenkins52ba29e2018-08-29 15:32:11 +00009182<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009183<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009184<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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>
9185<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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>
Jenkins52ba29e2018-08-29 15:32:11 +00009186<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 +00009187</div><!-- fragment -->
9188</div>
9189</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009190<a id="a93cc303c8ae098d264f07d37890412de"></a>
9191<h2 class="memtitle"><span class="permalink"><a href="#a93cc303c8ae098d264f07d37890412de">&#9670;&nbsp;</a></span>colorconvert_rgb_to_rgbx()</h2>
9192
Anthony Barbier871448e2017-03-24 14:54:29 +00009193<div class="memitem">
9194<div class="memproto">
9195 <table class="memname">
9196 <tr>
9197 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
9198 <td>(</td>
9199 <td class="paramtype">const void *__restrict&#160;</td>
9200 <td class="paramname"><em>input</em>, </td>
9201 </tr>
9202 <tr>
9203 <td class="paramkey"></td>
9204 <td></td>
9205 <td class="paramtype">void *__restrict&#160;</td>
9206 <td class="paramname"><em>output</em>, </td>
9207 </tr>
9208 <tr>
9209 <td class="paramkey"></td>
9210 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009211 <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 +00009212 <td class="paramname"><em>win</em>&#160;</td>
9213 </tr>
9214 <tr>
9215 <td></td>
9216 <td>)</td>
9217 <td></td><td></td>
9218 </tr>
9219 </table>
9220</div><div class="memdoc">
9221
Jenkinsb3a371b2018-05-23 11:36:53 +01009222<p>Convert RGB to RGBX. </p>
9223<dl class="params"><dt>Parameters</dt><dd>
9224 <table class="params">
9225 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9226 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGBX buffer. </td></tr>
9227 <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>
9228 </table>
9229 </dd>
9230</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009231
Jenkinsb9abeae2018-11-22 11:58:08 +00009232<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">351</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009233
Jenkinsb9abeae2018-11-22 11:58:08 +00009234<p class="reference">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#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
9235
9236<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
9237<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;{</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</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="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="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="l00365"></a><span class="lineno"> 365</span>&#160; uint8x16x4_t ta2;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</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="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_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="l00373"></a><span class="lineno"> 373</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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009238<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009239<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#l00266">Winograd.cpp:266</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009240<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009241<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00009242</div><!-- fragment -->
9243</div>
9244</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009245<a id="aa1d4cf707dec05e3ff1d63d4ce8065ca"></a>
9246<h2 class="memtitle"><span class="permalink"><a href="#aa1d4cf707dec05e3ff1d63d4ce8065ca">&#9670;&nbsp;</a></span>colorconvert_rgb_to_u8()</h2>
9247
9248<div class="memitem">
9249<div class="memproto">
9250 <table class="memname">
9251 <tr>
9252 <td class="memname">void arm_compute::colorconvert_rgb_to_u8 </td>
9253 <td>(</td>
9254 <td class="paramtype">const void *__restrict&#160;</td>
9255 <td class="paramname"><em>input</em>, </td>
9256 </tr>
9257 <tr>
9258 <td class="paramkey"></td>
9259 <td></td>
9260 <td class="paramtype">void *__restrict&#160;</td>
9261 <td class="paramname"><em>output</em>, </td>
9262 </tr>
9263 <tr>
9264 <td class="paramkey"></td>
9265 <td></td>
9266 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
9267 <td class="paramname"><em>win</em>&#160;</td>
9268 </tr>
9269 <tr>
9270 <td></td>
9271 <td>)</td>
9272 <td></td><td></td>
9273 </tr>
9274 </table>
9275</div><div class="memdoc">
9276
9277<p>Convert RGB to U8. </p>
9278<dl class="params"><dt>Parameters</dt><dd>
9279 <table class="params">
9280 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9281 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output U8 buffer. </td></tr>
9282 <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>
9283 </table>
9284 </dd>
9285</dl>
9286
9287<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00382">382</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9288
9289<p class="reference">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#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
9290
9291<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
9292<div class="fragment"><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; <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="l00385"></a><span class="lineno"> 385</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="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</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="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</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="l00391"></a><span class="lineno"> 391</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="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; uint8x16_t ta2;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; rgb_to_u8_conversion(ta1, ta2);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; vst1q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; },</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <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="l00401"></a><span class="lineno"> 401</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#l00265">Winograd.cpp:265</a></div></div>
9293<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>
9294<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#l00266">Winograd.cpp:266</a></div></div>
9295<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>
9296<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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>
9297</div><!-- fragment -->
9298</div>
9299</div>
9300<a id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
9301<h2 class="memtitle"><span class="permalink"><a href="#ad304c0b0a72ed3f65c24fa69ab3cd53e">&#9670;&nbsp;</a></span>colorconvert_rgb_to_yuv4()</h2>
9302
Anthony Barbier871448e2017-03-24 14:54:29 +00009303<div class="memitem">
9304<div class="memproto">
9305 <table class="memname">
9306 <tr>
9307 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
9308 <td>(</td>
9309 <td class="paramtype">const void *__restrict&#160;</td>
9310 <td class="paramname"><em>input</em>, </td>
9311 </tr>
9312 <tr>
9313 <td class="paramkey"></td>
9314 <td></td>
9315 <td class="paramtype">void *__restrict&#160;</td>
9316 <td class="paramname"><em>output</em>, </td>
9317 </tr>
9318 <tr>
9319 <td class="paramkey"></td>
9320 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009321 <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 +00009322 <td class="paramname"><em>win</em>&#160;</td>
9323 </tr>
9324 <tr>
9325 <td></td>
9326 <td>)</td>
9327 <td></td><td></td>
9328 </tr>
9329 </table>
9330</div><div class="memdoc">
9331
Jenkinsb3a371b2018-05-23 11:36:53 +01009332<p>Convert RGB to YUV4. </p>
9333<dl class="params"><dt>Parameters</dt><dd>
9334 <table class="params">
9335 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9336 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
9337 <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>
9338 </table>
9339 </dd>
9340</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009341
Jenkinsb9abeae2018-11-22 11:58:08 +00009342<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l01026">1026</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009343
Jenkinsb9abeae2018-11-22 11:58:08 +00009344<p class="reference">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#l00265">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>
9345<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; <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="l01029"></a><span class="lineno"> 1029</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="l01030"></a><span class="lineno"> 1030</span>&#160; win.validate();</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="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="l01033"></a><span class="lineno"> 1033</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="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</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="l01036"></a><span class="lineno"> 1036</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</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; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; {</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</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="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></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; store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; },</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</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="l01051"></a><span class="lineno"> 1051</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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009346<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 +01009347<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009348<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00009349<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 +00009350</div><!-- fragment -->
9351</div>
9352</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009353<a id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
9354<h2 class="memtitle"><span class="permalink"><a href="#acf7451c0d0f8a4b1cfbb60d7531a43aa">&#9670;&nbsp;</a></span>colorconvert_rgbx_to_rgb()</h2>
9355
Anthony Barbier871448e2017-03-24 14:54:29 +00009356<div class="memitem">
9357<div class="memproto">
9358 <table class="memname">
9359 <tr>
9360 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
9361 <td>(</td>
9362 <td class="paramtype">const void *&#160;</td>
9363 <td class="paramname"><em>input</em>, </td>
9364 </tr>
9365 <tr>
9366 <td class="paramkey"></td>
9367 <td></td>
9368 <td class="paramtype">void *&#160;</td>
9369 <td class="paramname"><em>output</em>, </td>
9370 </tr>
9371 <tr>
9372 <td class="paramkey"></td>
9373 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009374 <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 +00009375 <td class="paramname"><em>win</em>&#160;</td>
9376 </tr>
9377 <tr>
9378 <td></td>
9379 <td>)</td>
9380 <td></td><td></td>
9381 </tr>
9382 </table>
9383</div><div class="memdoc">
9384
Jenkinsb3a371b2018-05-23 11:36:53 +01009385<p>Convert RGBX to RGB. </p>
9386<dl class="params"><dt>Parameters</dt><dd>
9387 <table class="params">
9388 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGBX data buffer. </td></tr>
9389 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
9390 <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>
9391 </table>
9392 </dd>
9393</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009394
Jenkinsb9abeae2018-11-22 11:58:08 +00009395<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00410">410</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009396
Jenkinsb9abeae2018-11-22 11:58:08 +00009397<p class="reference">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#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
9398
9399<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
9400<div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;{</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</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="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">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="l00416"></a><span class="lineno"> 416</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="l00417"></a><span class="lineno"> 417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</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="l00419"></a><span class="lineno"> 419</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="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="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; {</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="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="l00424"></a><span class="lineno"> 424</span>&#160; uint8x16x3_t ta2;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</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="l00429"></a><span class="lineno"> 429</span>&#160; },</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</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="l00431"></a><span class="lineno"> 431</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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009401<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009402<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#l00266">Winograd.cpp:266</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009403<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009404<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00009405</div><!-- fragment -->
9406</div>
9407</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009408<a id="ae43e8f0463c0289169025c3041688d36"></a>
9409<h2 class="memtitle"><span class="permalink"><a href="#ae43e8f0463c0289169025c3041688d36">&#9670;&nbsp;</a></span>colorconvert_yuyv_to_iyuv()</h2>
9410
Anthony Barbier871448e2017-03-24 14:54:29 +00009411<div class="memitem">
9412<div class="memproto">
9413 <table class="memname">
9414 <tr>
9415 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
9416 <td>(</td>
9417 <td class="paramtype">const void *__restrict&#160;</td>
9418 <td class="paramname"><em>input</em>, </td>
9419 </tr>
9420 <tr>
9421 <td class="paramkey"></td>
9422 <td></td>
9423 <td class="paramtype">void *__restrict&#160;</td>
9424 <td class="paramname"><em>output</em>, </td>
9425 </tr>
9426 <tr>
9427 <td class="paramkey"></td>
9428 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009429 <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 +00009430 <td class="paramname"><em>win</em>&#160;</td>
9431 </tr>
9432 <tr>
9433 <td></td>
9434 <td>)</td>
9435 <td></td><td></td>
9436 </tr>
9437 </table>
9438</div><div class="memdoc">
9439
Jenkinsb3a371b2018-05-23 11:36:53 +01009440<p>Convert YUYV to IYUV. </p>
9441<dl class="params"><dt>Parameters</dt><dd>
9442 <table class="params">
9443 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
9444 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
9445 <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>
9446 </table>
9447 </dd>
9448</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009449
Jenkinsb9abeae2018-11-22 11:58:08 +00009450<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00762">762</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009451
Jenkinsb9abeae2018-11-22 11:58:08 +00009452<p class="reference">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#l00265">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>
9453<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; <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="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</span>&#160; win.validate();</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="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="l00769"></a><span class="lineno"> 769</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="l00770"></a><span class="lineno"> 770</span>&#160;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</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="l00776"></a><span class="lineno"> 776</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="l00777"></a><span class="lineno"> 777</span>&#160; win_uv.validate();</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; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</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; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</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="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="l00787"></a><span class="lineno"> 787</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#ad45f0c01a0713dfb6bd7232c7f396fc4">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#ac4a1050be02b20b3f791b9a483f3abe2">y</a>());</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; vst2q_u8(out_y.ptr(), yvec);</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; uint8x16x2_t yyvec;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</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="l00802"></a><span class="lineno"> 802</span>&#160;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; uint8x16_t uvec;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; uint8x16_t vvec;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; },</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</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="l00812"></a><span class="lineno"> 812</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">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 class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
9454<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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009455<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>
Jenkins52ba29e2018-08-29 15:32:11 +00009456<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009457<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009458<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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>
9459<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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 +00009460</div><!-- fragment -->
9461</div>
9462</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009463<a id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
9464<h2 class="memtitle"><span class="permalink"><a href="#a8ee13904a3f5ba84b28cb53d956021d7">&#9670;&nbsp;</a></span>colorconvert_yuyv_to_nv12()</h2>
9465
Anthony Barbier871448e2017-03-24 14:54:29 +00009466<div class="memitem">
9467<div class="memproto">
9468 <table class="memname">
9469 <tr>
9470 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
9471 <td>(</td>
9472 <td class="paramtype">const void *__restrict&#160;</td>
9473 <td class="paramname"><em>input</em>, </td>
9474 </tr>
9475 <tr>
9476 <td class="paramkey"></td>
9477 <td></td>
9478 <td class="paramtype">void *__restrict&#160;</td>
9479 <td class="paramname"><em>output</em>, </td>
9480 </tr>
9481 <tr>
9482 <td class="paramkey"></td>
9483 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009484 <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 +00009485 <td class="paramname"><em>win</em>&#160;</td>
9486 </tr>
9487 <tr>
9488 <td></td>
9489 <td>)</td>
9490 <td></td><td></td>
9491 </tr>
9492 </table>
9493</div><div class="memdoc">
9494
Jenkinsb3a371b2018-05-23 11:36:53 +01009495<p>Convert YUYV to NV12. </p>
9496<dl class="params"><dt>Parameters</dt><dd>
9497 <table class="params">
9498 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
9499 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
9500 <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>
9501 </table>
9502 </dd>
9503</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009504
Jenkinsb9abeae2018-11-22 11:58:08 +00009505<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00610">610</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009506
Jenkinsb9abeae2018-11-22 11:58:08 +00009507<p class="reference">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#l00265">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>
9508<div class="fragment"><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; <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="l00613"></a><span class="lineno"> 613</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="l00614"></a><span class="lineno"> 614</span>&#160; win.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; <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="l00617"></a><span class="lineno"> 617</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="l00618"></a><span class="lineno"> 618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</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="l00624"></a><span class="lineno"> 624</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="l00625"></a><span class="lineno"> 625</span>&#160; win_uv.validate();</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</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="l00628"></a><span class="lineno"> 628</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</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="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</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> <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="l00634"></a><span class="lineno"> 634</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#ad45f0c01a0713dfb6bd7232c7f396fc4">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#ac4a1050be02b20b3f791b9a483f3abe2">y</a>());</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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; uint8x16x2_t yvec;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; vst2q_u8(out_y.ptr(), yvec);</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; uint8x16x2_t yyvec;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</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="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; uint8x16x2_t uvvec;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; },</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">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 class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
9509<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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009510<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>
Jenkins52ba29e2018-08-29 15:32:11 +00009511<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009512<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009513<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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>
9514<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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 +00009515</div><!-- fragment -->
9516</div>
9517</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009518<a id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
9519<h2 class="memtitle"><span class="permalink"><a href="#a3c22c0d3494660b72b4fc04fec76f92d">&#9670;&nbsp;</a></span>colorconvert_yuyv_to_rgb()</h2>
9520
Anthony Barbier871448e2017-03-24 14:54:29 +00009521<div class="memitem">
9522<div class="memproto">
9523 <table class="memname">
9524 <tr>
9525 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
9526 <td>(</td>
9527 <td class="paramtype">const void *__restrict&#160;</td>
9528 <td class="paramname"><em>input</em>, </td>
9529 </tr>
9530 <tr>
9531 <td class="paramkey"></td>
9532 <td></td>
9533 <td class="paramtype">void *__restrict&#160;</td>
9534 <td class="paramname"><em>output</em>, </td>
9535 </tr>
9536 <tr>
9537 <td class="paramkey"></td>
9538 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009539 <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 +00009540 <td class="paramname"><em>win</em>&#160;</td>
9541 </tr>
9542 <tr>
9543 <td></td>
9544 <td>)</td>
9545 <td></td><td></td>
9546 </tr>
9547 </table>
9548</div><div class="memdoc">
9549
Jenkinsb3a371b2018-05-23 11:36:53 +01009550<p>Convert YUYV to RGB. </p>
9551<dl class="params"><dt>Parameters</dt><dd>
9552 <table class="params">
9553 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
9554 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
9555 <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>
9556 </table>
9557 </dd>
9558</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009559
Jenkinsb9abeae2018-11-22 11:58:08 +00009560<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00441">441</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009561
Jenkinsb9abeae2018-11-22 11:58:08 +00009562<p class="reference">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#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">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#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
9563<div class="fragment"><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;{</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</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="l00444"></a><span class="lineno"> 444</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="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</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="l00447"></a><span class="lineno"> 447</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="l00448"></a><span class="lineno"> 448</span>&#160;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</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="l00450"></a><span class="lineno"> 450</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</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; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</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="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="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="l00458"></a><span class="lineno"> 458</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">const</span> float32x4x4_t yvec = convert_uint8x16_to_float32x4x4(ta.val[0 + shift]);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keyword">const</span> float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta.val[1 - shift]);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keyword">const</span> float32x4x4_t yyvec = convert_uint8x16_to_float32x4x4(ta.val[2 + shift]);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keyword">const</span> float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta.val[3 - shift]);</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; <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="l00470"></a><span class="lineno"> 470</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="l00471"></a><span class="lineno"> 471</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="l00472"></a><span class="lineno"> 472</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="l00473"></a><span class="lineno"> 473</span>&#160; },</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</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="l00475"></a><span class="lineno"> 475</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#l00265">Winograd.cpp:265</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009564<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009565<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#l00159">ColorConvertHelper.h:159</a></div></div>
9566<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#l00266">Winograd.cpp:266</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009567<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>
Jenkinsb9abeae2018-11-22 11:58:08 +00009568<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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 +00009569<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 +00009570</div><!-- fragment -->
9571</div>
9572</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009573<a id="ac56739a30823647f7d86a0380a2ff62e"></a>
9574<h2 class="memtitle"><span class="permalink"><a href="#ac56739a30823647f7d86a0380a2ff62e">&#9670;&nbsp;</a></span>compute_strides() <span class="overload">[1/2]</span></h2>
9575
Anthony Barbier871448e2017-03-24 14:54:29 +00009576<div class="memitem">
9577<div class="memproto">
9578<table class="mlabels">
9579 <tr>
9580 <td class="mlabels-left">
9581 <table class="memname">
9582 <tr>
9583 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
9584 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009585 <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 +00009586 <td class="paramname"><em>info</em>, </td>
9587 </tr>
9588 <tr>
9589 <td class="paramkey"></td>
9590 <td></td>
9591 <td class="paramtype">T&#160;</td>
9592 <td class="paramname"><em>stride_x</em>, </td>
9593 </tr>
9594 <tr>
9595 <td class="paramkey"></td>
9596 <td></td>
9597 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9598 <td class="paramname"><em>fixed_strides</em>&#160;</td>
9599 </tr>
9600 <tr>
9601 <td></td>
9602 <td>)</td>
9603 <td></td><td></td>
9604 </tr>
9605 </table>
9606 </td>
9607 <td class="mlabels-right">
9608<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9609 </tr>
9610</table>
9611</div><div class="memdoc">
9612
9613<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
9614<dl class="params"><dt>Parameters</dt><dd>
9615 <table class="params">
9616 <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>
9617 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
9618 <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>
9619 </table>
9620 </dd>
9621</dl>
9622<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>
9623
Jenkinsb9abeae2018-11-22 11:58:08 +00009624<p class="definition">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 +00009625
Jenkinsb9abeae2018-11-22 11:58:08 +00009626<p class="reference">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 +00009627
Jenkinsb9abeae2018-11-22 11:58:08 +00009628<p class="reference">Referenced by <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00214">TensorInfo::auto_padding()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">compute_strides()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00342">TensorInfo::set_tensor_shape()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009629<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 +01009630<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>
9631</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00009632</div>
9633</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009634<a id="a8c35748731709927597cb5a2c227e682"></a>
9635<h2 class="memtitle"><span class="permalink"><a href="#a8c35748731709927597cb5a2c227e682">&#9670;&nbsp;</a></span>compute_strides() <span class="overload">[2/2]</span></h2>
9636
Anthony Barbier871448e2017-03-24 14:54:29 +00009637<div class="memitem">
9638<div class="memproto">
9639<table class="mlabels">
9640 <tr>
9641 <td class="mlabels-left">
9642 <table class="memname">
9643 <tr>
9644 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
9645 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009646 <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 +00009647 <td class="paramname"><em>info</em></td><td>)</td>
9648 <td></td>
9649 </tr>
9650 </table>
9651 </td>
9652 <td class="mlabels-right">
9653<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9654 </tr>
9655</table>
9656</div><div class="memdoc">
9657
9658<p>Create a strides object based on the tensor dimensions. </p>
9659<dl class="params"><dt>Parameters</dt><dd>
9660 <table class="params">
9661 <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>
9662 </table>
9663 </dd>
9664</dl>
9665<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>
9666
Jenkinsb9abeae2018-11-22 11:58:08 +00009667<p class="definition">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 +00009668
Jenkinsb9abeae2018-11-22 11:58:08 +00009669<p class="reference">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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009670<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>
9671<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 +01009672</div><!-- fragment -->
9673</div>
9674</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009675<a id="a3b0c016b53e97663b39c2f3875f46c24"></a>
9676<h2 class="memtitle"><span class="permalink"><a href="#a3b0c016b53e97663b39c2f3875f46c24">&#9670;&nbsp;</a></span>compute_winograd_convolution_tiles()</h2>
9677
Jenkins52ba29e2018-08-29 15:32:11 +00009678<div class="memitem">
9679<div class="memproto">
9680<table class="mlabels">
9681 <tr>
9682 <td class="mlabels-left">
9683 <table class="memname">
9684 <tr>
9685 <td class="memname"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> arm_compute::compute_winograd_convolution_tiles </td>
9686 <td>(</td>
9687 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
9688 <td class="paramname"><em>in_dims</em>, </td>
9689 </tr>
9690 <tr>
9691 <td class="paramkey"></td>
9692 <td></td>
9693 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
9694 <td class="paramname"><em>kernel_size</em>, </td>
9695 </tr>
9696 <tr>
9697 <td class="paramkey"></td>
9698 <td></td>
9699 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
9700 <td class="paramname"><em>output_tile_size</em>, </td>
9701 </tr>
9702 <tr>
9703 <td class="paramkey"></td>
9704 <td></td>
9705 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;&#160;</td>
9706 <td class="paramname"><em>conv_info</em>&#160;</td>
9707 </tr>
9708 <tr>
9709 <td></td>
9710 <td>)</td>
9711 <td></td><td></td>
9712 </tr>
9713 </table>
9714 </td>
9715 <td class="mlabels-right">
9716<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9717 </tr>
9718</table>
9719</div><div class="memdoc">
9720
9721<p>Calculate the number of output tiles required by Winograd Convolution layer. </p>
9722<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>
9723<dl class="params"><dt>Parameters</dt><dd>
9724 <table class="params">
9725 <tr><td class="paramdir">[in]</td><td class="paramname">in_dims</td><td>Spatial dimensions of the input tensor of convolution layer </td></tr>
9726 <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>
9727 <tr><td class="paramdir">[in]</td><td class="paramname">output_tile_size</td><td>Size of a single output tile </td></tr>
9728 <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution info (i.e. pad, stride,...)</td></tr>
9729 </table>
9730 </dd>
9731</dl>
9732<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>
9733
Jenkinsb9abeae2018-11-22 11:58:08 +00009734<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +00009735
Jenkinsb9abeae2018-11-22 11:58:08 +00009736<p class="reference">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#l00774">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00764">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::pad_top()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009737
Jenkinsb9abeae2018-11-22 11:58:08 +00009738<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00404">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00233">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00437">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
9739<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#l00694">Winograd.cpp:694</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009740</div><!-- fragment -->
9741</div>
9742</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009743<a id="afe3b7128bf77dd12c85eed944fe5b3d4"></a>
9744<h2 class="memtitle"><span class="permalink"><a href="#afe3b7128bf77dd12c85eed944fe5b3d4">&#9670;&nbsp;</a></span>convert_window_coord_to_position()</h2>
9745
Jenkins52ba29e2018-08-29 15:32:11 +00009746<div class="memitem">
9747<div class="memproto">
9748<table class="mlabels">
9749 <tr>
9750 <td class="mlabels-left">
9751 <table class="memname">
9752 <tr>
9753 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> arm_compute::convert_window_coord_to_position </td>
9754 <td>(</td>
9755 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
9756 <td class="paramname"><em>w</em>, </td>
9757 </tr>
9758 <tr>
9759 <td class="paramkey"></td>
9760 <td></td>
9761 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
9762 <td class="paramname"><em>offset</em>&#160;</td>
9763 </tr>
9764 <tr>
9765 <td></td>
9766 <td>)</td>
9767 <td></td><td></td>
9768 </tr>
9769 </table>
9770 </td>
9771 <td class="mlabels-right">
9772<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9773 </tr>
9774</table>
9775</div><div class="memdoc">
9776
9777<p>Convert an offset in window steps into absolute coordinates. </p>
9778<dl class="params"><dt>Parameters</dt><dd>
9779 <table class="params">
9780 <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>
9781 <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Offset inside the window expressed in number of window steps.</td></tr>
9782 </table>
9783 </dd>
9784</dl>
9785<dl class="section return"><dt>Returns</dt><dd>Absolute coordinates. </dd></dl>
9786
Jenkinsb9abeae2018-11-22 11:58:08 +00009787<p class="definition">Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009788
Jenkinsb9abeae2018-11-22 11:58:08 +00009789<p class="reference">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>
9790<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; Coordinates position;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</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="l00048"></a><span class="lineno"> 48</span>&#160; {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; position.set(i, w[i].start() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * w[i].step());</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> position;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00309">helpers.h:309</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00009791</div><!-- fragment -->
9792</div>
9793</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009794<a id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
9795<h2 class="memtitle"><span class="permalink"><a href="#ad95e1c14c3007ca18950bf8f4c5a5c93">&#9670;&nbsp;</a></span>coords2index()</h2>
9796
Kaizen8938bd32017-09-28 14:38:23 +01009797<div class="memitem">
9798<div class="memproto">
9799<table class="mlabels">
9800 <tr>
9801 <td class="mlabels-left">
9802 <table class="memname">
9803 <tr>
9804 <td class="memname">int coords2index </td>
9805 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009806 <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 +01009807 <td class="paramname"><em>shape</em>, </td>
9808 </tr>
9809 <tr>
9810 <td class="paramkey"></td>
9811 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009812 <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 +01009813 <td class="paramname"><em>coord</em>&#160;</td>
9814 </tr>
9815 <tr>
9816 <td></td>
9817 <td>)</td>
9818 <td></td><td></td>
9819 </tr>
9820 </table>
9821 </td>
9822 <td class="mlabels-right">
9823<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9824 </tr>
9825</table>
9826</div><div class="memdoc">
9827
9828<p>Convert n-dimensional coordinates into a linear index. </p>
9829<dl class="params"><dt>Parameters</dt><dd>
9830 <table class="params">
9831 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
9832 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>N-dimensional coordinates.</td></tr>
9833 </table>
9834 </dd>
9835</dl>
9836<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
9837
Jenkinsb9abeae2018-11-22 11:58:08 +00009838<p class="definition">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 +01009839
Jenkinsb9abeae2018-11-22 11:58:08 +00009840<p class="reference">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 +00009841
Jenkinsb9abeae2018-11-22 11:58:08 +00009842<p class="reference">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#l00233">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009843<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>
9844<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>
9845<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 +00009846</div><!-- fragment -->
9847</div>
9848</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009849<a id="a5516ba576a612c73954609522347b576"></a>
9850<h2 class="memtitle"><span class="permalink"><a href="#a5516ba576a612c73954609522347b576">&#9670;&nbsp;</a></span>cpu_model_to_string()</h2>
9851
9852<div class="memitem">
9853<div class="memproto">
9854<table class="mlabels">
9855 <tr>
9856 <td class="mlabels-left">
9857 <table class="memname">
9858 <tr>
9859 <td class="memname">std::string arm_compute::cpu_model_to_string </td>
9860 <td>(</td>
9861 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a>&#160;</td>
9862 <td class="paramname"><em>val</em></td><td>)</td>
9863 <td></td>
9864 </tr>
9865 </table>
9866 </td>
9867 <td class="mlabels-right">
9868<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9869 </tr>
9870</table>
9871</div><div class="memdoc">
9872
9873<p>Convert a cpumodel value to a string. </p>
9874<dl class="params"><dt>Parameters</dt><dd>
9875 <table class="params">
9876 <tr><td class="paramname">val</td><td>CPUModel value to be converted</td></tr>
9877 </table>
9878 </dd>
9879</dl>
9880<dl class="section return"><dt>Returns</dt><dd>String representing the corresponding CPUModel. </dd></dl>
9881
9882<p class="definition">Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00069">69</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
9883
9884<p class="reference">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>
9885
9886<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>.</p>
9887<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">switch</span>(val)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> std::string(<span class="stringliteral">&quot;GENERIC&quot;</span>);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> std::string(<span class="stringliteral">&quot;GENERIC_FP16&quot;</span>);</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; <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</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="keywordflow">return</span> std::string(<span class="stringliteral">&quot;GENERIC_FP16_DOT&quot;</span>);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> std::string(<span class="stringliteral">&quot;A53&quot;</span>);</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="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> std::string(<span class="stringliteral">&quot;A55r0&quot;</span>);</div><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; <span class="keywordflow">case</span> CPUModel::A55r1:</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="keywordflow">return</span> std::string(<span class="stringliteral">&quot;A55r1&quot;</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid CPUModel.&quot;</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> std::string(<span class="stringliteral">&quot;GENERIC&quot;</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</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>
9888</div><!-- fragment -->
9889</div>
9890</div>
9891<a id="a6f698fa1629f7f800b3c8cd77a3d4b4a"></a>
9892<h2 class="memtitle"><span class="permalink"><a href="#a6f698fa1629f7f800b3c8cd77a3d4b4a">&#9670;&nbsp;</a></span>create_configure_kernel()</h2>
9893
Anthony Barbierdbdab852017-06-23 15:42:00 +01009894<div class="memitem">
9895<div class="memproto">
9896 <table class="memname">
9897 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009898 <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 +01009899 <td>(</td>
9900 <td class="paramtype">T &amp;&amp;...&#160;</td>
9901 <td class="paramname"><em>args</em></td><td>)</td>
9902 <td></td>
9903 </tr>
9904 </table>
9905</div><div class="memdoc">
9906
Jenkinsb3a371b2018-05-23 11:36:53 +01009907<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 +01009908<dl class="params"><dt>Parameters</dt><dd>
9909 <table class="params">
9910 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
9911 </table>
9912 </dd>
9913</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01009914<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 +01009915
Jenkinsb9abeae2018-11-22 11:58:08 +00009916<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009917<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 +01009918</div>
9919</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009920<a id="a439338e8e5a7c76a079aca52e16cff79"></a>
9921<h2 class="memtitle"><span class="permalink"><a href="#a439338e8e5a7c76a079aca52e16cff79">&#9670;&nbsp;</a></span>create_error()</h2>
9922
Anthony Barbierdbdab852017-06-23 15:42:00 +01009923<div class="memitem">
9924<div class="memproto">
9925 <table class="memname">
9926 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +00009927 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> create_error </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009928 <td>(</td>
9929 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
9930 <td class="paramname"><em>error_code</em>, </td>
9931 </tr>
9932 <tr>
9933 <td class="paramkey"></td>
9934 <td></td>
9935 <td class="paramtype">const char *&#160;</td>
9936 <td class="paramname"><em>function</em>, </td>
9937 </tr>
9938 <tr>
9939 <td class="paramkey"></td>
9940 <td></td>
9941 <td class="paramtype">const char *&#160;</td>
9942 <td class="paramname"><em>file</em>, </td>
9943 </tr>
9944 <tr>
9945 <td class="paramkey"></td>
9946 <td></td>
9947 <td class="paramtype">const int&#160;</td>
9948 <td class="paramname"><em>line</em>, </td>
9949 </tr>
9950 <tr>
9951 <td class="paramkey"></td>
9952 <td></td>
9953 <td class="paramtype">const char *&#160;</td>
9954 <td class="paramname"><em>msg</em>, </td>
9955 </tr>
9956 <tr>
9957 <td class="paramkey"></td>
9958 <td></td>
9959 <td class="paramtype">&#160;</td>
9960 <td class="paramname"><em>...</em>&#160;</td>
9961 </tr>
9962 <tr>
9963 <td></td>
9964 <td>)</td>
9965 <td></td><td></td>
9966 </tr>
9967 </table>
9968</div><div class="memdoc">
9969
9970<p>Creates an error containing the error message. </p>
9971<dl class="params"><dt>Parameters</dt><dd>
9972 <table class="params">
9973 <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
9974 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9975 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9976 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9977 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
9978 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message.</td></tr>
9979 </table>
9980 </dd>
9981</dl>
9982<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
9983
Jenkinsb9abeae2018-11-22 11:58:08 +00009984<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00042">42</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009985
Jenkinsb9abeae2018-11-22 11:58:08 +00009986<p class="reference">References <a class="el" href="_error_8cpp_source.xhtml#l00033">create_error_va_list()</a>.</p>
9987
9988<p class="reference">Referenced by <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
9989<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; va_list args;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; va_start(args, msg);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">auto</span> err = <a class="code" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a>(error_code, <span class="keyword">function</span>, file, line, msg, args);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; va_end(args);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aee087c8a7edb0fb5b7e75b9037e34cf7"><div class="ttname"><a href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">arm_compute::create_error_va_list</a></div><div class="ttdeci">Status create_error_va_list(ErrorCode error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</div><div class="ttdoc">Creates an error containing the error message from variable argument list. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8cpp_source.xhtml#l00033">Error.cpp:33</a></div></div>
9990</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009991</div>
9992</div>
Jenkinsb9abeae2018-11-22 11:58:08 +00009993<a id="aee087c8a7edb0fb5b7e75b9037e34cf7"></a>
9994<h2 class="memtitle"><span class="permalink"><a href="#aee087c8a7edb0fb5b7e75b9037e34cf7">&#9670;&nbsp;</a></span>create_error_va_list()</h2>
9995
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009996<div class="memitem">
9997<div class="memproto">
9998 <table class="memname">
9999 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010000 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> create_error_va_list </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010001 <td>(</td>
10002 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
10003 <td class="paramname"><em>error_code</em>, </td>
10004 </tr>
10005 <tr>
10006 <td class="paramkey"></td>
10007 <td></td>
10008 <td class="paramtype">const char *&#160;</td>
10009 <td class="paramname"><em>function</em>, </td>
10010 </tr>
10011 <tr>
10012 <td class="paramkey"></td>
10013 <td></td>
10014 <td class="paramtype">const char *&#160;</td>
10015 <td class="paramname"><em>file</em>, </td>
10016 </tr>
10017 <tr>
10018 <td class="paramkey"></td>
10019 <td></td>
10020 <td class="paramtype">const int&#160;</td>
10021 <td class="paramname"><em>line</em>, </td>
10022 </tr>
10023 <tr>
10024 <td class="paramkey"></td>
10025 <td></td>
10026 <td class="paramtype">const char *&#160;</td>
10027 <td class="paramname"><em>msg</em>, </td>
10028 </tr>
10029 <tr>
10030 <td class="paramkey"></td>
10031 <td></td>
10032 <td class="paramtype">va_list&#160;</td>
10033 <td class="paramname"><em>args</em>&#160;</td>
10034 </tr>
10035 <tr>
10036 <td></td>
10037 <td>)</td>
10038 <td></td><td></td>
10039 </tr>
10040 </table>
10041</div><div class="memdoc">
10042
10043<p>Creates an error containing the error message from variable argument list. </p>
10044<dl class="params"><dt>Parameters</dt><dd>
10045 <table class="params">
10046 <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
10047 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10048 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10049 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10050 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
10051 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Variable argument list of the message.</td></tr>
10052 </table>
10053 </dd>
10054</dl>
10055<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
10056
Jenkinsb9abeae2018-11-22 11:58:08 +000010057<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00033">33</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010058
Jenkinsb9abeae2018-11-22 11:58:08 +000010059<p class="reference">References <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00309">offset()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_toolchain_support_8h_source.xhtml#l00289">arm_compute::support::cpp11::snprintf()</a>.</p>
10060
10061<p class="reference">Referenced by <a class="el" href="_error_8cpp_source.xhtml#l00042">create_error()</a>, <a class="el" href="_error_8cpp_source.xhtml#l00051">error()</a>, and <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
10062<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">char</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>[512];</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordtype">int</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a9429515817425d10f4b662eaa069cc5c">snprintf</a>(out, <span class="keyword">sizeof</span>(out), <span class="stringliteral">&quot;in %s %s:%d: &quot;</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; vsnprintf(out + offset, <span class="keyword">sizeof</span>(out) - offset, msg, args);</div><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; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">Status</a>(error_code, std::string(out));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;}</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00309">helpers.h:309</a></div></div>
10063<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>
10064<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#l00266">Winograd.cpp:266</a></div></div>
10065<div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_a9429515817425d10f4b662eaa069cc5c"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a9429515817425d10f4b662eaa069cc5c">arm_compute::support::cpp11::snprintf</a></div><div class="ttdeci">int snprintf(char *s, std::size_t n, const char *fmt, Ts &amp;&amp;... args)</div><div class="ttdoc">Loads the data from the given location, converts them to character string equivalents and writes the ...</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00289">ToolchainSupport.h:289</a></div></div>
10066</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010067</div>
10068</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010069<a id="abc72c95941485d8a068fa38372308574"></a>
10070<h2 class="memtitle"><span class="permalink"><a href="#abc72c95941485d8a068fa38372308574">&#9670;&nbsp;</a></span>create_kernel()</h2>
10071
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010072<div class="memitem">
10073<div class="memproto">
10074 <table class="memname">
10075 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010076 <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 +010010077 <td>(</td>
10078 <td class="paramname"></td><td>)</td>
10079 <td></td>
10080 </tr>
10081 </table>
10082</div><div class="memdoc">
10083
Jenkinsb3a371b2018-05-23 11:36:53 +010010084<p>Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object. </p>
10085<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 +010010086
Jenkinsb9abeae2018-11-22 11:58:08 +000010087<p class="definition">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 +000010088
Jenkinsb9abeae2018-11-22 11:58:08 +000010089<p class="reference">Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00237">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 +010010090<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 +010010091</div>
10092</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010093<a id="aaf5f536bf7ec25ff83b912badcf61405"></a>
10094<h2 class="memtitle"><span class="permalink"><a href="#aaf5f536bf7ec25ff83b912badcf61405">&#9670;&nbsp;</a></span>create_window_iterator()</h2>
10095
Jenkins52ba29e2018-08-29 15:32:11 +000010096<div class="memitem">
10097<div class="memproto">
10098 <table class="memname">
10099 <tr>
10100 <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>
10101 <td>(</td>
10102 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
10103 <td class="paramname"><em>w</em>, </td>
10104 </tr>
10105 <tr>
10106 <td class="paramkey"></td>
10107 <td></td>
10108 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
10109 <td class="paramname"><em>start</em>, </td>
10110 </tr>
10111 <tr>
10112 <td class="paramkey"></td>
10113 <td></td>
10114 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
10115 <td class="paramname"><em>end</em>, </td>
10116 </tr>
10117 <tr>
10118 <td class="paramkey"></td>
10119 <td></td>
10120 <td class="paramtype">L &amp;&amp;&#160;</td>
10121 <td class="paramname"><em>lambda_function</em>&#160;</td>
10122 </tr>
10123 <tr>
10124 <td></td>
10125 <td>)</td>
10126 <td></td><td></td>
10127 </tr>
10128 </table>
10129</div><div class="memdoc">
10130
10131<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>
10132<dl class="params"><dt>Parameters</dt><dd>
10133 <table class="params">
10134 <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>
10135 <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>
10136 <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>
10137 <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>
10138 </table>
10139 </dd>
10140</dl>
10141<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>
10142
Jenkinsb9abeae2018-11-22 11:58:08 +000010143<p class="definition">Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00317">317</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000010144
Jenkinsb9abeae2018-11-22 11:58:08 +000010145<p class="reference">Referenced by <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</a>.</p>
10146<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;{</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> WindowIterator&lt;L&gt;(w, start, end, std::move(lambda_function));</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000010147</div>
10148</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010149<a id="a834b76c7d21af898f39def3b787d7530"></a>
10150<h2 class="memtitle"><span class="permalink"><a href="#a834b76c7d21af898f39def3b787d7530">&#9670;&nbsp;</a></span>data_layout_from_name()</h2>
10151
Jenkins52ba29e2018-08-29 15:32:11 +000010152<div class="memitem">
10153<div class="memproto">
10154 <table class="memname">
10155 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010156 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> data_layout_from_name </td>
Jenkins52ba29e2018-08-29 15:32:11 +000010157 <td>(</td>
10158 <td class="paramtype">const std::string &amp;&#160;</td>
10159 <td class="paramname"><em>name</em></td><td>)</td>
10160 <td></td>
10161 </tr>
10162 </table>
10163</div><div class="memdoc">
10164
10165<p>Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. </p>
10166<dl class="params"><dt>Parameters</dt><dd>
10167 <table class="params">
10168 <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to convert</td></tr>
10169 </table>
10170 </dd>
10171</dl>
10172<dl class="section return"><dt>Returns</dt><dd>Converted DataLayout enumeration </dd></dl>
10173
Jenkinsb9abeae2018-11-22 11:58:08 +000010174<p class="definition">Definition at line <a class="el" href="_type_loader_8cpp_source.xhtml#l00051">51</a> of file <a class="el" href="_type_loader_8cpp_source.xhtml">TypeLoader.cpp</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000010175
Jenkinsb9abeae2018-11-22 11:58:08 +000010176<p class="reference">References <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="_utility_8h_source.xhtml#l00202">arm_compute::utility::tolower()</a>.</p>
10177<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="keyword">static</span> <span class="keyword">const</span> std::map&lt;std::string, arm_compute::DataLayout&gt; data_layouts =</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="stringliteral">&quot;nhwc&quot;</span>, DataLayout::NHWC },</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; { <span class="stringliteral">&quot;nchw&quot;</span>, DataLayout::NCHW },</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; };</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">try</span></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">return</span> data_layouts.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(name));</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; <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &amp;)</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">throw</span> std::invalid_argument(name);</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;}</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00202">Utility.h:202</a></div></div>
10178</div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000010179</div>
10180</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010181<a id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
10182<h2 class="memtitle"><span class="permalink"><a href="#abb7e0f23a4f2e63f39433f158dad47ab">&#9670;&nbsp;</a></span>data_size_from_type()</h2>
10183
Anthony Barbier871448e2017-03-24 14:54:29 +000010184<div class="memitem">
10185<div class="memproto">
10186<table class="mlabels">
10187 <tr>
10188 <td class="mlabels-left">
10189 <table class="memname">
10190 <tr>
10191 <td class="memname">size_t arm_compute::data_size_from_type </td>
10192 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010193 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010194 <td class="paramname"><em>data_type</em></td><td>)</td>
10195 <td></td>
10196 </tr>
10197 </table>
10198 </td>
10199 <td class="mlabels-right">
10200<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10201 </tr>
10202</table>
10203</div><div class="memdoc">
10204
10205<p>The size in bytes of the data type. </p>
10206<dl class="params"><dt>Parameters</dt><dd>
10207 <table class="params">
10208 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
10209 </table>
10210 </dd>
10211</dl>
10212<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
10213
Jenkinsb9abeae2018-11-22 11:58:08 +000010214<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00108">108</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 +000010215
Jenkinsb9abeae2018-11-22 11:58:08 +000010216<p class="reference">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 +000010217
Jenkinsb9abeae2018-11-22 11:58:08 +000010218<p class="reference">Referenced by <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00044">CLLocallyConnectedMatrixMultiplyKernel::CLLocallyConnectedMatrixMultiplyKernel()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00437">NELogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_n_e_reduction_operation_kernel_8cpp_source.xhtml#l00597">NEReductionOperationKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00051">NEGEMM::configure()</a>, <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00091">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00240">TensorInfo::element_size()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00829">NEGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00772">NEHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01024">NEEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00055">ILutAllocator::size()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
10219<div class="fragment"><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; <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="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid data type&quot;</span>);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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>
10220<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010221</div><!-- fragment -->
10222</div>
10223</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010224<a id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
10225<h2 class="memtitle"><span class="permalink"><a href="#a01adc12d8e07c06cdb0f03c56a455bf3">&#9670;&nbsp;</a></span>data_type_for_convolution()</h2>
10226
Anthony Barbier871448e2017-03-24 14:54:29 +000010227<div class="memitem">
10228<div class="memproto">
10229<table class="mlabels">
10230 <tr>
10231 <td class="mlabels-left">
10232 <table class="memname">
10233 <tr>
10234 <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>
10235 <td>(</td>
10236 <td class="paramtype">const int16_t *&#160;</td>
10237 <td class="paramname"><em>conv_col</em>, </td>
10238 </tr>
10239 <tr>
10240 <td class="paramkey"></td>
10241 <td></td>
10242 <td class="paramtype">const int16_t *&#160;</td>
10243 <td class="paramname"><em>conv_row</em>, </td>
10244 </tr>
10245 <tr>
10246 <td class="paramkey"></td>
10247 <td></td>
10248 <td class="paramtype">size_t&#160;</td>
10249 <td class="paramname"><em>size</em>&#160;</td>
10250 </tr>
10251 <tr>
10252 <td></td>
10253 <td>)</td>
10254 <td></td><td></td>
10255 </tr>
10256 </table>
10257 </td>
10258 <td class="mlabels-right">
10259<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10260 </tr>
10261</table>
10262</div><div class="memdoc">
10263
10264<p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
10265<dl class="params"><dt>Parameters</dt><dd>
10266 <table class="params">
10267 <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>
10268 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
10269 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
10270 </table>
10271 </dd>
10272</dl>
10273<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>
10274
Jenkinsb9abeae2018-11-22 11:58:08 +000010275<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00706">706</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 +000010276
Jenkinsb9abeae2018-11-22 11:58:08 +000010277<p class="reference">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>
10278
10279<p class="reference">Referenced by <a class="el" href="_c_l_convolution_8cpp_source.xhtml#l00056">CLConvolutionSquare&lt; matrix_size &gt;::configure()</a>, and <a class="el" href="_n_e_convolution_8cpp_source.xhtml#l00057">NEConvolutionSquare&lt; matrix_size &gt;::configure()</a>.</p>
10280<div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;{</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</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;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</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="l00717"></a><span class="lineno"> 717</span>&#160; {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</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;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</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="l00722"></a><span class="lineno"> 722</span>&#160; {</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</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;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</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="l00727"></a><span class="lineno"> 727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</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_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="l00731"></a><span class="lineno"> 731</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="l00732"></a><span class="lineno"> 732</span>&#160;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><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">else</span></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="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="l00740"></a><span class="lineno"> 740</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="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</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="l00743"></a><span class="lineno"> 743</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="l00744"></a><span class="lineno"> 744</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="l00745"></a><span class="lineno"> 745</span>&#160;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</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="l00747"></a><span class="lineno"> 747</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</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="l00749"></a><span class="lineno"> 749</span>&#160; }</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; <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</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>
10281<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#l00074">Types.h:74</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010282</div><!-- fragment -->
10283</div>
10284</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010285<a id="a3992df9e8723140a53e49dc194d89ef5"></a>
10286<h2 class="memtitle"><span class="permalink"><a href="#a3992df9e8723140a53e49dc194d89ef5">&#9670;&nbsp;</a></span>data_type_for_convolution_matrix()</h2>
10287
Anthony Barbier871448e2017-03-24 14:54:29 +000010288<div class="memitem">
10289<div class="memproto">
10290<table class="mlabels">
10291 <tr>
10292 <td class="mlabels-left">
10293 <table class="memname">
10294 <tr>
10295 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
10296 <td>(</td>
10297 <td class="paramtype">const int16_t *&#160;</td>
10298 <td class="paramname"><em>conv</em>, </td>
10299 </tr>
10300 <tr>
10301 <td class="paramkey"></td>
10302 <td></td>
10303 <td class="paramtype">size_t&#160;</td>
10304 <td class="paramname"><em>size</em>&#160;</td>
10305 </tr>
10306 <tr>
10307 <td></td>
10308 <td>)</td>
10309 <td></td><td></td>
10310 </tr>
10311 </table>
10312 </td>
10313 <td class="mlabels-right">
10314<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10315 </tr>
10316</table>
10317</div><div class="memdoc">
10318
10319<p>Calculate the accuracy required by the squared convolution calculation. </p>
10320<dl class="params"><dt>Parameters</dt><dd>
10321 <table class="params">
10322 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
10323 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
10324 </table>
10325 </dd>
10326</dl>
10327<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
10328
Jenkinsb9abeae2018-11-22 11:58:08 +000010329<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">762</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 +000010330
Jenkinsb9abeae2018-11-22 11:58:08 +000010331<p class="reference">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="src_2core_2_utils_8cpp_source.xhtml#l00324">calculate_same_pad()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00694">arm_compute::test::validation::conv_info</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00339">deconvolution_output_dimensions()</a>, <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</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="src_2core_2_utils_8cpp_source.xhtml#l00352">scaled_dimensions()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00162">string_from_activation_func()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00219">string_from_border_mode()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00106">string_from_channel()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00127">string_from_data_layout()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00139">string_from_data_type()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00080">string_from_format()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00255">string_from_gemmlowp_output_stage()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00207">string_from_interpolation_policy()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00182">string_from_matrix_pattern()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00195">string_from_non_linear_filter_function()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00231">string_from_norm_type()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00268">string_from_pixel_value()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00243">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>
10332
10333<p class="reference">Referenced by <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel&lt; matrix_size &gt;::configure()</a>, and <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>.</p>
10334<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; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; {</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</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;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</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="l00770"></a><span class="lineno"> 770</span>&#160;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <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="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; {</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; }</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; {</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">return</span> DataType::S32;</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; }</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; {</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <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="l00786"></a><span class="lineno"> 786</span>&#160; {</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">return</span> b &lt; 0 ? a + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; })</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; * UINT8_MAX;</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; <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="l00792"></a><span class="lineno"> 792</span>&#160; {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">return</span> b &gt; 0 ? a + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</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; * UINT8_MAX;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</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="l00798"></a><span class="lineno"> 798</span>&#160; {</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">return</span> DataType::S32;</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="line"><a name="l00806"></a><span class="lineno"> 806</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>
Jenkins52ba29e2018-08-29 15:32:11 +000010335<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 +010010336<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 +000010337<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 +000010338</div><!-- fragment -->
10339</div>
10340</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010341<a id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
10342<h2 class="memtitle"><span class="permalink"><a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">&#9670;&nbsp;</a></span>data_type_from_format()</h2>
10343
Anthony Barbier871448e2017-03-24 14:54:29 +000010344<div class="memitem">
10345<div class="memproto">
10346<table class="mlabels">
10347 <tr>
10348 <td class="mlabels-left">
10349 <table class="memname">
10350 <tr>
10351 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
10352 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010353 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010354 <td class="paramname"><em>format</em></td><td>)</td>
10355 <td></td>
10356 </tr>
10357 </table>
10358 </td>
10359 <td class="mlabels-right">
10360<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10361 </tr>
10362</table>
10363</div><div class="memdoc">
10364
10365<p>Return the data type used by a given single-planar pixel format. </p>
10366<dl class="params"><dt>Parameters</dt><dd>
10367 <table class="params">
10368 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
10369 </table>
10370 </dd>
10371</dl>
10372<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
10373
Jenkinsb9abeae2018-11-22 11:58:08 +000010374<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00208">208</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 +000010375
Jenkinsb9abeae2018-11-22 11:58:08 +000010376<p class="reference">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 +010010377
Jenkinsb9abeae2018-11-22 11:58:08 +000010378<p class="reference">Referenced by <a class="el" href="validation_2_c_l_2_canny_edge_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00358">SimpleTensor&lt; uint8_t &gt;::data_type()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00104">TensorInfo::init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00173">TensorInfo::init_auto_padding()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00325">TensorInfo::set_format()</a>.</p>
10379<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">switch</span>(format)</div><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; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</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="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;}</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 +010010380</div><!-- fragment -->
10381</div>
10382</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010383<a id="a307a55b07dc70dc9177ff26543b1c66f"></a>
10384<h2 class="memtitle"><span class="permalink"><a href="#a307a55b07dc70dc9177ff26543b1c66f">&#9670;&nbsp;</a></span>data_type_from_name()</h2>
10385
Jenkins52ba29e2018-08-29 15:32:11 +000010386<div class="memitem">
10387<div class="memproto">
10388 <table class="memname">
10389 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010390 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> data_type_from_name </td>
Jenkins52ba29e2018-08-29 15:32:11 +000010391 <td>(</td>
10392 <td class="paramtype">const std::string &amp;&#160;</td>
10393 <td class="paramname"><em>name</em></td><td>)</td>
10394 <td></td>
10395 </tr>
10396 </table>
10397</div><div class="memdoc">
10398
10399<p>Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
10400<dl class="params"><dt>Parameters</dt><dd>
10401 <table class="params">
10402 <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to convert</td></tr>
10403 </table>
10404 </dd>
10405</dl>
10406<dl class="section return"><dt>Returns</dt><dd>Converted DataType enumeration </dd></dl>
10407
Jenkinsb9abeae2018-11-22 11:58:08 +000010408<p class="definition">Definition at line <a class="el" href="_type_loader_8cpp_source.xhtml#l00032">32</a> of file <a class="el" href="_type_loader_8cpp_source.xhtml">TypeLoader.cpp</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000010409
Jenkinsb9abeae2018-11-22 11:58:08 +000010410<p class="reference">References <a class="el" href="benchmark_2_c_l_2_depthwise_convolution_layer_8cpp_source.xhtml#l00042">arm_compute::test::benchmark::data_types</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>, and <a class="el" href="_utility_8h_source.xhtml#l00202">arm_compute::utility::tolower()</a>.</p>
10411<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; <span class="keyword">static</span> <span class="keyword">const</span> std::map&lt;std::string, arm_compute::DataType&gt; <a class="code" href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">data_types</a> =</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="stringliteral">&quot;f16&quot;</span>, DataType::F16 },</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; { <span class="stringliteral">&quot;f32&quot;</span>, DataType::F32 },</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; { <span class="stringliteral">&quot;qasymm8&quot;</span>, DataType::QASYMM8 },</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;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">try</span></div><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; <span class="keywordflow">return</span> data_types.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(name));</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; <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &amp;)</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">throw</span> std::invalid_argument(name);</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;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1benchmark_xhtml_aab9a2ff74a27ae837d32a79a38952228"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">arm_compute::test::benchmark::data_types</a></div><div class="ttdeci">const auto data_types</div><div class="ttdef"><b>Definition:</b> <a href="benchmark_2_c_l_2_depthwise_convolution_layer_8cpp_source.xhtml#l00042">DepthwiseConvolutionLayer.cpp:42</a></div></div>
10412<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00202">Utility.h:202</a></div></div>
10413</div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000010414</div>
10415</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010416<a id="a49d307dcc8f16084a061e1b6e8140eb7"></a>
10417<h2 class="memtitle"><span class="permalink"><a href="#a49d307dcc8f16084a061e1b6e8140eb7">&#9670;&nbsp;</a></span>deconvolution_output_dimensions()</h2>
10418
Anthony Barbierdbdab852017-06-23 15:42:00 +010010419<div class="memitem">
10420<div class="memproto">
10421 <table class="memname">
10422 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010423 <td class="memname">const std::pair&lt; unsigned int, unsigned int &gt; deconvolution_output_dimensions </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010424 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010425 <td class="paramtype">unsigned int&#160;</td>
10426 <td class="paramname"><em>in_width</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010427 </tr>
10428 <tr>
10429 <td class="paramkey"></td>
10430 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010431 <td class="paramtype">unsigned int&#160;</td>
10432 <td class="paramname"><em>in_height</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010433 </tr>
10434 <tr>
10435 <td class="paramkey"></td>
10436 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010437 <td class="paramtype">unsigned int&#160;</td>
10438 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010439 </tr>
10440 <tr>
10441 <td class="paramkey"></td>
10442 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010443 <td class="paramtype">unsigned int&#160;</td>
10444 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010445 </tr>
10446 <tr>
10447 <td class="paramkey"></td>
10448 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010449 <td class="paramtype">unsigned int&#160;</td>
10450 <td class="paramname"><em>padx</em>, </td>
10451 </tr>
10452 <tr>
10453 <td class="paramkey"></td>
10454 <td></td>
10455 <td class="paramtype">unsigned int&#160;</td>
10456 <td class="paramname"><em>pady</em>, </td>
10457 </tr>
10458 <tr>
10459 <td class="paramkey"></td>
10460 <td></td>
10461 <td class="paramtype">unsigned int&#160;</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010462 <td class="paramname"><em>stride_x</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010463 </tr>
10464 <tr>
10465 <td class="paramkey"></td>
10466 <td></td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010467 <td class="paramtype">unsigned int&#160;</td>
10468 <td class="paramname"><em>stride_y</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010469 </tr>
10470 <tr>
10471 <td></td>
10472 <td>)</td>
10473 <td></td><td></td>
10474 </tr>
10475 </table>
10476</div><div class="memdoc">
10477
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010478<p>Returns expected width and height of the deconvolution's output tensor. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010479<dl class="params"><dt>Parameters</dt><dd>
10480 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010481 <tr><td class="paramdir">[in]</td><td class="paramname">in_width</td><td>Width of input tensor (Number of columns) </td></tr>
10482 <tr><td class="paramdir">[in]</td><td class="paramname">in_height</td><td>Height of input tensor (Number of rows) </td></tr>
10483 <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>
10484 <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>
10485 <tr><td class="paramdir">[in]</td><td class="paramname">padx</td><td>X axis padding. </td></tr>
10486 <tr><td class="paramdir">[in]</td><td class="paramname">pady</td><td>Y axis padding. </td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010487 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>X axis input stride. </td></tr>
10488 <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 +010010489 </table>
10490 </dd>
10491</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010492<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>
10493
Jenkinsb9abeae2018-11-22 11:58:08 +000010494<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00339">339</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010495
Jenkinsb9abeae2018-11-22 11:58:08 +000010496<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
10497
10498<p class="reference">Referenced by <a class="el" href="_deconvolution_layer_node_8cpp_source.xhtml#l00052">DeconvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00103">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00070">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, and <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00050">NEDeconvolutionLayer::validate()</a>.</p>
10499<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;{</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(in_width &lt; 1 || in_height &lt; 1);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((in_width - 1) * stride_x + kernel_width) &lt; 2 * padx);</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>(((in_height - 1) * stride_y + kernel_height) &lt; 2 * pady);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> w = stride_x * (in_width - 1) + kernel_width - 2 * padx;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> h = stride_y * (in_height - 1) + kernel_height - 2 * pady;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> std::make_pair&lt;unsigned int, unsigned int&gt;(w, h);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</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>
10500</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010501</div>
10502</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010503<a id="ad656a27ce8a507e31096ca45683ba9a5"></a>
10504<h2 class="memtitle"><span class="permalink"><a href="#ad656a27ce8a507e31096ca45683ba9a5">&#9670;&nbsp;</a></span>delta_bilinear_c1()</h2>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010505
Anthony Barbierdbdab852017-06-23 15:42:00 +010010506<div class="memitem">
10507<div class="memproto">
10508<table class="mlabels">
10509 <tr>
10510 <td class="mlabels-left">
10511 <table class="memname">
10512 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010010513 <td class="memname">T arm_compute::delta_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010514 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010010515 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010516 <td class="paramname"><em>pixel_ptr</em>, </td>
10517 </tr>
10518 <tr>
10519 <td class="paramkey"></td>
10520 <td></td>
10521 <td class="paramtype">size_t&#160;</td>
10522 <td class="paramname"><em>stride</em>, </td>
10523 </tr>
10524 <tr>
10525 <td class="paramkey"></td>
10526 <td></td>
10527 <td class="paramtype">float&#160;</td>
10528 <td class="paramname"><em>dx</em>, </td>
10529 </tr>
10530 <tr>
10531 <td class="paramkey"></td>
10532 <td></td>
10533 <td class="paramtype">float&#160;</td>
10534 <td class="paramname"><em>dy</em>&#160;</td>
10535 </tr>
10536 <tr>
10537 <td></td>
10538 <td>)</td>
10539 <td></td><td></td>
10540 </tr>
10541 </table>
10542 </td>
10543 <td class="mlabels-right">
10544<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10545 </tr>
10546</table>
10547</div><div class="memdoc">
10548
10549<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 +010010550<p>Input must be in single channel format.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010551<dl class="params"><dt>Parameters</dt><dd>
10552 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010010553 <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 +010010554 <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>
10555 <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>
10556 <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>
10557 </table>
10558 </dd>
10559</dl>
10560<dl class="section note"><dt>Note</dt><dd>dx and dy must be in the range [0, 1.0]</dd></dl>
10561<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
10562
Jenkinsb9abeae2018-11-22 11:58:08 +000010563<p class="definition">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 +010010564
Jenkinsb9abeae2018-11-22 11:58:08 +000010565<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010566
Jenkinsb9abeae2018-11-22 11:58:08 +000010567<p class="reference">Referenced by <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, <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 +000010568<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 +000010569</div><!-- fragment -->
10570</div>
10571</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010572<a id="a6174495b626531de015ae2b810859287"></a>
10573<h2 class="memtitle"><span class="permalink"><a href="#a6174495b626531de015ae2b810859287">&#9670;&nbsp;</a></span>delta_linear_c1_x()</h2>
10574
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010575<div class="memitem">
10576<div class="memproto">
10577<table class="mlabels">
10578 <tr>
10579 <td class="mlabels-left">
10580 <table class="memname">
10581 <tr>
10582 <td class="memname">T arm_compute::delta_linear_c1_x </td>
10583 <td>(</td>
10584 <td class="paramtype">const T *&#160;</td>
10585 <td class="paramname"><em>pixel_ptr</em>, </td>
10586 </tr>
10587 <tr>
10588 <td class="paramkey"></td>
10589 <td></td>
10590 <td class="paramtype">float&#160;</td>
10591 <td class="paramname"><em>dx</em>&#160;</td>
10592 </tr>
10593 <tr>
10594 <td></td>
10595 <td>)</td>
10596 <td></td><td></td>
10597 </tr>
10598 </table>
10599 </td>
10600 <td class="mlabels-right">
10601<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10602 </tr>
10603</table>
10604</div><div class="memdoc">
10605
10606<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>
10607<p>Input must be in single channel format.</p>
10608<dl class="params"><dt>Parameters</dt><dd>
10609 <table class="params">
10610 <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>
10611 <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>
10612 </table>
10613 </dd>
10614</dl>
10615<dl class="section note"><dt>Note</dt><dd>dx must be in the range [0, 1.0]</dd></dl>
10616<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
10617
Jenkinsb9abeae2018-11-22 11:58:08 +000010618<p class="definition">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 +000010619
Jenkinsb9abeae2018-11-22 11:58:08 +000010620<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010621
Jenkinsb9abeae2018-11-22 11:58:08 +000010622<p class="reference">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 +000010623<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 +000010624</div><!-- fragment -->
10625</div>
10626</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010627<a id="ad5fa8bacf824e9538014bfb0dcdaab52"></a>
10628<h2 class="memtitle"><span class="permalink"><a href="#ad5fa8bacf824e9538014bfb0dcdaab52">&#9670;&nbsp;</a></span>delta_linear_c1_y()</h2>
10629
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010630<div class="memitem">
10631<div class="memproto">
10632<table class="mlabels">
10633 <tr>
10634 <td class="mlabels-left">
10635 <table class="memname">
10636 <tr>
10637 <td class="memname">T arm_compute::delta_linear_c1_y </td>
10638 <td>(</td>
10639 <td class="paramtype">const T *&#160;</td>
10640 <td class="paramname"><em>pixel_ptr</em>, </td>
10641 </tr>
10642 <tr>
10643 <td class="paramkey"></td>
10644 <td></td>
10645 <td class="paramtype">size_t&#160;</td>
10646 <td class="paramname"><em>stride</em>, </td>
10647 </tr>
10648 <tr>
10649 <td class="paramkey"></td>
10650 <td></td>
10651 <td class="paramtype">float&#160;</td>
10652 <td class="paramname"><em>dy</em>&#160;</td>
10653 </tr>
10654 <tr>
10655 <td></td>
10656 <td>)</td>
10657 <td></td><td></td>
10658 </tr>
10659 </table>
10660 </td>
10661 <td class="mlabels-right">
10662<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10663 </tr>
10664</table>
10665</div><div class="memdoc">
10666
10667<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>
10668<p>Input must be in single channel format.</p>
10669<dl class="params"><dt>Parameters</dt><dd>
10670 <table class="params">
10671 <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>
10672 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride to access the bottom pixel value </td></tr>
10673 <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>
10674 </table>
10675 </dd>
10676</dl>
10677<dl class="section note"><dt>Note</dt><dd>dy must be in the range [0, 1.0]</dd></dl>
10678<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
10679
Jenkinsb9abeae2018-11-22 11:58:08 +000010680<p class="definition">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 +000010681
Jenkinsb9abeae2018-11-22 11:58:08 +000010682<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010683
Jenkinsb9abeae2018-11-22 11:58:08 +000010684<p class="reference">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 +000010685<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 +000010686</div><!-- fragment -->
10687</div>
10688</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010689<a id="a6c4a5ca34ebb51d4e2e119a110e4c8f0"></a>
10690<h2 class="memtitle"><span class="permalink"><a href="#a6c4a5ca34ebb51d4e2e119a110e4c8f0">&#9670;&nbsp;</a></span>device_supports_extension()</h2>
10691
Jenkinsb3a371b2018-05-23 11:36:53 +010010692<div class="memitem">
10693<div class="memproto">
10694 <table class="memname">
10695 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010696 <td class="memname">bool device_supports_extension </td>
Jenkinsb3a371b2018-05-23 11:36:53 +010010697 <td>(</td>
10698 <td class="paramtype">const cl::Device &amp;&#160;</td>
10699 <td class="paramname"><em>device</em>, </td>
10700 </tr>
10701 <tr>
10702 <td class="paramkey"></td>
10703 <td></td>
10704 <td class="paramtype">const char *&#160;</td>
10705 <td class="paramname"><em>extension_name</em>&#160;</td>
10706 </tr>
10707 <tr>
10708 <td></td>
10709 <td>)</td>
10710 <td></td><td></td>
10711 </tr>
10712 </table>
10713</div><div class="memdoc">
10714
10715<p>Helper function to check whether a given extension is supported. </p>
10716<dl class="params"><dt>Parameters</dt><dd>
10717 <table class="params">
10718 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device </td></tr>
10719 <tr><td class="paramdir">[in]</td><td class="paramname">extension_name</td><td>Name of the extension to be checked</td></tr>
10720 </table>
10721 </dd>
10722</dl>
10723<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
10724
Jenkinsb9abeae2018-11-22 11:58:08 +000010725<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">183</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
10726
10727<p class="reference">Referenced by <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00135">arm_non_uniform_workgroup_supported()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00056">CLScheduler::default_init()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00155">dot8_acc_supported()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00145">dot8_supported()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00140">fp16_supported()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00979">CLKernelLibrary::int64_base_atomics_supported()</a>.</p>
10728<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;{</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; std::string extensions = device.getInfo&lt;CL_DEVICE_EXTENSIONS&gt;();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">auto</span> pos = extensions.find(extension_name);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> (pos != std::string::npos);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010010729</div>
10730</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010731<a id="acac1575c0edd329ceb4a54d9fe8dcb08"></a>
10732<h2 class="memtitle"><span class="permalink"><a href="#acac1575c0edd329ceb4a54d9fe8dcb08">&#9670;&nbsp;</a></span>DIV_CEIL()</h2>
10733
Anthony Barbier871448e2017-03-24 14:54:29 +000010734<div class="memitem">
10735<div class="memproto">
10736 <table class="memname">
10737 <tr>
10738 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
10739 <td>(</td>
10740 <td class="paramtype">S&#160;</td>
10741 <td class="paramname"><em>val</em>, </td>
10742 </tr>
10743 <tr>
10744 <td class="paramkey"></td>
10745 <td></td>
10746 <td class="paramtype">T&#160;</td>
10747 <td class="paramname"><em>m</em>&#160;</td>
10748 </tr>
10749 <tr>
10750 <td></td>
10751 <td>)</td>
10752 <td></td><td> -&gt; decltype((val + m - 1) / m)
10753</td>
10754 </tr>
10755 </table>
10756</div><div class="memdoc">
10757
10758<p>Calculate the rounded up quotient of val / m. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010010759<dl class="params"><dt>Parameters</dt><dd>
10760 <table class="params">
10761 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to divide and round up. </td></tr>
10762 <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Value to divide by.</td></tr>
10763 </table>
10764 </dd>
10765</dl>
10766<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010767
Jenkinsb9abeae2018-11-22 11:58:08 +000010768<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00052">52</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
10769<div class="fragment"><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; <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div></div><!-- fragment -->
10770</div>
10771</div>
10772<a id="a4878daab91c6d7173de20283766e0c2c"></a>
10773<h2 class="memtitle"><span class="permalink"><a href="#a4878daab91c6d7173de20283766e0c2c">&#9670;&nbsp;</a></span>dot8_acc_supported()</h2>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010774
Jenkins52ba29e2018-08-29 15:32:11 +000010775<div class="memitem">
10776<div class="memproto">
10777 <table class="memname">
10778 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010779 <td class="memname">bool dot8_acc_supported </td>
Jenkins52ba29e2018-08-29 15:32:11 +000010780 <td>(</td>
10781 <td class="paramtype">const cl::Device &amp;&#160;</td>
10782 <td class="paramname"><em>device</em></td><td>)</td>
10783 <td></td>
10784 </tr>
10785 </table>
10786</div><div class="memdoc">
10787
10788<p>Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. </p>
10789<dl class="params"><dt>Parameters</dt><dd>
10790 <table class="params">
10791 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
10792 </table>
10793 </dd>
10794</dl>
10795<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
10796
Jenkinsb9abeae2018-11-22 11:58:08 +000010797<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00155">155</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
10798
10799<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
10800
10801<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>.</p>
10802<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">&quot;cl_arm_integer_dot_product_accumulate_int8&quot;</span>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &amp;device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
10803</div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000010804</div>
10805</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010806<a id="ac07e02c0066cf540a5a2665fa7d54934"></a>
10807<h2 class="memtitle"><span class="permalink"><a href="#ac07e02c0066cf540a5a2665fa7d54934">&#9670;&nbsp;</a></span>dot8_supported()</h2>
10808
Jenkins52ba29e2018-08-29 15:32:11 +000010809<div class="memitem">
10810<div class="memproto">
10811 <table class="memname">
10812 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010813 <td class="memname">bool dot8_supported </td>
Jenkins52ba29e2018-08-29 15:32:11 +000010814 <td>(</td>
10815 <td class="paramtype">const cl::Device &amp;&#160;</td>
10816 <td class="paramname"><em>device</em></td><td>)</td>
10817 <td></td>
10818 </tr>
10819 </table>
10820</div><div class="memdoc">
10821
10822<p>Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. </p>
10823<dl class="params"><dt>Parameters</dt><dd>
10824 <table class="params">
10825 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
10826 </table>
10827 </dd>
10828</dl>
10829<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
10830
Jenkinsb9abeae2018-11-22 11:58:08 +000010831<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00145">145</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
10832
10833<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, and <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>.</p>
10834
10835<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00106">CLGEMMLowpMatrixAReductionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00091">CLGEMMLowpMatrixMultiplyCore::configure()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>.</p>
10836<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; std::string device_name = device.getInfo&lt;CL_DEVICE_NAME&gt;();</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> gpu_target = <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="comment">// SW_WORKAROUND: Workaround for DDK revision r14p0.to enable cl_arm_integer_dot_product_int8</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; std::set&lt;GPUTarget&gt; sw_workaround_issue = {GPUTarget::G76};</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">&quot;cl_arm_integer_dot_product_int8&quot;</span>) || sw_workaround_issue.count(gpu_target) != 0);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &amp;device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
10837<div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &amp;device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
10838<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">arm_compute::GPUTarget</a></div><div class="ttdeci">GPUTarget</div><div class="ttdoc">Available GPU Targets. </div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00034">GPUTarget.h:34</a></div></div>
10839</div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000010840</div>
10841</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010842<a id="a34b06c0cd94808a77b697e79880b84b0"></a>
10843<h2 class="memtitle"><span class="permalink"><a href="#a34b06c0cd94808a77b697e79880b84b0">&#9670;&nbsp;</a></span>element_size_from_data_type()</h2>
10844
Anthony Barbier871448e2017-03-24 14:54:29 +000010845<div class="memitem">
10846<div class="memproto">
10847<table class="mlabels">
10848 <tr>
10849 <td class="mlabels-left">
10850 <table class="memname">
10851 <tr>
10852 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
10853 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010854 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010855 <td class="paramname"><em>dt</em></td><td>)</td>
10856 <td></td>
10857 </tr>
10858 </table>
10859 </td>
10860 <td class="mlabels-right">
10861<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10862 </tr>
10863</table>
10864</div><div class="memdoc">
10865
10866<p>The size in bytes of the data type. </p>
10867<dl class="params"><dt>Parameters</dt><dd>
10868 <table class="params">
10869 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
10870 </table>
10871 </dd>
10872</dl>
10873<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
10874
Jenkinsb9abeae2018-11-22 11:58:08 +000010875<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00180">180</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 +000010876
Jenkinsb9abeae2018-11-22 11:58:08 +000010877<p class="reference">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 +010010878
Jenkinsb9abeae2018-11-22 11:58:08 +000010879<p class="reference">Referenced by <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor&lt; uint8_t &gt;::element_size()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00498">NENonMaximaSuppression3x3Kernel::run()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00709">NEHarrisScoreKernel&lt; block_size &gt;::run()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>.</p>
10880<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</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 +000010881</div><!-- fragment -->
10882</div>
10883</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010884<a id="a5c7c5fe99682f92e5e09cf62fb02ac91"></a>
10885<h2 class="memtitle"><span class="permalink"><a href="#a5c7c5fe99682f92e5e09cf62fb02ac91">&#9670;&nbsp;</a></span>enqueue() <span class="overload">[1/2]</span></h2>
10886
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010887<div class="memitem">
10888<div class="memproto">
10889 <table class="memname">
10890 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010891 <td class="memname">void enqueue </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010892 <td>(</td>
10893 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &amp;&#160;</td>
10894 <td class="paramname"><em>kernel</em>, </td>
10895 </tr>
10896 <tr>
10897 <td class="paramkey"></td>
10898 <td></td>
10899 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
10900 <td class="paramname"><em>window</em>, </td>
10901 </tr>
10902 <tr>
10903 <td class="paramkey"></td>
10904 <td></td>
10905 <td class="paramtype">const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;&#160;</td>
10906 <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>
10907 </tr>
10908 <tr>
10909 <td></td>
10910 <td>)</td>
10911 <td></td><td></td>
10912 </tr>
10913 </table>
10914</div><div class="memdoc">
10915
10916<p>Add the kernel to the command queue with the given window. </p>
10917<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
10918<dd>
10919If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
10920<dl class="params"><dt>Parameters</dt><dd>
10921 <table class="params">
10922 <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>
10923 <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>
10924 <tr><td class="paramdir">[in]</td><td class="paramname">lws</td><td>Local workgroup size requested, by default (1, 1, 1)</td></tr>
10925 </table>
10926 </dd>
10927</dl>
10928<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>
10929
Jenkinsb9abeae2018-11-22 11:58:08 +000010930<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00041">41</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
10931
10932<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00045">ARM_COMPUTE_GL_CHECK</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00121">GCKernel::get_program()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00542">glDispatchCompute()</a>, <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel::kernel()</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_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00154">Window::z()</a>.</p>
10933<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#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(kernel);</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; <span class="keywordflow">if</span>(kernel.<a class="code" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3b8f9d088e013cfbb039fd0ebbe42589">kernel</a>().<a class="code" href="classarm__compute_1_1_g_c_kernel.xhtml#af88e933209c9201dfdafa052d3181aac">get_program</a>() == 0)</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>;</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;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>((0 == (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>())) || (0 == (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</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; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>((((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) % (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>() * lws[0])) != 0),</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot;window x end =%d, start=%d, step=%d, lws x=%d&quot;</span>, window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>(), lws[0]);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>((((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) % (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>() * lws[1])) != 0),</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="stringliteral">&quot;window y end =%d, start=%d, step=%d, lws y=%d&quot;</span>, window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>(), lws[1]);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>((((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) % (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>() * lws[2])) != 0),</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="stringliteral">&quot;window z end =%d, start=%d, step=%d, lws z=%d&quot;</span>, window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>(), lws[2]);</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; <a class="code" href="_open_g_l_e_s_8h.xhtml#a496c7b08ac063d996956854207366913">ARM_COMPUTE_GL_CHECK</a>(<a class="code" href="_open_g_l_e_s_8cpp.xhtml#af7682f051486a2d562206f70b2c212ab">glDispatchCompute</a>(((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) / window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>()) / lws[0],</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; ((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) / window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>()) / lws[1],</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; ((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) / window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>()) / lws[2]));</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div><div class="ttc" id="_open_g_l_e_s_8h_xhtml_a496c7b08ac063d996956854207366913"><div class="ttname"><a href="_open_g_l_e_s_8h.xhtml#a496c7b08ac063d996956854207366913">ARM_COMPUTE_GL_CHECK</a></div><div class="ttdeci">#define ARM_COMPUTE_GL_CHECK(x)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8h_source.xhtml#l00045">OpenGLES.h:45</a></div></div>
10934<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_a918580dc9188825d67dbb203a43d02fe"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">arm_compute::Window::Dimension::step</a></div><div class="ttdeci">constexpr int step() const</div><div class="ttdoc">Return the step of the dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00095">Window.h:95</a></div></div>
10935<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>
10936<div class="ttc" id="classarm__compute_1_1_window_xhtml_a51a8c7a9d2fa20943c213e85eb8d9caf"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">arm_compute::Window::z</a></div><div class="ttdeci">constexpr const Dimension &amp; z() const</div><div class="ttdoc">Alias to access the third dimension of the window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00154">Window.h:154</a></div></div>
10937<div class="ttc" id="classarm__compute_1_1_i_g_c_kernel_xhtml_a3b8f9d088e013cfbb039fd0ebbe42589"><div class="ttname"><a href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3b8f9d088e013cfbb039fd0ebbe42589">arm_compute::IGCKernel::kernel</a></div><div class="ttdeci">GCKernel &amp; kernel()</div><div class="ttdoc">Returns a reference to the GLES kernel of this object. </div><div class="ttdef"><b>Definition:</b> <a href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel.cpp:69</a></div></div>
10938<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>
10939<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_af7682f051486a2d562206f70b2c212ab"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#af7682f051486a2d562206f70b2c212ab">glDispatchCompute</a></div><div class="ttdeci">void GL_APIENTRY glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00542">OpenGLES.cpp:542</a></div></div>
10940<div class="ttc" id="classarm__compute_1_1_g_c_kernel_xhtml_af88e933209c9201dfdafa052d3181aac"><div class="ttname"><a href="classarm__compute_1_1_g_c_kernel.xhtml#af88e933209c9201dfdafa052d3181aac">arm_compute::GCKernel::get_program</a></div><div class="ttdeci">GLuint get_program() const</div><div class="ttdoc">Get program id. </div><div class="ttdef"><b>Definition:</b> <a href="_g_c_kernel_library_8h_source.xhtml#l00121">GCKernelLibrary.h:121</a></div></div>
10941<div class="ttc" id="classarm__compute_1_1_window_xhtml_a1b522b073f3ca32d24eb4e03495ef8a6"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">arm_compute::Window::y</a></div><div class="ttdeci">constexpr const Dimension &amp; y() const</div><div class="ttdoc">Alias to access the second dimension of the window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00145">Window.h:145</a></div></div>
10942<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_a0f590bfcf19110f44efc502e7b5c1d9e"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">arm_compute::Window::Dimension::end</a></div><div class="ttdeci">constexpr int end() const</div><div class="ttdoc">Return the end of the dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00090">Window.h:90</a></div></div>
10943<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_ab24e31d1a4830bf79564ee902ec6c060"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">arm_compute::Window::Dimension::start</a></div><div class="ttdeci">constexpr int start() const</div><div class="ttdoc">Return the start of the dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00085">Window.h:85</a></div></div>
10944<div class="ttc" id="classarm__compute_1_1_window_xhtml_a273fd2ecdd45169b2f702f01a7e5e382"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">arm_compute::Window::x</a></div><div class="ttdeci">constexpr const Dimension &amp; x() const</div><div class="ttdoc">Alias to access the first dimension of the window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00136">Window.h:136</a></div></div>
10945<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>
10946</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010947</div>
10948</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000010949<a id="a1e48b7cf7de6a52575088cb7082d2b3e"></a>
10950<h2 class="memtitle"><span class="permalink"><a href="#a1e48b7cf7de6a52575088cb7082d2b3e">&#9670;&nbsp;</a></span>enqueue() <span class="overload">[2/2]</span></h2>
10951
Anthony Barbier871448e2017-03-24 14:54:29 +000010952<div class="memitem">
10953<div class="memproto">
10954 <table class="memname">
10955 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000010956 <td class="memname">void enqueue </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010957 <td>(</td>
10958 <td class="paramtype">cl::CommandQueue &amp;&#160;</td>
10959 <td class="paramname"><em>queue</em>, </td>
10960 </tr>
10961 <tr>
10962 <td class="paramkey"></td>
10963 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010964 <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 +000010965 <td class="paramname"><em>kernel</em>, </td>
10966 </tr>
10967 <tr>
10968 <td class="paramkey"></td>
10969 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010970 <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 +000010971 <td class="paramname"><em>window</em>, </td>
10972 </tr>
10973 <tr>
10974 <td class="paramkey"></td>
10975 <td></td>
10976 <td class="paramtype">const cl::NDRange &amp;&#160;</td>
Jenkinsb9abeae2018-11-22 11:58:08 +000010977 <td class="paramname"><em>lws_hint</em> = <code><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#acba005f5ce2c62cbf3f94d074d9007aa">CLKernelLibrary::get</a>().default_ndrange()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010978 </tr>
10979 <tr>
10980 <td></td>
10981 <td>)</td>
10982 <td></td><td></td>
10983 </tr>
10984 </table>
10985</div><div class="memdoc">
10986
10987<p>Add the kernel to the command queue with the given window. </p>
10988<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
10989<dd>
10990If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
10991<dl class="params"><dt>Parameters</dt><dd>
10992 <table class="params">
10993 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
10994 <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>
10995 <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 +010010996 <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 +000010997 </table>
10998 </dd>
10999</dl>
11000<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>
11001
Jenkinsb9abeae2018-11-22 11:58:08 +000011002<p class="definition">Definition at line <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00039">39</a> of file <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml">ICLKernel.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011003
Jenkinsb9abeae2018-11-22 11:58:08 +000011004<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00125">ICLKernel::get_max_workgroup_size()</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00134">ICLKernel::gws_from_window()</a>, <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00087">ICLKernel::kernel()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>.</p>
11005
11006<p class="reference">Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">IGCKernel::get_target()</a>, <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00258">ICLKernel::get_target()</a>, <a class="el" href="_i_c_l_simple2_d_kernel_8cpp_source.xhtml#l00033">ICLSimple2DKernel::run()</a>, <a class="el" href="_i_g_c_simple2_d_kernel_8cpp_source.xhtml#l00033">IGCSimple2DKernel::run()</a>, <a class="el" href="_i_c_l_simple3_d_kernel_8cpp_source.xhtml#l00033">ICLSimple3DKernel::run()</a>, <a class="el" href="_i_g_c_simple3_d_kernel_8cpp_source.xhtml#l00033">IGCSimple3DKernel::run()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00123">GCTransposeKernel::run()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00137">GCScaleKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00103">GCGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00101">CLGaussianPyramidHorKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00083">CLGradientKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00113">CLHistogramKernel::run()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00124">CLMinMaxKernel::run()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00094">CLRemapKernel::run()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00072">CLBitwiseAndKernel::run()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00073">CLBitwiseOrKernel::run()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00073">CLBitwiseXorKernel::run()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00101">GCPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00123">CLDerivativeKernel::run()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00108">CLSobel3x3Kernel::run()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00104">GCActivationLayerKernel::run()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00205">GCDepthwiseConvolutionLayer3x3Kernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00080">GCGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00097">CLHOGOrientationBinningKernel::run()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00098">GCNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00108">CLSobel5x5HorKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00111">CLSobel7x7HorKernel::run()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00087">CLAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00086">GCAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00098">GCGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00115">CLGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00143">CLMagnitudePhaseKernel::run()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00114">CLFloorKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00135">CLGEMMMatrixVectorMultiplyKernel::run()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00204">CLCopyKernel::run()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00112">GCDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00095">CLIntegralImageVertKernel::run()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00131">CLFlattenLayerKernel::run()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00169">CLChannelShuffleLayerKernel::run()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00113">CLReshapeLayerKernel::run()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00107">CLROIPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00078">CLMemsetKernel::run()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00172">CLNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00134">CLPermuteKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00171">GCLogits1DShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00129">CLLocallyConnectedMatrixMultiplyKernel::run()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00086">GCDropoutLayerKernel::run()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00111">CLComputeAllAnchorsKernel::run()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00160">CLFillBorderKernel::run()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00168">CLChannelExtractKernel::run()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00130">CLUpsampleLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00313">CLDepthwiseConvolutionLayer3x3NCHWKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00292">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00401">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::run()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00141">GCFillBorderKernel::run()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00107">CLDepthwiseWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00093">CLFastCornersKernel::run()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00311">CLPoolingLayerKernel::run()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00331">GCPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00203">CLActivationLayerKernel::run()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00134">CLWidthConcatenate2TensorsKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00099">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00111">CLGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_c_l_arithmetic_division_kernel_8cpp_source.xhtml#l00135">CLArithmeticDivisionKernel::run()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00141">CLMinMaxLayerKernel::run()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00110">CLQuantizationLayerKernel::run()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00124">CLReorgLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00099">CLDepthwiseVectorToTensorKernel::run()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00120">CLWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00112">CLHarrisScoreKernel::run()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00116">CLHOGDetectorKernel::run()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00110">CLDequantizationLayerKernel::run()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00238">CLChannelCombineKernel::run()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00236">CLPriorBoxLayerKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00090">GCGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00160">CLNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00230">CLScaleKernel::run()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00102">CLConvertFullyConnectedWeightsKernel::run()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00182">CLArithmeticAdditionKernel::run()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00131">GCArithmeticAdditionKernel::run()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00112">CLMeanStdDevKernel::run()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00132">GCNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00108">CLScharr3x3Kernel::run()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00152">CLWidthConcatenate4TensorsKernel::run()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00140">CLDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_g_c_tensor_shift_kernel_8cpp_source.xhtml#l00077">GCTensorShiftKernel::run()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00180">CLArithmeticSubtractionKernel::run()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00222">CLReductionOperationKernel::run()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00115">CLBoundingBoxTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00182">CLDirectConvolutionLayerOutputStageKernel::run()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00158">CLL2NormalizeLayerKernel::run()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00161">CLYOLOLayerKernel::run()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00230">CLPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00322">CLGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00114">CLDepthwiseIm2ColKernel::run()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00101">GCWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00384">CLColorConvertKernel::run()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00131">CLROIAlignLayerKernel::run()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00303">GCGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00382">CLGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00221">GCIm2ColKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00140">CLGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00182">CLFuseBatchNormalizationKernel::run()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00205">GCBatchNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00185">CLGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00149">CLBatchToSpaceLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00152">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00227">CLWinogradInputTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00503">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00155">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00151">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00141">CLCol2ImKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00141">CLGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00141">CLWinogradFilterTransformKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00258">CLGEMMLowpOffsetContributionOutputStageKernel::run()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00223">CLBatchNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00187">CLStridedSliceKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00219">CLGEMMLowpOffsetContributionKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00204">CLHistogramBorderKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00183">CLGaussianPyramidVertKernel::run()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00206">CLWinogradOutputTransformKernel::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00160">CLSpaceToBatchLayerKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00081">CLLKTrackerInitKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00151">CLEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00215">CLMinMaxLocationKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00180">CLHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00118">CLWeightsReshapeKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00249">GCLogits1DNormKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00347">CLIm2ColKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00207">CLSobel5x5VertKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00210">CLSobel7x7VertKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00154">CLCopyToArrayKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00110">CLLKTrackerFinalizeKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00194">CLGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00236">CLEdgeTraceKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00194">CLLKTrackerStage0Kernel::run()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00298">CLLogits1DMaxShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00304">CLConvolutionRectangleKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00278">CLLKTrackerStage1Kernel::run()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00379">CLLogits1DNormKernel::run()</a>.</p>
11007<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; <span class="keywordflow">if</span>(kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">kernel</a>()() == <span class="keyword">nullptr</span>)</div><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; <span class="keywordflow">return</span>;</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;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</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="l00047"></a><span class="lineno"> 47</span>&#160; {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(window[i].step() == 0);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Make sure that dimensions &gt; Z are 1</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>((i &gt;= 3) &amp;&amp; ((window[i].end() - window[i].start()) != 1));</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; cl::NDRange gws = ICLKernel::gws_from_window(window);</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="comment">// Check for empty NDRange</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span>(gws.dimensions() == 0)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span>;</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;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; cl::NDRange valid_lws;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span>(lws_hint[0] * lws_hint[1] * lws_hint[2] &gt; kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#abca336f832d730e8494049bd714df60a">get_max_workgroup_size</a>())</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; valid_lws = cl::NullRange;</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; valid_lws = lws_hint;</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;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; cl::NDRange lws = cl::NullRange;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span>((valid_lws[0] &lt;= gws[0]) &amp;&amp; (valid_lws[1] &lt;= gws[1]) &amp;&amp; (valid_lws[2] &lt;= gws[2]))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; lws = valid_lws;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</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; queue.enqueueNDRangeKernel(kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">kernel</a>(), cl::NullRange, gws, lws);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_c_l_kernel_xhtml_ae5121015ab09ece4d470f50c7ffe198e"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">arm_compute::ICLKernel::kernel</a></div><div class="ttdeci">cl::Kernel &amp; kernel()</div><div class="ttdoc">Returns a reference to the OpenCL kernel of this object. </div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_kernel_8h_source.xhtml#l00087">ICLKernel.h:87</a></div></div>
11008<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>
11009<div class="ttc" id="classarm__compute_1_1_i_c_l_kernel_xhtml_abca336f832d730e8494049bd714df60a"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_kernel.xhtml#abca336f832d730e8494049bd714df60a">arm_compute::ICLKernel::get_max_workgroup_size</a></div><div class="ttdeci">size_t get_max_workgroup_size()</div><div class="ttdoc">Get the maximum workgroup size for the device the CLKernelLibrary uses. </div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_kernel_8cpp_source.xhtml#l00125">ICLKernel.cpp:125</a></div></div>
11010</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011011</div>
11012</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011013<a id="a0768178b90a30994784fd28c5a89323f"></a>
11014<h2 class="memtitle"><span class="permalink"><a href="#a0768178b90a30994784fd28c5a89323f">&#9670;&nbsp;</a></span>error()</h2>
11015
Anthony Barbier871448e2017-03-24 14:54:29 +000011016<div class="memitem">
11017<div class="memproto">
11018 <table class="memname">
11019 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000011020 <td class="memname">void error </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011021 <td>(</td>
11022 <td class="paramtype">const char *&#160;</td>
11023 <td class="paramname"><em>function</em>, </td>
11024 </tr>
11025 <tr>
11026 <td class="paramkey"></td>
11027 <td></td>
11028 <td class="paramtype">const char *&#160;</td>
11029 <td class="paramname"><em>file</em>, </td>
11030 </tr>
11031 <tr>
11032 <td class="paramkey"></td>
11033 <td></td>
11034 <td class="paramtype">const int&#160;</td>
11035 <td class="paramname"><em>line</em>, </td>
11036 </tr>
11037 <tr>
11038 <td class="paramkey"></td>
11039 <td></td>
11040 <td class="paramtype">const char *&#160;</td>
11041 <td class="paramname"><em>msg</em>, </td>
11042 </tr>
11043 <tr>
11044 <td class="paramkey"></td>
11045 <td></td>
11046 <td class="paramtype">&#160;</td>
11047 <td class="paramname"><em>...</em>&#160;</td>
11048 </tr>
11049 <tr>
11050 <td></td>
11051 <td>)</td>
11052 <td></td><td></td>
11053 </tr>
11054 </table>
11055</div><div class="memdoc">
11056
11057<p>Print an error message then throw an std::runtime_error. </p>
11058<dl class="params"><dt>Parameters</dt><dd>
11059 <table class="params">
11060 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11061 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11062 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11063 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
11064 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
11065 </table>
11066 </dd>
11067</dl>
11068
Jenkinsb9abeae2018-11-22 11:58:08 +000011069<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00051">51</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010011070
Jenkinsb9abeae2018-11-22 11:58:08 +000011071<p class="reference">References <a class="el" href="_error_8cpp_source.xhtml#l00033">create_error_va_list()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>.</p>
11072
11073<p class="reference">Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00276">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>
11074<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; va_list args;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; va_start(args, msg);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">auto</span> err = <a class="code" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a>(ErrorCode::RUNTIME_ERROR, <span class="keyword">function</span>, file, line, msg, args);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; va_end(args);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">throw</span> std::runtime_error(err.error_description());</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aee087c8a7edb0fb5b7e75b9037e34cf7"><div class="ttname"><a href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">arm_compute::create_error_va_list</a></div><div class="ttdeci">Status create_error_va_list(ErrorCode error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</div><div class="ttdoc">Creates an error containing the error message from variable argument list. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8cpp_source.xhtml#l00033">Error.cpp:33</a></div></div>
11075</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011076</div>
11077</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011078<a id="a89059fcfb27bba71edffcc22c6e1a1a2"></a>
11079<h2 class="memtitle"><span class="permalink"><a href="#a89059fcfb27bba71edffcc22c6e1a1a2">&#9670;&nbsp;</a></span>error_on_channel_not_in()</h2>
11080
Anthony Barbier871448e2017-03-24 14:54:29 +000011081<div class="memitem">
11082<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011083<table class="mlabels">
11084 <tr>
11085 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000011086 <table class="memname">
11087 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011088 <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 +000011089 <td>(</td>
11090 <td class="paramtype">const char *&#160;</td>
11091 <td class="paramname"><em>function</em>, </td>
11092 </tr>
11093 <tr>
11094 <td class="paramkey"></td>
11095 <td></td>
11096 <td class="paramtype">const char *&#160;</td>
11097 <td class="paramname"><em>file</em>, </td>
11098 </tr>
11099 <tr>
11100 <td class="paramkey"></td>
11101 <td></td>
11102 <td class="paramtype">const int&#160;</td>
11103 <td class="paramname"><em>line</em>, </td>
11104 </tr>
11105 <tr>
11106 <td class="paramkey"></td>
11107 <td></td>
11108 <td class="paramtype">T&#160;</td>
11109 <td class="paramname"><em>cn</em>, </td>
11110 </tr>
11111 <tr>
11112 <td class="paramkey"></td>
11113 <td></td>
11114 <td class="paramtype">T &amp;&amp;&#160;</td>
11115 <td class="paramname"><em>channel</em>, </td>
11116 </tr>
11117 <tr>
11118 <td class="paramkey"></td>
11119 <td></td>
11120 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11121 <td class="paramname"><em>channels</em>&#160;</td>
11122 </tr>
11123 <tr>
11124 <td></td>
11125 <td>)</td>
11126 <td></td><td></td>
11127 </tr>
11128 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011129 </td>
11130 <td class="mlabels-right">
11131<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11132 </tr>
11133</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000011134</div><div class="memdoc">
11135
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011136<p>Return an error if the channel is not in channels. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011137<dl class="params"><dt>Parameters</dt><dd>
11138 <table class="params">
11139 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11140 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11141 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11142 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
11143 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011144 <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 +000011145 </table>
11146 </dd>
11147</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011148<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 +000011149
Jenkinsb9abeae2018-11-22 11:58:08 +000011150<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00872">872</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011151
Jenkinsb9abeae2018-11-22 11:58:08 +000011152<p class="reference">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>
11153
11154<p class="reference">Referenced by <a class="el" href="_validate_8cpp_source.xhtml#l00113">error_on_channel_not_in_known_format()</a>.</p>
11155<div class="fragment"><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;{</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</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="l00876"></a><span class="lineno"> 876</span>&#160;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</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="l00878"></a><span class="lineno"> 878</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="l00879"></a><span class="lineno"> 879</span>&#160; {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; }),</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</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="l00884"></a><span class="lineno"> 884</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>
Jenkins52ba29e2018-08-29 15:32:11 +000011156<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 +000011157</div><!-- fragment -->
11158</div>
11159</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011160<a id="a66876161b2add31c70efb9d1ba9423cb"></a>
11161<h2 class="memtitle"><span class="permalink"><a href="#a66876161b2add31c70efb9d1ba9423cb">&#9670;&nbsp;</a></span>error_on_channel_not_in_known_format()</h2>
11162
Anthony Barbier871448e2017-03-24 14:54:29 +000011163<div class="memitem">
11164<div class="memproto">
11165 <table class="memname">
11166 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000011167 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_channel_not_in_known_format </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011168 <td>(</td>
11169 <td class="paramtype">const char *&#160;</td>
11170 <td class="paramname"><em>function</em>, </td>
11171 </tr>
11172 <tr>
11173 <td class="paramkey"></td>
11174 <td></td>
11175 <td class="paramtype">const char *&#160;</td>
11176 <td class="paramname"><em>file</em>, </td>
11177 </tr>
11178 <tr>
11179 <td class="paramkey"></td>
11180 <td></td>
11181 <td class="paramtype">const int&#160;</td>
11182 <td class="paramname"><em>line</em>, </td>
11183 </tr>
11184 <tr>
11185 <td class="paramkey"></td>
11186 <td></td>
Jenkinsb9abeae2018-11-22 11:58:08 +000011187 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011188 <td class="paramname"><em>fmt</em>, </td>
11189 </tr>
11190 <tr>
11191 <td class="paramkey"></td>
11192 <td></td>
Jenkinsb9abeae2018-11-22 11:58:08 +000011193 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">arm_compute::Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011194 <td class="paramname"><em>cn</em>&#160;</td>
11195 </tr>
11196 <tr>
11197 <td></td>
11198 <td>)</td>
11199 <td></td><td></td>
11200 </tr>
11201 </table>
11202</div><div class="memdoc">
11203
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011204<p>Return an error if the channel is not in format. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011205<dl class="params"><dt>Parameters</dt><dd>
11206 <table class="params">
11207 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11208 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11209 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11210 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011211 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000011212 </table>
11213 </dd>
11214</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011215<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 +000011216
Jenkinsb9abeae2018-11-22 11:58:08 +000011217<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00113">113</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
11218
11219<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00270">ARM_COMPUTE_ERROR_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_validate_8h_source.xhtml#l00872">error_on_channel_not_in()</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#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#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>
11220<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(fmt == <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(cn == <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Channel::UNKNOWN</a>, <span class="keyword">function</span>, file, line);</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">switch</span>(fmt)</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; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a>:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a>:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a>:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a>:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a>:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a>:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a>:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="_error_8h.xhtml#af93757c5021d1802b094dfbead459391">ARM_COMPUTE_ERROR_LOC</a>(<span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Not supported format.&quot;</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</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>
11221<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>
11222<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>
11223<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>
11224<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>
11225<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>
11226<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>
11227<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>
11228<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>
11229<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>
11230<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>
11231<div class="ttc" id="namespacearm__compute_xhtml_a89059fcfb27bba71edffcc22c6e1a1a2"><div class="ttname"><a href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_channel_not_in(const char *function, const char *file, const int line, T cn, T &amp;&amp;channel, Ts &amp;&amp;... channels)</div><div class="ttdoc">Return an error if the channel is not in channels. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00872">Validate.h:872</a></div></div>
11232<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>
11233<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>
11234<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>
11235<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>
11236<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
11237<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>
11238<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>
11239<div class="ttc" id="_error_8h_xhtml_af93757c5021d1802b094dfbead459391"><div class="ttname"><a href="_error_8h.xhtml#af93757c5021d1802b094dfbead459391">ARM_COMPUTE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_LOC(func, file, line,...)</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#l00270">Error.h:270</a></div></div>
11240<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>
11241</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011242</div>
11243</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011244<a id="a3c62cc8d5ee934d42c115c9315d66c13"></a>
11245<h2 class="memtitle"><span class="permalink"><a href="#a3c62cc8d5ee934d42c115c9315d66c13">&#9670;&nbsp;</a></span>error_on_coordinates_dimensions_gte()</h2>
11246
Anthony Barbier871448e2017-03-24 14:54:29 +000011247<div class="memitem">
11248<div class="memproto">
11249 <table class="memname">
11250 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000011251 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_coordinates_dimensions_gte </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011252 <td>(</td>
11253 <td class="paramtype">const char *&#160;</td>
11254 <td class="paramname"><em>function</em>, </td>
11255 </tr>
11256 <tr>
11257 <td class="paramkey"></td>
11258 <td></td>
11259 <td class="paramtype">const char *&#160;</td>
11260 <td class="paramname"><em>file</em>, </td>
11261 </tr>
11262 <tr>
11263 <td class="paramkey"></td>
11264 <td></td>
11265 <td class="paramtype">const int&#160;</td>
11266 <td class="paramname"><em>line</em>, </td>
11267 </tr>
11268 <tr>
11269 <td class="paramkey"></td>
11270 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011271 <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 +000011272 <td class="paramname"><em>pos</em>, </td>
11273 </tr>
11274 <tr>
11275 <td class="paramkey"></td>
11276 <td></td>
11277 <td class="paramtype">unsigned int&#160;</td>
11278 <td class="paramname"><em>max_dim</em>&#160;</td>
11279 </tr>
11280 <tr>
11281 <td></td>
11282 <td>)</td>
11283 <td></td><td></td>
11284 </tr>
11285 </table>
11286</div><div class="memdoc">
11287
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011288<p>Return an error if the passed coordinates have too many dimensions. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011289<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
11290<dl class="params"><dt>Parameters</dt><dd>
11291 <table class="params">
11292 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11293 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11294 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11295 <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 +000011296 <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 +000011297 </table>
11298 </dd>
11299</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011300<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 +000011301
Jenkinsb9abeae2018-11-22 11:58:08 +000011302<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00070">70</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
11303
11304<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>.</p>
11305<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; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = max_dim; i &lt; <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(pos[i] != 0, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</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="l00078"></a><span class="lineno"> 78</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>
11306<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>
11307<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions&lt; int &gt;::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
11308</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011309</div>
11310</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011311<a id="a4b97ba5512e8deb4a428515bc61c0c7a"></a>
11312<h2 class="memtitle"><span class="permalink"><a href="#a4b97ba5512e8deb4a428515bc61c0c7a">&#9670;&nbsp;</a></span>error_on_data_layout_not_in() <span class="overload">[1/2]</span></h2>
11313
11314<div class="memitem">
11315<div class="memproto">
11316<table class="mlabels">
11317 <tr>
11318 <td class="mlabels-left">
11319 <table class="memname">
11320 <tr>
11321 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_layout_not_in </td>
11322 <td>(</td>
11323 <td class="paramtype">const char *&#160;</td>
11324 <td class="paramname"><em>function</em>, </td>
11325 </tr>
11326 <tr>
11327 <td class="paramkey"></td>
11328 <td></td>
11329 <td class="paramtype">const char *&#160;</td>
11330 <td class="paramname"><em>file</em>, </td>
11331 </tr>
11332 <tr>
11333 <td class="paramkey"></td>
11334 <td></td>
11335 <td class="paramtype">const int&#160;</td>
11336 <td class="paramname"><em>line</em>, </td>
11337 </tr>
11338 <tr>
11339 <td class="paramkey"></td>
11340 <td></td>
11341 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11342 <td class="paramname"><em>tensor_info</em>, </td>
11343 </tr>
11344 <tr>
11345 <td class="paramkey"></td>
11346 <td></td>
11347 <td class="paramtype">T &amp;&amp;&#160;</td>
11348 <td class="paramname"><em>dl</em>, </td>
11349 </tr>
11350 <tr>
11351 <td class="paramkey"></td>
11352 <td></td>
11353 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11354 <td class="paramname"><em>dls</em>&#160;</td>
11355 </tr>
11356 <tr>
11357 <td></td>
11358 <td>)</td>
11359 <td></td><td></td>
11360 </tr>
11361 </table>
11362 </td>
11363 <td class="mlabels-right">
11364<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11365 </tr>
11366</table>
11367</div><div class="memdoc">
11368
11369<p>Return an error if the data layout of the passed tensor info does not match any of the data layouts provided. </p>
11370<dl class="params"><dt>Parameters</dt><dd>
11371 <table class="params">
11372 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11373 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11374 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11375 <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>
11376 <tr><td class="paramdir">[in]</td><td class="paramname">dl</td><td>First data layout allowed. </td></tr>
11377 <tr><td class="paramdir">[in]</td><td class="paramname">dls</td><td>(Optional) Further allowed data layouts.</td></tr>
11378 </table>
11379 </dd>
11380</dl>
11381<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>
11382
11383<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00708">708</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
11384
11385<p class="reference">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#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00127">string_from_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
11386
11387<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00736">error_on_data_layout_not_in()</a>.</p>
11388<div class="fragment"><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; <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="l00712"></a><span class="lineno"> 712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;tensor_dl = tensor_info-&gt;data_layout(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_dl == DataLayout::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; dls_array{ { std::forward&lt;Ts&gt;(dls)... } };</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_dl != dl &amp;&amp; std::none_of(dls_array.begin(), dls_array.end(), [&amp;](<span class="keyword">const</span> T &amp; l)</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; <span class="keywordflow">return</span> l == tensor_dl;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }),</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;ITensor data layout %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#a56b9e25c2e8731ca5488e7b3ccd66f58">string_from_data_layout</a>(tensor_dl).c_str());</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</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="l00723"></a><span class="lineno"> 723</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>
11389<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>
11390<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>
11391<div class="ttc" id="namespacearm__compute_xhtml_a56b9e25c2e8731ca5488e7b3ccd66f58"><div class="ttname"><a href="namespacearm__compute.xhtml#a56b9e25c2e8731ca5488e7b3ccd66f58">arm_compute::string_from_data_layout</a></div><div class="ttdeci">const std::string &amp; string_from_data_layout(DataLayout dl)</div><div class="ttdoc">Convert a data layout identity into a string. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00127">Utils.cpp:127</a></div></div>
11392<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">[DataLayout enum definition] </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
11393</div><!-- fragment -->
11394</div>
11395</div>
11396<a id="aba935fe0dd1a33ed2525ace5b21e1a8a"></a>
11397<h2 class="memtitle"><span class="permalink"><a href="#aba935fe0dd1a33ed2525ace5b21e1a8a">&#9670;&nbsp;</a></span>error_on_data_layout_not_in() <span class="overload">[2/2]</span></h2>
11398
11399<div class="memitem">
11400<div class="memproto">
11401<table class="mlabels">
11402 <tr>
11403 <td class="mlabels-left">
11404 <table class="memname">
11405 <tr>
11406 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_layout_not_in </td>
11407 <td>(</td>
11408 <td class="paramtype">const char *&#160;</td>
11409 <td class="paramname"><em>function</em>, </td>
11410 </tr>
11411 <tr>
11412 <td class="paramkey"></td>
11413 <td></td>
11414 <td class="paramtype">const char *&#160;</td>
11415 <td class="paramname"><em>file</em>, </td>
11416 </tr>
11417 <tr>
11418 <td class="paramkey"></td>
11419 <td></td>
11420 <td class="paramtype">const int&#160;</td>
11421 <td class="paramname"><em>line</em>, </td>
11422 </tr>
11423 <tr>
11424 <td class="paramkey"></td>
11425 <td></td>
11426 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11427 <td class="paramname"><em>tensor</em>, </td>
11428 </tr>
11429 <tr>
11430 <td class="paramkey"></td>
11431 <td></td>
11432 <td class="paramtype">T &amp;&amp;&#160;</td>
11433 <td class="paramname"><em>dl</em>, </td>
11434 </tr>
11435 <tr>
11436 <td class="paramkey"></td>
11437 <td></td>
11438 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11439 <td class="paramname"><em>dls</em>&#160;</td>
11440 </tr>
11441 <tr>
11442 <td></td>
11443 <td>)</td>
11444 <td></td><td></td>
11445 </tr>
11446 </table>
11447 </td>
11448 <td class="mlabels-right">
11449<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11450 </tr>
11451</table>
11452</div><div class="memdoc">
11453
11454<p>Return an error if the data layout of the passed tensor does not match any of the data layout provided. </p>
11455<dl class="params"><dt>Parameters</dt><dd>
11456 <table class="params">
11457 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11458 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11459 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11460 <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>
11461 <tr><td class="paramdir">[in]</td><td class="paramname">dl</td><td>First data layout allowed. </td></tr>
11462 <tr><td class="paramdir">[in]</td><td class="paramname">dls</td><td>(Optional) Further allowed data layouts.</td></tr>
11463 </table>
11464 </dd>
11465</dl>
11466<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>
11467
11468<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00736">736</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
11469
11470<p class="reference">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#l00708">error_on_data_layout_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
11471<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;{</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="_error_8h.xhtml#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="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a4b97ba5512e8deb4a428515bc61c0c7a">arm_compute::error_on_data_layout_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), std::forward&lt;T&gt;(dl), std::forward&lt;Ts&gt;(dls)...));</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</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>
11472<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>
11473<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>
11474<div class="ttc" id="namespacearm__compute_xhtml_a4b97ba5512e8deb4a428515bc61c0c7a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4b97ba5512e8deb4a428515bc61c0c7a">arm_compute::error_on_data_layout_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_layout_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dl, Ts &amp;&amp;... dls)</div><div class="ttdoc">Return an error if the data layout of the passed tensor info does not match any of the data layouts p...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00708">Validate.h:708</a></div></div>
11475</div><!-- fragment -->
11476</div>
11477</div>
11478<a id="a2f061a50e9fd383396233a85234c1774"></a>
11479<h2 class="memtitle"><span class="permalink"><a href="#a2f061a50e9fd383396233a85234c1774">&#9670;&nbsp;</a></span>error_on_data_type_channel_not_in() <span class="overload">[1/2]</span></h2>
11480
Anthony Barbier871448e2017-03-24 14:54:29 +000011481<div class="memitem">
11482<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011483<table class="mlabels">
11484 <tr>
11485 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000011486 <table class="memname">
11487 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011488 <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 +000011489 <td>(</td>
11490 <td class="paramtype">const char *&#160;</td>
11491 <td class="paramname"><em>function</em>, </td>
11492 </tr>
11493 <tr>
11494 <td class="paramkey"></td>
11495 <td></td>
11496 <td class="paramtype">const char *&#160;</td>
11497 <td class="paramname"><em>file</em>, </td>
11498 </tr>
11499 <tr>
11500 <td class="paramkey"></td>
11501 <td></td>
11502 <td class="paramtype">const int&#160;</td>
11503 <td class="paramname"><em>line</em>, </td>
11504 </tr>
11505 <tr>
11506 <td class="paramkey"></td>
11507 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011508 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11509 <td class="paramname"><em>tensor_info</em>, </td>
11510 </tr>
11511 <tr>
11512 <td class="paramkey"></td>
11513 <td></td>
11514 <td class="paramtype">size_t&#160;</td>
11515 <td class="paramname"><em>num_channels</em>, </td>
11516 </tr>
11517 <tr>
11518 <td class="paramkey"></td>
11519 <td></td>
11520 <td class="paramtype">T &amp;&amp;&#160;</td>
11521 <td class="paramname"><em>dt</em>, </td>
11522 </tr>
11523 <tr>
11524 <td class="paramkey"></td>
11525 <td></td>
11526 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11527 <td class="paramname"><em>dts</em>&#160;</td>
11528 </tr>
11529 <tr>
11530 <td></td>
11531 <td>)</td>
11532 <td></td><td></td>
11533 </tr>
11534 </table>
11535 </td>
11536 <td class="mlabels-right">
11537<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11538 </tr>
11539</table>
11540</div><div class="memdoc">
11541
11542<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>
11543<dl class="params"><dt>Parameters</dt><dd>
11544 <table class="params">
11545 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11546 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11547 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11548 <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>
11549 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
11550 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
11551 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
11552 </table>
11553 </dd>
11554</dl>
11555<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>
11556
Jenkinsb9abeae2018-11-22 11:58:08 +000011557<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00761">761</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011558
Jenkinsb9abeae2018-11-22 11:58:08 +000011559<p class="reference">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 +000011560
Jenkinsb9abeae2018-11-22 11:58:08 +000011561<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00782">error_on_data_type_channel_not_in()</a>.</p>
11562<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; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</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="l00767"></a><span class="lineno"> 767</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="l00768"></a><span class="lineno"> 768</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>
Jenkins52ba29e2018-08-29 15:32:11 +000011563<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>
11564<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000011565<div class="ttc" id="namespacearm__compute_xhtml_abb2e6a7590121c1c9139bdb14558f20a"><div class="ttname"><a href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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 +000011566</div><!-- fragment -->
11567</div>
11568</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011569<a id="aa87a2bd032fb1e4406506f5bb2da3225"></a>
11570<h2 class="memtitle"><span class="permalink"><a href="#aa87a2bd032fb1e4406506f5bb2da3225">&#9670;&nbsp;</a></span>error_on_data_type_channel_not_in() <span class="overload">[2/2]</span></h2>
11571
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011572<div class="memitem">
11573<div class="memproto">
11574<table class="mlabels">
11575 <tr>
11576 <td class="mlabels-left">
11577 <table class="memname">
11578 <tr>
11579 <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>
11580 <td>(</td>
11581 <td class="paramtype">const char *&#160;</td>
11582 <td class="paramname"><em>function</em>, </td>
11583 </tr>
11584 <tr>
11585 <td class="paramkey"></td>
11586 <td></td>
11587 <td class="paramtype">const char *&#160;</td>
11588 <td class="paramname"><em>file</em>, </td>
11589 </tr>
11590 <tr>
11591 <td class="paramkey"></td>
11592 <td></td>
11593 <td class="paramtype">const int&#160;</td>
11594 <td class="paramname"><em>line</em>, </td>
11595 </tr>
11596 <tr>
11597 <td class="paramkey"></td>
11598 <td></td>
11599 <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 +000011600 <td class="paramname"><em>tensor</em>, </td>
11601 </tr>
11602 <tr>
11603 <td class="paramkey"></td>
11604 <td></td>
11605 <td class="paramtype">size_t&#160;</td>
11606 <td class="paramname"><em>num_channels</em>, </td>
11607 </tr>
11608 <tr>
11609 <td class="paramkey"></td>
11610 <td></td>
11611 <td class="paramtype">T &amp;&amp;&#160;</td>
11612 <td class="paramname"><em>dt</em>, </td>
11613 </tr>
11614 <tr>
11615 <td class="paramkey"></td>
11616 <td></td>
11617 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11618 <td class="paramname"><em>dts</em>&#160;</td>
11619 </tr>
11620 <tr>
11621 <td></td>
11622 <td>)</td>
11623 <td></td><td></td>
11624 </tr>
11625 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011626 </td>
11627 <td class="mlabels-right">
11628<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11629 </tr>
11630</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000011631</div><div class="memdoc">
11632
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011633<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 +000011634<dl class="params"><dt>Parameters</dt><dd>
11635 <table class="params">
11636 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11637 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11638 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11639 <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>
11640 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
11641 <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 +000011642 <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 +000011643 </table>
11644 </dd>
11645</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011646<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 +000011647
Jenkinsb9abeae2018-11-22 11:58:08 +000011648<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00782">782</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011649
Jenkinsb9abeae2018-11-22 11:58:08 +000011650<p class="reference">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#l00761">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>
11651<div class="fragment"><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;{</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <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="l00786"></a><span class="lineno"> 786</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#aa87a2bd032fb1e4406506f5bb2da3225">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="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</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>
Jenkins52ba29e2018-08-29 15:32:11 +000011652<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000011653<div class="ttc" id="namespacearm__compute_xhtml_aa87a2bd032fb1e4406506f5bb2da3225"><div class="ttname"><a href="namespacearm__compute.xhtml#aa87a2bd032fb1e4406506f5bb2da3225">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#l00782">Validate.h:782</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011654<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 +000011655</div><!-- fragment -->
11656</div>
11657</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011658<a id="abb2e6a7590121c1c9139bdb14558f20a"></a>
11659<h2 class="memtitle"><span class="permalink"><a href="#abb2e6a7590121c1c9139bdb14558f20a">&#9670;&nbsp;</a></span>error_on_data_type_not_in() <span class="overload">[1/2]</span></h2>
11660
Anthony Barbier871448e2017-03-24 14:54:29 +000011661<div class="memitem">
11662<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011663<table class="mlabels">
11664 <tr>
11665 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000011666 <table class="memname">
11667 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011668 <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 +000011669 <td>(</td>
11670 <td class="paramtype">const char *&#160;</td>
11671 <td class="paramname"><em>function</em>, </td>
11672 </tr>
11673 <tr>
11674 <td class="paramkey"></td>
11675 <td></td>
11676 <td class="paramtype">const char *&#160;</td>
11677 <td class="paramname"><em>file</em>, </td>
11678 </tr>
11679 <tr>
11680 <td class="paramkey"></td>
11681 <td></td>
11682 <td class="paramtype">const int&#160;</td>
11683 <td class="paramname"><em>line</em>, </td>
11684 </tr>
11685 <tr>
11686 <td class="paramkey"></td>
11687 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011688 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11689 <td class="paramname"><em>tensor_info</em>, </td>
11690 </tr>
11691 <tr>
11692 <td class="paramkey"></td>
11693 <td></td>
11694 <td class="paramtype">T &amp;&amp;&#160;</td>
11695 <td class="paramname"><em>dt</em>, </td>
11696 </tr>
11697 <tr>
11698 <td class="paramkey"></td>
11699 <td></td>
11700 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11701 <td class="paramname"><em>dts</em>&#160;</td>
11702 </tr>
11703 <tr>
11704 <td></td>
11705 <td>)</td>
11706 <td></td><td></td>
11707 </tr>
11708 </table>
11709 </td>
11710 <td class="mlabels-right">
11711<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11712 </tr>
11713</table>
11714</div><div class="memdoc">
11715
11716<p>Return an error if the data type of the passed tensor info does not match any of the data types provided. </p>
11717<dl class="params"><dt>Parameters</dt><dd>
11718 <table class="params">
11719 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11720 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11721 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11722 <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>
11723 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
11724 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
11725 </table>
11726 </dd>
11727</dl>
11728<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>
11729
Jenkinsb9abeae2018-11-22 11:58:08 +000011730<p class="definition">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 +000011731
Jenkinsb9abeae2018-11-22 11:58:08 +000011732<p class="reference">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="src_2core_2_utils_8cpp_source.xhtml#l00139">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011733
Jenkinsb9abeae2018-11-22 11:58:08 +000011734<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00761">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>
11735<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#a142b55a483cadf4e1068a1a09a55e8e9">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>
Jenkins52ba29e2018-08-29 15:32:11 +000011736<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>
Jenkins52ba29e2018-08-29 15:32:11 +000011737<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000011738<div class="ttc" id="namespacearm__compute_xhtml_a142b55a483cadf4e1068a1a09a55e8e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a142b55a483cadf4e1068a1a09a55e8e9">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 class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00139">Utils.cpp:139</a></div></div>
11739<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#l00074">Types.h:74</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011740</div><!-- fragment -->
11741</div>
11742</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011743<a id="ae8dfd7ddb80f1bd4042a0409d56cc72a"></a>
11744<h2 class="memtitle"><span class="permalink"><a href="#ae8dfd7ddb80f1bd4042a0409d56cc72a">&#9670;&nbsp;</a></span>error_on_data_type_not_in() <span class="overload">[2/2]</span></h2>
11745
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011746<div class="memitem">
11747<div class="memproto">
11748<table class="mlabels">
11749 <tr>
11750 <td class="mlabels-left">
11751 <table class="memname">
11752 <tr>
11753 <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>
11754 <td>(</td>
11755 <td class="paramtype">const char *&#160;</td>
11756 <td class="paramname"><em>function</em>, </td>
11757 </tr>
11758 <tr>
11759 <td class="paramkey"></td>
11760 <td></td>
11761 <td class="paramtype">const char *&#160;</td>
11762 <td class="paramname"><em>file</em>, </td>
11763 </tr>
11764 <tr>
11765 <td class="paramkey"></td>
11766 <td></td>
11767 <td class="paramtype">const int&#160;</td>
11768 <td class="paramname"><em>line</em>, </td>
11769 </tr>
11770 <tr>
11771 <td class="paramkey"></td>
11772 <td></td>
11773 <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 +000011774 <td class="paramname"><em>tensor</em>, </td>
11775 </tr>
11776 <tr>
11777 <td class="paramkey"></td>
11778 <td></td>
11779 <td class="paramtype">T &amp;&amp;&#160;</td>
11780 <td class="paramname"><em>dt</em>, </td>
11781 </tr>
11782 <tr>
11783 <td class="paramkey"></td>
11784 <td></td>
11785 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11786 <td class="paramname"><em>dts</em>&#160;</td>
11787 </tr>
11788 <tr>
11789 <td></td>
11790 <td>)</td>
11791 <td></td><td></td>
11792 </tr>
11793 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011794 </td>
11795 <td class="mlabels-right">
11796<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11797 </tr>
11798</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000011799</div><div class="memdoc">
11800
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011801<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 +000011802<dl class="params"><dt>Parameters</dt><dd>
11803 <table class="params">
11804 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11805 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11806 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11807 <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>
11808 <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 +000011809 <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 +000011810 </table>
11811 </dd>
11812</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011813<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 +000011814
Jenkinsb9abeae2018-11-22 11:58:08 +000011815<p class="definition">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 +000011816
Jenkinsb9abeae2018-11-22 11:58:08 +000011817<p class="reference">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>
11818<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#abb2e6a7590121c1c9139bdb14558f20a">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>
Jenkins52ba29e2018-08-29 15:32:11 +000011819<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>
11820<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000011821<div class="ttc" id="namespacearm__compute_xhtml_abb2e6a7590121c1c9139bdb14558f20a"><div class="ttname"><a href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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 +000011822</div><!-- fragment -->
11823</div>
11824</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011825<a id="a8a09f045f83a973807cbfdd3083732ef"></a>
11826<h2 class="memtitle"><span class="permalink"><a href="#a8a09f045f83a973807cbfdd3083732ef">&#9670;&nbsp;</a></span>error_on_format_not_in()</h2>
11827
Anthony Barbier871448e2017-03-24 14:54:29 +000011828<div class="memitem">
11829<div class="memproto">
11830 <table class="memname">
11831 <tr>
11832 <td class="memname">void arm_compute::error_on_format_not_in </td>
11833 <td>(</td>
11834 <td class="paramtype">const char *&#160;</td>
11835 <td class="paramname"><em>function</em>, </td>
11836 </tr>
11837 <tr>
11838 <td class="paramkey"></td>
11839 <td></td>
11840 <td class="paramtype">const char *&#160;</td>
11841 <td class="paramname"><em>file</em>, </td>
11842 </tr>
11843 <tr>
11844 <td class="paramkey"></td>
11845 <td></td>
11846 <td class="paramtype">const int&#160;</td>
11847 <td class="paramname"><em>line</em>, </td>
11848 </tr>
11849 <tr>
11850 <td class="paramkey"></td>
11851 <td></td>
11852 <td class="paramtype">const T *&#160;</td>
11853 <td class="paramname"><em>object</em>, </td>
11854 </tr>
11855 <tr>
11856 <td class="paramkey"></td>
11857 <td></td>
11858 <td class="paramtype">F &amp;&amp;&#160;</td>
11859 <td class="paramname"><em>format</em>, </td>
11860 </tr>
11861 <tr>
11862 <td class="paramkey"></td>
11863 <td></td>
11864 <td class="paramtype">Fs &amp;&amp;...&#160;</td>
11865 <td class="paramname"><em>formats</em>&#160;</td>
11866 </tr>
11867 <tr>
11868 <td></td>
11869 <td>)</td>
11870 <td></td><td></td>
11871 </tr>
11872 </table>
11873</div><div class="memdoc">
11874
11875<p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
11876<dl class="params"><dt>Parameters</dt><dd>
11877 <table class="params">
11878 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11879 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11880 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11881 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
11882 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
11883 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
11884 </table>
11885 </dd>
11886</dl>
11887
Jenkinsb9abeae2018-11-22 11:58:08 +000011888<p class="definition">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 +000011889
Jenkinsb9abeae2018-11-22 11:58:08 +000011890<p class="reference">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="src_2core_2_utils_8cpp_source.xhtml#l00080">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
11891<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#a8b82da7b5e0f6192f415ac347c9e0555">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>
Jenkins52ba29e2018-08-29 15:32:11 +000011892<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000011893<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#l00052">Types.h:52</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011894<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000011895<div class="ttc" id="namespacearm__compute_xhtml_a8b82da7b5e0f6192f415ac347c9e0555"><div class="ttname"><a href="namespacearm__compute.xhtml#a8b82da7b5e0f6192f415ac347c9e0555">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 class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00080">Utils.cpp:80</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011896</div><!-- fragment -->
11897</div>
11898</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011899<a id="a689cede2a5855c731f7d69b487f30aaa"></a>
11900<h2 class="memtitle"><span class="permalink"><a href="#a689cede2a5855c731f7d69b487f30aaa">&#9670;&nbsp;</a></span>error_on_invalid_multi_hog()</h2>
11901
Anthony Barbier871448e2017-03-24 14:54:29 +000011902<div class="memitem">
11903<div class="memproto">
11904 <table class="memname">
11905 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000011906 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_invalid_multi_hog </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011907 <td>(</td>
11908 <td class="paramtype">const char *&#160;</td>
11909 <td class="paramname"><em>function</em>, </td>
11910 </tr>
11911 <tr>
11912 <td class="paramkey"></td>
11913 <td></td>
11914 <td class="paramtype">const char *&#160;</td>
11915 <td class="paramname"><em>file</em>, </td>
11916 </tr>
11917 <tr>
11918 <td class="paramkey"></td>
11919 <td></td>
11920 <td class="paramtype">const int&#160;</td>
11921 <td class="paramname"><em>line</em>, </td>
11922 </tr>
11923 <tr>
11924 <td class="paramkey"></td>
11925 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011926 <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 +000011927 <td class="paramname"><em>multi_hog</em>&#160;</td>
11928 </tr>
11929 <tr>
11930 <td></td>
11931 <td>)</td>
11932 <td></td><td></td>
11933 </tr>
11934 </table>
11935</div><div class="memdoc">
11936
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011937<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 +000011938<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
11939<ol type="1">
11940<li>it is a nullptr</li>
11941<li>it doesn't contain models</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011942<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>
11943</ol>
Anthony Barbier871448e2017-03-24 14:54:29 +000011944<dl class="params"><dt>Parameters</dt><dd>
11945 <table class="params">
11946 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11947 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11948 <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 +000011949 <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 +000011950 </table>
11951 </dd>
11952</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011953<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 +000011954
Jenkinsb9abeae2018-11-22 11:58:08 +000011955<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00144">144</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
11956
11957<p class="reference">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_h_o_g.xhtml#a4e9b5d4ab15fd9009b463861c1a19dbd">IHOG::info()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00121">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml#a75e828c2dc5a300d224761a410c0925f">IMultiHOG::model()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00116">HOGInfo::normalization_type()</a>, <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml#a36ab43f5c3606001dcd2468b955f3e02">IMultiHOG::num_models()</a>, and <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00126">HOGInfo::phase_type()</a>.</p>
11958<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(<span class="keyword">nullptr</span> == multi_hog, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(0 == multi_hog-&gt;num_models(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1; i &lt; multi_hog-&gt;num_models(); ++i)</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; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(multi_hog-&gt;model(0)-&gt;info()-&gt;phase_type() != multi_hog-&gt;model(i)-&gt;info()-&gt;phase_type(),</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="stringliteral">&quot;All HOG parameters must have the same phase type&quot;</span>);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(multi_hog-&gt;model(0)-&gt;info()-&gt;normalization_type() != multi_hog-&gt;model(i)-&gt;info()-&gt;normalization_type(),</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="stringliteral">&quot;All HOG parameters must have the same normalization type&quot;</span>);</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>((multi_hog-&gt;model(0)-&gt;info()-&gt;l2_hyst_threshold() != multi_hog-&gt;model(i)-&gt;info()-&gt;l2_hyst_threshold())</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; &amp;&amp; (multi_hog-&gt;model(0)-&gt;info()-&gt;normalization_type() == <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a>),</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="stringliteral">&quot;All HOG parameters must have the same l2 hysteresis threshold if you use L2 hysteresis normalization type&quot;</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="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</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>
11959<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>
11960<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>
11961<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>
11962</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011963</div>
11964</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000011965<a id="a9f83032f49a13db29baa1af1a62e5627"></a>
11966<h2 class="memtitle"><span class="permalink"><a href="#a9f83032f49a13db29baa1af1a62e5627">&#9670;&nbsp;</a></span>error_on_invalid_subtensor()</h2>
11967
Anthony Barbierdbdab852017-06-23 15:42:00 +010011968<div class="memitem">
11969<div class="memproto">
11970 <table class="memname">
11971 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000011972 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_invalid_subtensor </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011973 <td>(</td>
11974 <td class="paramtype">const char *&#160;</td>
11975 <td class="paramname"><em>function</em>, </td>
11976 </tr>
11977 <tr>
11978 <td class="paramkey"></td>
11979 <td></td>
11980 <td class="paramtype">const char *&#160;</td>
11981 <td class="paramname"><em>file</em>, </td>
11982 </tr>
11983 <tr>
11984 <td class="paramkey"></td>
11985 <td></td>
11986 <td class="paramtype">const int&#160;</td>
11987 <td class="paramname"><em>line</em>, </td>
11988 </tr>
11989 <tr>
11990 <td class="paramkey"></td>
11991 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011992 <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 +010011993 <td class="paramname"><em>parent_shape</em>, </td>
11994 </tr>
11995 <tr>
11996 <td class="paramkey"></td>
11997 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011998 <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 +010011999 <td class="paramname"><em>coords</em>, </td>
12000 </tr>
12001 <tr>
12002 <td class="paramkey"></td>
12003 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012004 <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 +010012005 <td class="paramname"><em>shape</em>&#160;</td>
12006 </tr>
12007 <tr>
12008 <td></td>
12009 <td>)</td>
12010 <td></td><td></td>
12011 </tr>
12012 </table>
12013</div><div class="memdoc">
12014
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012015<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 +010012016<dl class="params"><dt>Parameters</dt><dd>
12017 <table class="params">
12018 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12019 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12020 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12021 <tr><td class="paramdir">[in]</td><td class="paramname">parent_shape</td><td>Parent tensor shape </td></tr>
12022 <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 +000012023 <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 +010012024 </table>
12025 </dd>
12026</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012027<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 +010012028
Jenkinsb9abeae2018-11-22 11:58:08 +000012029<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00176">176</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
12030
12031<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>.</p>
12032<div class="fragment"><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="comment">// Subtensor should not index in x, y dimensions.</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((coords.x() != 0) || (coords.y() != 0)), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="comment">// Subtensor shape should match parent tensor in x, y dimensions.</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((parent_shape.x() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.x()) || (parent_shape.y() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.y())), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="comment">// Check dimensions</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; TensorShape::num_max_dimensions; ++i)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((coords[i] &gt;= static_cast&lt;int&gt;(parent_shape[i])) || (coords[i] + static_cast&lt;int&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[i]) &gt; static_cast&lt;int&gt;(parent_shape[i]))),</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</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="l00191"></a><span class="lineno"> 191</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>
12033<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>
12034<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>
12035</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010012036</div>
12037</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012038<a id="ac2ab765daf6f586ceaa12575743361e7"></a>
12039<h2 class="memtitle"><span class="permalink"><a href="#ac2ab765daf6f586ceaa12575743361e7">&#9670;&nbsp;</a></span>error_on_invalid_subtensor_valid_region()</h2>
12040
Anthony Barbierdbdab852017-06-23 15:42:00 +010012041<div class="memitem">
12042<div class="memproto">
12043 <table class="memname">
12044 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000012045 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_invalid_subtensor_valid_region </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012046 <td>(</td>
12047 <td class="paramtype">const char *&#160;</td>
12048 <td class="paramname"><em>function</em>, </td>
12049 </tr>
12050 <tr>
12051 <td class="paramkey"></td>
12052 <td></td>
12053 <td class="paramtype">const char *&#160;</td>
12054 <td class="paramname"><em>file</em>, </td>
12055 </tr>
12056 <tr>
12057 <td class="paramkey"></td>
12058 <td></td>
12059 <td class="paramtype">const int&#160;</td>
12060 <td class="paramname"><em>line</em>, </td>
12061 </tr>
12062 <tr>
12063 <td class="paramkey"></td>
12064 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012065 <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 +010012066 <td class="paramname"><em>parent_valid_region</em>, </td>
12067 </tr>
12068 <tr>
12069 <td class="paramkey"></td>
12070 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012071 <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 +010012072 <td class="paramname"><em>valid_region</em>&#160;</td>
12073 </tr>
12074 <tr>
12075 <td></td>
12076 <td>)</td>
12077 <td></td><td></td>
12078 </tr>
12079 </table>
12080</div><div class="memdoc">
12081
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012082<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 +010012083<dl class="params"><dt>Parameters</dt><dd>
12084 <table class="params">
12085 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12086 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12087 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12088 <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 +000012089 <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 +010012090 </table>
12091 </dd>
12092</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012093<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 +010012094
Jenkinsb9abeae2018-11-22 11:58:08 +000012095<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00193">193</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
12096
12097<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>.</p>
12098<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">// Check valid regions</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d &lt; TensorShape::num_max_dimensions; ++d)</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; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((parent_valid_region.anchor[d] &gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[d]), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((parent_valid_region.anchor[d] + static_cast&lt;int&gt;(parent_valid_region.shape[d])) &lt; (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[d] + static_cast&lt;int&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[d])),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</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="l00205"></a><span class="lineno"> 205</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
12099<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>
12100<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>
12101<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">ArithmeticDivision.cpp:107</a></div></div>
12102<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
12103</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010012104</div>
12105</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012106<a id="ae93ff1ca47057b95d0c6fd0d287253a8"></a>
12107<h2 class="memtitle"><span class="permalink"><a href="#ae93ff1ca47057b95d0c6fd0d287253a8">&#9670;&nbsp;</a></span>error_on_invalid_subwindow()</h2>
12108
Anthony Barbier871448e2017-03-24 14:54:29 +000012109<div class="memitem">
12110<div class="memproto">
12111 <table class="memname">
12112 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000012113 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_invalid_subwindow </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012114 <td>(</td>
12115 <td class="paramtype">const char *&#160;</td>
12116 <td class="paramname"><em>function</em>, </td>
12117 </tr>
12118 <tr>
12119 <td class="paramkey"></td>
12120 <td></td>
12121 <td class="paramtype">const char *&#160;</td>
12122 <td class="paramname"><em>file</em>, </td>
12123 </tr>
12124 <tr>
12125 <td class="paramkey"></td>
12126 <td></td>
12127 <td class="paramtype">const int&#160;</td>
12128 <td class="paramname"><em>line</em>, </td>
12129 </tr>
12130 <tr>
12131 <td class="paramkey"></td>
12132 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012133 <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 +000012134 <td class="paramname"><em>full</em>, </td>
12135 </tr>
12136 <tr>
12137 <td class="paramkey"></td>
12138 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012139 <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 +000012140 <td class="paramname"><em>sub</em>&#160;</td>
12141 </tr>
12142 <tr>
12143 <td></td>
12144 <td>)</td>
12145 <td></td><td></td>
12146 </tr>
12147 </table>
12148</div><div class="memdoc">
12149
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012150<p>Return an error if the passed subwindow is invalid. </p>
12151<p>The subwindow is invalid if:</p><ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000012152<li>It is not a valid window.</li>
12153<li>It is not fully contained inside the full window</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012154<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
12155</ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000012156<dl class="params"><dt>Parameters</dt><dd>
12157 <table class="params">
12158 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12159 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12160 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12161 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012162 <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 +000012163 </table>
12164 </dd>
12165</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012166<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 +000012167
Jenkinsb9abeae2018-11-22 11:58:08 +000012168<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00041">41</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
12169
12170<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</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>
12171<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; full.validate();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>.<a class="code" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#a5e951bf3e414ddcd908245bcf284b08f">validate</a>();</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">for</span>(<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><div class="line"><a name="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#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].start() &gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].end() &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].end(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].step() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].step(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].start() - full[i].start()) % <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].step(), <span class="keyword">function</span>, file, line);</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; <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="l00055"></a><span class="lineno"> 55</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>
12172<div class="ttc" id="classarm__compute_1_1_c_l_arithmetic_subtraction_xhtml_a5e951bf3e414ddcd908245bcf284b08f"><div class="ttname"><a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#a5e951bf3e414ddcd908245bcf284b08f">arm_compute::CLArithmeticSubtraction::validate</a></div><div class="ttdeci">static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy)</div><div class="ttdoc">Static function to check if given info will lead to a valid configuration of CLArithmeticSubtraction...</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_arithmetic_subtraction_8cpp_source.xhtml#l00051">CLArithmeticSubtraction.cpp:51</a></div></div>
12173<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>
12174<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5cf018925dff7200819397bf8a295a0f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">arm_compute::test::validation::sub</a></div><div class="ttdeci">CLArithmeticSubtraction sub</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00182">ArithmeticSubtraction.cpp:182</a></div></div>
12175<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions&lt; int &gt;::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
12176</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000012177</div>
12178</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012179<a id="a8355d6db4cebee2724bf4463076526c6"></a>
12180<h2 class="memtitle"><span class="permalink"><a href="#a8355d6db4cebee2724bf4463076526c6">&#9670;&nbsp;</a></span>error_on_mismatching_data_layouts() <span class="overload">[1/2]</span></h2>
12181
Jenkinsb3a371b2018-05-23 11:36:53 +010012182<div class="memitem">
12183<div class="memproto">
12184<table class="mlabels">
12185 <tr>
12186 <td class="mlabels-left">
12187 <table class="memname">
12188 <tr>
12189 <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>
12190 <td>(</td>
12191 <td class="paramtype">const char *&#160;</td>
12192 <td class="paramname"><em>function</em>, </td>
12193 </tr>
12194 <tr>
12195 <td class="paramkey"></td>
12196 <td></td>
12197 <td class="paramtype">const char *&#160;</td>
12198 <td class="paramname"><em>file</em>, </td>
12199 </tr>
12200 <tr>
12201 <td class="paramkey"></td>
12202 <td></td>
12203 <td class="paramtype">const int&#160;</td>
12204 <td class="paramname"><em>line</em>, </td>
12205 </tr>
12206 <tr>
12207 <td class="paramkey"></td>
12208 <td></td>
12209 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12210 <td class="paramname"><em>tensor_info</em>, </td>
12211 </tr>
12212 <tr>
12213 <td class="paramkey"></td>
12214 <td></td>
12215 <td class="paramtype">Ts...&#160;</td>
12216 <td class="paramname"><em>tensor_infos</em>&#160;</td>
12217 </tr>
12218 <tr>
12219 <td></td>
12220 <td>)</td>
12221 <td></td><td></td>
12222 </tr>
12223 </table>
12224 </td>
12225 <td class="mlabels-right">
12226<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12227 </tr>
12228</table>
12229</div><div class="memdoc">
12230
12231<p>Return an error if the passed tensor infos have different data layouts. </p>
12232<dl class="params"><dt>Parameters</dt><dd>
12233 <table class="params">
12234 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12235 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12236 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12237 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
12238 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
12239 </table>
12240 </dd>
12241</dl>
12242<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>
12243
Jenkinsb9abeae2018-11-22 11:58:08 +000012244<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010012245
Jenkinsb9abeae2018-11-22 11:58:08 +000012246<p class="reference">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 +010012247
Jenkinsb9abeae2018-11-22 11:58:08 +000012248<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00483">error_on_mismatching_data_layouts()</a>.</p>
12249<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#a069d7a20d1a7d62042f23039b356113b">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>
Jenkins52ba29e2018-08-29 15:32:11 +000012250<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>
12251<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012252<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000012253<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012254<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">[DataLayout enum definition] </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010012255</div><!-- fragment -->
12256</div>
12257</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012258<a id="ad6e5ea4c65e9a0e7853ce314024c955d"></a>
12259<h2 class="memtitle"><span class="permalink"><a href="#ad6e5ea4c65e9a0e7853ce314024c955d">&#9670;&nbsp;</a></span>error_on_mismatching_data_layouts() <span class="overload">[2/2]</span></h2>
12260
Jenkinsb3a371b2018-05-23 11:36:53 +010012261<div class="memitem">
12262<div class="memproto">
12263<table class="mlabels">
12264 <tr>
12265 <td class="mlabels-left">
12266 <table class="memname">
12267 <tr>
12268 <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>
12269 <td>(</td>
12270 <td class="paramtype">const char *&#160;</td>
12271 <td class="paramname"><em>function</em>, </td>
12272 </tr>
12273 <tr>
12274 <td class="paramkey"></td>
12275 <td></td>
12276 <td class="paramtype">const char *&#160;</td>
12277 <td class="paramname"><em>file</em>, </td>
12278 </tr>
12279 <tr>
12280 <td class="paramkey"></td>
12281 <td></td>
12282 <td class="paramtype">const int&#160;</td>
12283 <td class="paramname"><em>line</em>, </td>
12284 </tr>
12285 <tr>
12286 <td class="paramkey"></td>
12287 <td></td>
12288 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12289 <td class="paramname"><em>tensor</em>, </td>
12290 </tr>
12291 <tr>
12292 <td class="paramkey"></td>
12293 <td></td>
12294 <td class="paramtype">Ts...&#160;</td>
12295 <td class="paramname"><em>tensors</em>&#160;</td>
12296 </tr>
12297 <tr>
12298 <td></td>
12299 <td>)</td>
12300 <td></td><td></td>
12301 </tr>
12302 </table>
12303 </td>
12304 <td class="mlabels-right">
12305<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12306 </tr>
12307</table>
12308</div><div class="memdoc">
12309
12310<p>Return an error if the passed tensors have different data layouts. </p>
12311<dl class="params"><dt>Parameters</dt><dd>
12312 <table class="params">
12313 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12314 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12315 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12316 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
12317 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
12318 </table>
12319 </dd>
12320</dl>
12321<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>
12322
Jenkinsb9abeae2018-11-22 11:58:08 +000012323<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010012324
Jenkinsb9abeae2018-11-22 11:58:08 +000012325<p class="reference">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>
12326<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#a069d7a20d1a7d62042f23039b356113b">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#a8355d6db4cebee2724bf4463076526c6">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="_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>
Jenkins52ba29e2018-08-29 15:32:11 +000012327<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012328<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000012329<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012330<div class="ttc" id="namespacearm__compute_xhtml_a8355d6db4cebee2724bf4463076526c6"><div class="ttname"><a href="namespacearm__compute.xhtml#a8355d6db4cebee2724bf4463076526c6">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010012331</div><!-- fragment -->
12332</div>
12333</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012334<a id="a85c38583df1a7998d58c51f7c3d4b354"></a>
12335<h2 class="memtitle"><span class="permalink"><a href="#a85c38583df1a7998d58c51f7c3d4b354">&#9670;&nbsp;</a></span>error_on_mismatching_data_types() <span class="overload">[1/2]</span></h2>
12336
Anthony Barbier871448e2017-03-24 14:54:29 +000012337<div class="memitem">
12338<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012339<table class="mlabels">
12340 <tr>
12341 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000012342 <table class="memname">
12343 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012344 <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 +000012345 <td>(</td>
12346 <td class="paramtype">const char *&#160;</td>
12347 <td class="paramname"><em>function</em>, </td>
12348 </tr>
12349 <tr>
12350 <td class="paramkey"></td>
12351 <td></td>
12352 <td class="paramtype">const char *&#160;</td>
12353 <td class="paramname"><em>file</em>, </td>
12354 </tr>
12355 <tr>
12356 <td class="paramkey"></td>
12357 <td></td>
12358 <td class="paramtype">const int&#160;</td>
12359 <td class="paramname"><em>line</em>, </td>
12360 </tr>
12361 <tr>
12362 <td class="paramkey"></td>
12363 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012364 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12365 <td class="paramname"><em>tensor_info</em>, </td>
12366 </tr>
12367 <tr>
12368 <td class="paramkey"></td>
12369 <td></td>
12370 <td class="paramtype">Ts...&#160;</td>
12371 <td class="paramname"><em>tensor_infos</em>&#160;</td>
12372 </tr>
12373 <tr>
12374 <td></td>
12375 <td>)</td>
12376 <td></td><td></td>
12377 </tr>
12378 </table>
12379 </td>
12380 <td class="mlabels-right">
12381<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12382 </tr>
12383</table>
12384</div><div class="memdoc">
12385
12386<p>Return an error if the passed two tensor infos have different data types. </p>
12387<dl class="params"><dt>Parameters</dt><dd>
12388 <table class="params">
12389 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12390 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12391 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12392 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
12393 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
12394 </table>
12395 </dd>
12396</dl>
12397<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>
12398
Jenkinsb9abeae2018-11-22 11:58:08 +000012399<p class="definition">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 +000012400
Jenkinsb9abeae2018-11-22 11:58:08 +000012401<p class="reference">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 +000012402
Jenkinsb9abeae2018-11-22 11:58:08 +000012403<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00534">error_on_mismatching_data_types()</a>.</p>
12404<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#a069d7a20d1a7d62042f23039b356113b">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>
Jenkins52ba29e2018-08-29 15:32:11 +000012405<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>
12406<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012407<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000012408<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012409<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#l00074">Types.h:74</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012410</div><!-- fragment -->
12411</div>
12412</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012413<a id="aa8b68ddd24c352a4cdd4fb1eea263429"></a>
12414<h2 class="memtitle"><span class="permalink"><a href="#aa8b68ddd24c352a4cdd4fb1eea263429">&#9670;&nbsp;</a></span>error_on_mismatching_data_types() <span class="overload">[2/2]</span></h2>
12415
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012416<div class="memitem">
12417<div class="memproto">
12418<table class="mlabels">
12419 <tr>
12420 <td class="mlabels-left">
12421 <table class="memname">
12422 <tr>
12423 <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>
12424 <td>(</td>
12425 <td class="paramtype">const char *&#160;</td>
12426 <td class="paramname"><em>function</em>, </td>
12427 </tr>
12428 <tr>
12429 <td class="paramkey"></td>
12430 <td></td>
12431 <td class="paramtype">const char *&#160;</td>
12432 <td class="paramname"><em>file</em>, </td>
12433 </tr>
12434 <tr>
12435 <td class="paramkey"></td>
12436 <td></td>
12437 <td class="paramtype">const int&#160;</td>
12438 <td class="paramname"><em>line</em>, </td>
12439 </tr>
12440 <tr>
12441 <td class="paramkey"></td>
12442 <td></td>
12443 <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 +010012444 <td class="paramname"><em>tensor</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012445 </tr>
12446 <tr>
12447 <td class="paramkey"></td>
12448 <td></td>
12449 <td class="paramtype">Ts...&#160;</td>
12450 <td class="paramname"><em>tensors</em>&#160;</td>
12451 </tr>
12452 <tr>
12453 <td></td>
12454 <td>)</td>
12455 <td></td><td></td>
12456 </tr>
12457 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012458 </td>
12459 <td class="mlabels-right">
12460<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12461 </tr>
12462</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000012463</div><div class="memdoc">
12464
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012465<p>Return an error if the passed two tensors have different data types. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012466<dl class="params"><dt>Parameters</dt><dd>
12467 <table class="params">
12468 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12469 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12470 <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 +010012471 <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 +000012472 <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 +000012473 </table>
12474 </dd>
12475</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012476<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 +000012477
Jenkinsb9abeae2018-11-22 11:58:08 +000012478<p class="definition">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 +000012479
Jenkinsb9abeae2018-11-22 11:58:08 +000012480<p class="reference">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>
12481<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#a069d7a20d1a7d62042f23039b356113b">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#a85c38583df1a7998d58c51f7c3d4b354">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="_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>
Jenkins52ba29e2018-08-29 15:32:11 +000012482<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012483<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000012484<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012485<div class="ttc" id="namespacearm__compute_xhtml_a85c38583df1a7998d58c51f7c3d4b354"><div class="ttname"><a href="namespacearm__compute.xhtml#a85c38583df1a7998d58c51f7c3d4b354">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 +010012486</div><!-- fragment -->
12487</div>
12488</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012489<a id="a632c1b33a482f7126de4aca221542b64"></a>
12490<h2 class="memtitle"><span class="permalink"><a href="#a632c1b33a482f7126de4aca221542b64">&#9670;&nbsp;</a></span>error_on_mismatching_dimensions()</h2>
12491
Anthony Barbierdbdab852017-06-23 15:42:00 +010012492<div class="memitem">
12493<div class="memproto">
12494 <table class="memname">
12495 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012496 <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 +010012497 <td>(</td>
12498 <td class="paramtype">const char *&#160;</td>
12499 <td class="paramname"><em>function</em>, </td>
12500 </tr>
12501 <tr>
12502 <td class="paramkey"></td>
12503 <td></td>
12504 <td class="paramtype">const char *&#160;</td>
12505 <td class="paramname"><em>file</em>, </td>
12506 </tr>
12507 <tr>
12508 <td class="paramkey"></td>
12509 <td></td>
12510 <td class="paramtype">int&#160;</td>
12511 <td class="paramname"><em>line</em>, </td>
12512 </tr>
12513 <tr>
12514 <td class="paramkey"></td>
12515 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012516 <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 +010012517 <td class="paramname"><em>dim1</em>, </td>
12518 </tr>
12519 <tr>
12520 <td class="paramkey"></td>
12521 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012522 <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 +010012523 <td class="paramname"><em>dim2</em>, </td>
12524 </tr>
12525 <tr>
12526 <td class="paramkey"></td>
12527 <td></td>
12528 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
12529 <td class="paramname"><em>dims</em>&#160;</td>
12530 </tr>
12531 <tr>
12532 <td></td>
12533 <td>)</td>
12534 <td></td><td></td>
12535 </tr>
12536 </table>
12537</div><div class="memdoc">
12538
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012539<p>Return an error if the passed dimension objects differ. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012540<dl class="params"><dt>Parameters</dt><dd>
12541 <table class="params">
12542 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12543 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12544 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12545 <tr><td class="paramdir">[in]</td><td class="paramname">dim1</td><td>The first object to be compared. </td></tr>
12546 <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 +000012547 <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 +010012548 </table>
12549 </dd>
12550</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012551<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 +010012552
Jenkinsb9abeae2018-11-22 11:58:08 +000012553<p class="definition">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 +010012554
Jenkinsb9abeae2018-11-22 11:58:08 +000012555<p class="reference">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>
12556<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#a7955712fcb1027a92679cf656e9394cb">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>
Jenkins52ba29e2018-08-29 15:32:11 +000012557<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012558<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a7955712fcb1027a92679cf656e9394cb"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a7955712fcb1027a92679cf656e9394cb">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 +010012559</div><!-- fragment -->
12560</div>
12561</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012562<a id="a49e1fb8719a6e3b4db298796bdeac758"></a>
12563<h2 class="memtitle"><span class="permalink"><a href="#a49e1fb8719a6e3b4db298796bdeac758">&#9670;&nbsp;</a></span>error_on_mismatching_quantization_info() <span class="overload">[1/2]</span></h2>
12564
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012565<div class="memitem">
12566<div class="memproto">
12567<table class="mlabels">
12568 <tr>
12569 <td class="mlabels-left">
12570 <table class="memname">
12571 <tr>
12572 <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>
12573 <td>(</td>
12574 <td class="paramtype">const char *&#160;</td>
12575 <td class="paramname"><em>function</em>, </td>
12576 </tr>
12577 <tr>
12578 <td class="paramkey"></td>
12579 <td></td>
12580 <td class="paramtype">const char *&#160;</td>
12581 <td class="paramname"><em>file</em>, </td>
12582 </tr>
12583 <tr>
12584 <td class="paramkey"></td>
12585 <td></td>
12586 <td class="paramtype">const int&#160;</td>
12587 <td class="paramname"><em>line</em>, </td>
12588 </tr>
12589 <tr>
12590 <td class="paramkey"></td>
12591 <td></td>
12592 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12593 <td class="paramname"><em>tensor_info_1</em>, </td>
12594 </tr>
12595 <tr>
12596 <td class="paramkey"></td>
12597 <td></td>
12598 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12599 <td class="paramname"><em>tensor_info_2</em>, </td>
12600 </tr>
12601 <tr>
12602 <td class="paramkey"></td>
12603 <td></td>
12604 <td class="paramtype">Ts...&#160;</td>
12605 <td class="paramname"><em>tensor_infos</em>&#160;</td>
12606 </tr>
12607 <tr>
12608 <td></td>
12609 <td>)</td>
12610 <td></td><td></td>
12611 </tr>
12612 </table>
12613 </td>
12614 <td class="mlabels-right">
12615<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12616 </tr>
12617</table>
12618</div><div class="memdoc">
12619
12620<p>Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. </p>
12621<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>
12622<dl class="params"><dt>Parameters</dt><dd>
12623 <table class="params">
12624 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12625 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12626 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12627 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
12628 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
12629 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
12630 </table>
12631 </dd>
12632</dl>
12633<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>
12634
Jenkinsb9abeae2018-11-22 11:58:08 +000012635<p class="definition">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 +000012636
Jenkinsb9abeae2018-11-22 11:58:08 +000012637<p class="reference">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#l00996">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 +000012638
Jenkinsb9abeae2018-11-22 11:58:08 +000012639<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00601">error_on_mismatching_quantization_info()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000012640<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>
12641<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012642<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#l00996">Utils.h:996</a></div></div>
12643<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#l00074">Types.h:74</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012644</div><!-- fragment -->
12645</div>
12646</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012647<a id="a3ba911901c6a47649cba6884e0f43a18"></a>
12648<h2 class="memtitle"><span class="permalink"><a href="#a3ba911901c6a47649cba6884e0f43a18">&#9670;&nbsp;</a></span>error_on_mismatching_quantization_info() <span class="overload">[2/2]</span></h2>
12649
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012650<div class="memitem">
12651<div class="memproto">
12652<table class="mlabels">
12653 <tr>
12654 <td class="mlabels-left">
12655 <table class="memname">
12656 <tr>
12657 <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>
12658 <td>(</td>
12659 <td class="paramtype">const char *&#160;</td>
12660 <td class="paramname"><em>function</em>, </td>
12661 </tr>
12662 <tr>
12663 <td class="paramkey"></td>
12664 <td></td>
12665 <td class="paramtype">const char *&#160;</td>
12666 <td class="paramname"><em>file</em>, </td>
12667 </tr>
12668 <tr>
12669 <td class="paramkey"></td>
12670 <td></td>
12671 <td class="paramtype">const int&#160;</td>
12672 <td class="paramname"><em>line</em>, </td>
12673 </tr>
12674 <tr>
12675 <td class="paramkey"></td>
12676 <td></td>
12677 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12678 <td class="paramname"><em>tensor_1</em>, </td>
12679 </tr>
12680 <tr>
12681 <td class="paramkey"></td>
12682 <td></td>
12683 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12684 <td class="paramname"><em>tensor_2</em>, </td>
12685 </tr>
12686 <tr>
12687 <td class="paramkey"></td>
12688 <td></td>
12689 <td class="paramtype">Ts...&#160;</td>
12690 <td class="paramname"><em>tensors</em>&#160;</td>
12691 </tr>
12692 <tr>
12693 <td></td>
12694 <td>)</td>
12695 <td></td><td></td>
12696 </tr>
12697 </table>
12698 </td>
12699 <td class="mlabels-right">
12700<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12701 </tr>
12702</table>
12703</div><div class="memdoc">
12704
12705<p>Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. </p>
12706<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>
12707<dl class="params"><dt>Parameters</dt><dd>
12708 <table class="params">
12709 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12710 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12711 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12712 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
12713 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
12714 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
12715 </table>
12716 </dd>
12717</dl>
12718<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>
12719
Jenkinsb9abeae2018-11-22 11:58:08 +000012720<p class="definition">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 +000012721
Jenkinsb9abeae2018-11-22 11:58:08 +000012722<p class="reference">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>
12723<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#a49e1fb8719a6e3b4db298796bdeac758">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="_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>
Jenkins52ba29e2018-08-29 15:32:11 +000012724<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012725<div class="ttc" id="namespacearm__compute_xhtml_a49e1fb8719a6e3b4db298796bdeac758"><div class="ttname"><a href="namespacearm__compute.xhtml#a49e1fb8719a6e3b4db298796bdeac758">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012726</div><!-- fragment -->
12727</div>
12728</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012729<a id="a900072ec18ac254db40901425e2b35b2"></a>
12730<h2 class="memtitle"><span class="permalink"><a href="#a900072ec18ac254db40901425e2b35b2">&#9670;&nbsp;</a></span>error_on_mismatching_shapes() <span class="overload">[1/4]</span></h2>
12731
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012732<div class="memitem">
12733<div class="memproto">
12734<table class="mlabels">
12735 <tr>
12736 <td class="mlabels-left">
12737 <table class="memname">
12738 <tr>
12739 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
12740 <td>(</td>
12741 <td class="paramtype">const char *&#160;</td>
12742 <td class="paramname"><em>function</em>, </td>
12743 </tr>
12744 <tr>
12745 <td class="paramkey"></td>
12746 <td></td>
12747 <td class="paramtype">const char *&#160;</td>
12748 <td class="paramname"><em>file</em>, </td>
12749 </tr>
12750 <tr>
12751 <td class="paramkey"></td>
12752 <td></td>
12753 <td class="paramtype">const int&#160;</td>
12754 <td class="paramname"><em>line</em>, </td>
12755 </tr>
12756 <tr>
12757 <td class="paramkey"></td>
12758 <td></td>
12759 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12760 <td class="paramname"><em>tensor_info_1</em>, </td>
12761 </tr>
12762 <tr>
12763 <td class="paramkey"></td>
12764 <td></td>
12765 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12766 <td class="paramname"><em>tensor_info_2</em>, </td>
12767 </tr>
12768 <tr>
12769 <td class="paramkey"></td>
12770 <td></td>
12771 <td class="paramtype">Ts...&#160;</td>
12772 <td class="paramname"><em>tensor_infos</em>&#160;</td>
12773 </tr>
12774 <tr>
12775 <td></td>
12776 <td>)</td>
12777 <td></td><td></td>
12778 </tr>
12779 </table>
12780 </td>
12781 <td class="mlabels-right">
12782<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12783 </tr>
12784</table>
12785</div><div class="memdoc">
12786
12787<p>Return an error if the passed two tensor infos have different shapes from the given dimension. </p>
12788<dl class="params"><dt>Parameters</dt><dd>
12789 <table class="params">
12790 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12791 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12792 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12793 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
12794 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
12795 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
12796 </table>
12797 </dd>
12798</dl>
12799<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>
12800
Jenkinsb9abeae2018-11-22 11:58:08 +000012801<p class="definition">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 +000012802
Jenkinsb9abeae2018-11-22 11:58:08 +000012803<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012804
Jenkinsb9abeae2018-11-22 11:58:08 +000012805<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00385">error_on_mismatching_shapes()</a>.</p>
12806<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#a7a314d37a14fb002f52a148122238499">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_a7a314d37a14fb002f52a148122238499"><div class="ttname"><a href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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 +010012807</div><!-- fragment -->
12808</div>
12809</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012810<a id="a196a1a4faf1a8893963fd89d7efaf5d9"></a>
12811<h2 class="memtitle"><span class="permalink"><a href="#a196a1a4faf1a8893963fd89d7efaf5d9">&#9670;&nbsp;</a></span>error_on_mismatching_shapes() <span class="overload">[2/4]</span></h2>
12812
Anthony Barbierdbdab852017-06-23 15:42:00 +010012813<div class="memitem">
12814<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012815<table class="mlabels">
12816 <tr>
12817 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010012818 <table class="memname">
12819 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012820 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
12821 <td>(</td>
12822 <td class="paramtype">const char *&#160;</td>
12823 <td class="paramname"><em>function</em>, </td>
12824 </tr>
12825 <tr>
12826 <td class="paramkey"></td>
12827 <td></td>
12828 <td class="paramtype">const char *&#160;</td>
12829 <td class="paramname"><em>file</em>, </td>
12830 </tr>
12831 <tr>
12832 <td class="paramkey"></td>
12833 <td></td>
12834 <td class="paramtype">const int&#160;</td>
12835 <td class="paramname"><em>line</em>, </td>
12836 </tr>
12837 <tr>
12838 <td class="paramkey"></td>
12839 <td></td>
12840 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12841 <td class="paramname"><em>tensor_1</em>, </td>
12842 </tr>
12843 <tr>
12844 <td class="paramkey"></td>
12845 <td></td>
12846 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12847 <td class="paramname"><em>tensor_2</em>, </td>
12848 </tr>
12849 <tr>
12850 <td class="paramkey"></td>
12851 <td></td>
12852 <td class="paramtype">Ts...&#160;</td>
12853 <td class="paramname"><em>tensors</em>&#160;</td>
12854 </tr>
12855 <tr>
12856 <td></td>
12857 <td>)</td>
12858 <td></td><td></td>
12859 </tr>
12860 </table>
12861 </td>
12862 <td class="mlabels-right">
12863<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12864 </tr>
12865</table>
12866</div><div class="memdoc">
12867
12868<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
12869<dl class="params"><dt>Parameters</dt><dd>
12870 <table class="params">
12871 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12872 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12873 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12874 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
12875 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
12876 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
12877 </table>
12878 </dd>
12879</dl>
12880<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>
12881
Jenkinsb9abeae2018-11-22 11:58:08 +000012882<p class="definition">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 +000012883
Jenkinsb9abeae2018-11-22 11:58:08 +000012884<p class="reference">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>
12885<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#a7a314d37a14fb002f52a148122238499">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_a7a314d37a14fb002f52a148122238499"><div class="ttname"><a href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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 +000012886</div><!-- fragment -->
12887</div>
12888</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012889<a id="a8f08e05970c101f7a9c852dc036f5ffb"></a>
12890<h2 class="memtitle"><span class="permalink"><a href="#a8f08e05970c101f7a9c852dc036f5ffb">&#9670;&nbsp;</a></span>error_on_mismatching_shapes() <span class="overload">[3/4]</span></h2>
12891
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012892<div class="memitem">
12893<div class="memproto">
12894<table class="mlabels">
12895 <tr>
12896 <td class="mlabels-left">
12897 <table class="memname">
12898 <tr>
12899 <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 +010012900 <td>(</td>
12901 <td class="paramtype">const char *&#160;</td>
12902 <td class="paramname"><em>function</em>, </td>
12903 </tr>
12904 <tr>
12905 <td class="paramkey"></td>
12906 <td></td>
12907 <td class="paramtype">const char *&#160;</td>
12908 <td class="paramname"><em>file</em>, </td>
12909 </tr>
12910 <tr>
12911 <td class="paramkey"></td>
12912 <td></td>
12913 <td class="paramtype">const int&#160;</td>
12914 <td class="paramname"><em>line</em>, </td>
12915 </tr>
12916 <tr>
12917 <td class="paramkey"></td>
12918 <td></td>
12919 <td class="paramtype">unsigned int&#160;</td>
12920 <td class="paramname"><em>upper_dim</em>, </td>
12921 </tr>
12922 <tr>
12923 <td class="paramkey"></td>
12924 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012925 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12926 <td class="paramname"><em>tensor_info_1</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012927 </tr>
12928 <tr>
12929 <td class="paramkey"></td>
12930 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012931 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12932 <td class="paramname"><em>tensor_info_2</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012933 </tr>
12934 <tr>
12935 <td class="paramkey"></td>
12936 <td></td>
12937 <td class="paramtype">Ts...&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012938 <td class="paramname"><em>tensor_infos</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012939 </tr>
12940 <tr>
12941 <td></td>
12942 <td>)</td>
12943 <td></td><td></td>
12944 </tr>
12945 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012946 </td>
12947 <td class="mlabels-right">
12948<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12949 </tr>
12950</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012951</div><div class="memdoc">
12952
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012953<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012954<dl class="params"><dt>Parameters</dt><dd>
12955 <table class="params">
12956 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12957 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12958 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12959 <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 +000012960 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
12961 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
12962 <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 +010012963 </table>
12964 </dd>
12965</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012966<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 +010012967
Jenkinsb9abeae2018-11-22 11:58:08 +000012968<p class="definition">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 +010012969
Jenkinsb9abeae2018-11-22 11:58:08 +000012970<p class="reference">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>
12971<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#a069d7a20d1a7d62042f23039b356113b">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>
Jenkins52ba29e2018-08-29 15:32:11 +000012972<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>
12973<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000012974<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000012975<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 +010012976<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 +000012977</div><!-- fragment -->
12978</div>
12979</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000012980<a id="a7a314d37a14fb002f52a148122238499"></a>
12981<h2 class="memtitle"><span class="permalink"><a href="#a7a314d37a14fb002f52a148122238499">&#9670;&nbsp;</a></span>error_on_mismatching_shapes() <span class="overload">[4/4]</span></h2>
12982
Anthony Barbier871448e2017-03-24 14:54:29 +000012983<div class="memitem">
12984<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012985<table class="mlabels">
12986 <tr>
12987 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000012988 <table class="memname">
12989 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012990 <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 +000012991 <td>(</td>
12992 <td class="paramtype">const char *&#160;</td>
12993 <td class="paramname"><em>function</em>, </td>
12994 </tr>
12995 <tr>
12996 <td class="paramkey"></td>
12997 <td></td>
12998 <td class="paramtype">const char *&#160;</td>
12999 <td class="paramname"><em>file</em>, </td>
13000 </tr>
13001 <tr>
13002 <td class="paramkey"></td>
13003 <td></td>
13004 <td class="paramtype">const int&#160;</td>
13005 <td class="paramname"><em>line</em>, </td>
13006 </tr>
13007 <tr>
13008 <td class="paramkey"></td>
13009 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013010 <td class="paramtype">unsigned int&#160;</td>
13011 <td class="paramname"><em>upper_dim</em>, </td>
13012 </tr>
13013 <tr>
13014 <td class="paramkey"></td>
13015 <td></td>
13016 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
13017 <td class="paramname"><em>tensor_1</em>, </td>
13018 </tr>
13019 <tr>
13020 <td class="paramkey"></td>
13021 <td></td>
13022 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
13023 <td class="paramname"><em>tensor_2</em>, </td>
13024 </tr>
13025 <tr>
13026 <td class="paramkey"></td>
13027 <td></td>
13028 <td class="paramtype">Ts...&#160;</td>
13029 <td class="paramname"><em>tensors</em>&#160;</td>
13030 </tr>
13031 <tr>
13032 <td></td>
13033 <td>)</td>
13034 <td></td><td></td>
13035 </tr>
13036 </table>
13037 </td>
13038 <td class="mlabels-right">
13039<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13040 </tr>
13041</table>
13042</div><div class="memdoc">
13043
13044<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
13045<dl class="params"><dt>Parameters</dt><dd>
13046 <table class="params">
13047 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13048 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13049 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13050 <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
13051 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
13052 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
13053 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
13054 </table>
13055 </dd>
13056</dl>
13057<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>
13058
Jenkinsb9abeae2018-11-22 11:58:08 +000013059<p class="definition">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 +000013060
Jenkinsb9abeae2018-11-22 11:58:08 +000013061<p class="reference">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>
13062<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#a069d7a20d1a7d62042f23039b356113b">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#a900072ec18ac254db40901425e2b35b2">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="_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>
Jenkins52ba29e2018-08-29 15:32:11 +000013063<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013064<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000013065<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013066<div class="ttc" id="namespacearm__compute_xhtml_a900072ec18ac254db40901425e2b35b2"><div class="ttname"><a href="namespacearm__compute.xhtml#a900072ec18ac254db40901425e2b35b2">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013067</div><!-- fragment -->
13068</div>
13069</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013070<a id="ad7f5b38e9d5391afc4a5ce5702e7379b"></a>
13071<h2 class="memtitle"><span class="permalink"><a href="#ad7f5b38e9d5391afc4a5ce5702e7379b">&#9670;&nbsp;</a></span>error_on_mismatching_windows()</h2>
13072
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013073<div class="memitem">
13074<div class="memproto">
13075 <table class="memname">
13076 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000013077 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_mismatching_windows </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013078 <td>(</td>
13079 <td class="paramtype">const char *&#160;</td>
13080 <td class="paramname"><em>function</em>, </td>
13081 </tr>
13082 <tr>
13083 <td class="paramkey"></td>
13084 <td></td>
13085 <td class="paramtype">const char *&#160;</td>
13086 <td class="paramname"><em>file</em>, </td>
13087 </tr>
13088 <tr>
13089 <td class="paramkey"></td>
13090 <td></td>
13091 <td class="paramtype">const int&#160;</td>
13092 <td class="paramname"><em>line</em>, </td>
13093 </tr>
13094 <tr>
13095 <td class="paramkey"></td>
13096 <td></td>
13097 <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 +000013098 <td class="paramname"><em>full</em>, </td>
13099 </tr>
13100 <tr>
13101 <td class="paramkey"></td>
13102 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013103 <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 +000013104 <td class="paramname"><em>win</em>&#160;</td>
13105 </tr>
13106 <tr>
13107 <td></td>
13108 <td>)</td>
13109 <td></td><td></td>
13110 </tr>
13111 </table>
13112</div><div class="memdoc">
13113
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013114<p>Return an error if the passed window is invalid. </p>
13115<p>The subwindow is invalid if:</p><ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000013116<li>It is not a valid window.</li>
13117<li>Its dimensions don't match the full window's ones</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013118<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
13119</ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000013120<dl class="params"><dt>Parameters</dt><dd>
13121 <table class="params">
13122 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13123 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13124 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13125 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013126 <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 +000013127 </table>
13128 </dd>
13129</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013130<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 +000013131
Jenkinsb9abeae2018-11-22 11:58:08 +000013132<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00026">26</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
13133
13134<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</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>
13135<div class="fragment"><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; full.validate();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; win.validate();</div><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; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><div class="line"><a name="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#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].start() != win[i].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].end() != win[i].end(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].step() != win[i].step(), <span class="keyword">function</span>, file, line);</div><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; <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="l00039"></a><span class="lineno"> 39</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>
13136<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>
13137<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions&lt; int &gt;::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
13138</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013139</div>
13140</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013141<a id="a069d7a20d1a7d62042f23039b356113b"></a>
13142<h2 class="memtitle"><span class="permalink"><a href="#a069d7a20d1a7d62042f23039b356113b">&#9670;&nbsp;</a></span>error_on_nullptr()</h2>
13143
Anthony Barbierdbdab852017-06-23 15:42:00 +010013144<div class="memitem">
13145<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013146<table class="mlabels">
13147 <tr>
13148 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010013149 <table class="memname">
13150 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013151 <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 +010013152 <td>(</td>
13153 <td class="paramtype">const char *&#160;</td>
13154 <td class="paramname"><em>function</em>, </td>
13155 </tr>
13156 <tr>
13157 <td class="paramkey"></td>
13158 <td></td>
13159 <td class="paramtype">const char *&#160;</td>
13160 <td class="paramname"><em>file</em>, </td>
13161 </tr>
13162 <tr>
13163 <td class="paramkey"></td>
13164 <td></td>
13165 <td class="paramtype">const int&#160;</td>
13166 <td class="paramname"><em>line</em>, </td>
13167 </tr>
13168 <tr>
13169 <td class="paramkey"></td>
13170 <td></td>
13171 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
13172 <td class="paramname"><em>pointers</em>&#160;</td>
13173 </tr>
13174 <tr>
13175 <td></td>
13176 <td>)</td>
13177 <td></td><td></td>
13178 </tr>
13179 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013180 </td>
13181 <td class="mlabels-right">
13182<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13183 </tr>
13184</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013185</div><div class="memdoc">
13186
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013187<p>Create an error if one of the pointers is a nullptr. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013188<dl class="params"><dt>Parameters</dt><dd>
13189 <table class="params">
13190 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13191 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13192 <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 +000013193 <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 +010013194 </table>
13195 </dd>
13196</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013197<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 +010013198
Jenkinsb9abeae2018-11-22 11:58:08 +000013199<p class="definition">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 +010013200
Jenkinsb9abeae2018-11-22 11:58:08 +000013201<p class="reference">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 +000013202
Jenkinsb9abeae2018-11-22 11:58:08 +000013203<p class="reference">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 +000013204<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>
13205<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 +010013206</div><!-- fragment -->
13207</div>
13208</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013209<a id="a398f32595ee55b858853d5bcdcacfef5"></a>
13210<h2 class="memtitle"><span class="permalink"><a href="#a398f32595ee55b858853d5bcdcacfef5">&#9670;&nbsp;</a></span>error_on_tensor_not_2d() <span class="overload">[1/2]</span></h2>
13211
Anthony Barbier871448e2017-03-24 14:54:29 +000013212<div class="memitem">
13213<div class="memproto">
13214 <table class="memname">
13215 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000013216 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_tensor_not_2d </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013217 <td>(</td>
13218 <td class="paramtype">const char *&#160;</td>
13219 <td class="paramname"><em>function</em>, </td>
13220 </tr>
13221 <tr>
13222 <td class="paramkey"></td>
13223 <td></td>
13224 <td class="paramtype">const char *&#160;</td>
13225 <td class="paramname"><em>file</em>, </td>
13226 </tr>
13227 <tr>
13228 <td class="paramkey"></td>
13229 <td></td>
13230 <td class="paramtype">const int&#160;</td>
13231 <td class="paramname"><em>line</em>, </td>
13232 </tr>
13233 <tr>
13234 <td class="paramkey"></td>
13235 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013236 <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 +000013237 <td class="paramname"><em>tensor</em>&#160;</td>
13238 </tr>
13239 <tr>
13240 <td></td>
13241 <td>)</td>
13242 <td></td><td></td>
13243 </tr>
13244 </table>
13245</div><div class="memdoc">
13246
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013247<p>Return an error if the tensor is not 2D. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013248<dl class="params"><dt>Parameters</dt><dd>
13249 <table class="params">
13250 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13251 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13252 <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 +000013253 <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 +000013254 </table>
13255 </dd>
13256</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013257<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 +000013258
Jenkinsb9abeae2018-11-22 11:58:08 +000013259<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00092">92</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000013260
Jenkinsb9abeae2018-11-22 11:58:08 +000013261<p class="reference">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.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>.</p>
13262
13263<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00823">error_on_unsupported_fp16()</a>.</p>
13264<div class="fragment"><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; <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="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor-&gt;info() == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor-&gt;info()-&gt;num_dimensions() != 2,</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="stringliteral">&quot;Only 2D Tensors are supported by this kernel (%d passed)&quot;</span>, tensor-&gt;info()-&gt;num_dimensions());</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</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="l00101"></a><span class="lineno"> 101</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>
13265<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>
13266<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>
13267</div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000013268</div>
13269</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013270<a id="aa394a6ffa74616f886c889f04883663d"></a>
13271<h2 class="memtitle"><span class="permalink"><a href="#aa394a6ffa74616f886c889f04883663d">&#9670;&nbsp;</a></span>error_on_tensor_not_2d() <span class="overload">[2/2]</span></h2>
13272
Jenkins52ba29e2018-08-29 15:32:11 +000013273<div class="memitem">
13274<div class="memproto">
13275 <table class="memname">
13276 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000013277 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_tensor_not_2d </td>
Jenkins52ba29e2018-08-29 15:32:11 +000013278 <td>(</td>
13279 <td class="paramtype">const char *&#160;</td>
13280 <td class="paramname"><em>function</em>, </td>
13281 </tr>
13282 <tr>
13283 <td class="paramkey"></td>
13284 <td></td>
13285 <td class="paramtype">const char *&#160;</td>
13286 <td class="paramname"><em>file</em>, </td>
13287 </tr>
13288 <tr>
13289 <td class="paramkey"></td>
13290 <td></td>
13291 <td class="paramtype">const int&#160;</td>
13292 <td class="paramname"><em>line</em>, </td>
13293 </tr>
13294 <tr>
13295 <td class="paramkey"></td>
13296 <td></td>
13297 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
13298 <td class="paramname"><em>tensor</em>&#160;</td>
13299 </tr>
13300 <tr>
13301 <td></td>
13302 <td>)</td>
13303 <td></td><td></td>
13304 </tr>
13305 </table>
13306</div><div class="memdoc">
13307
13308<p>Return an error if the tensor info is not 2D. </p>
13309<dl class="params"><dt>Parameters</dt><dd>
13310 <table class="params">
13311 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13312 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13313 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13314 <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>
13315 </table>
13316 </dd>
13317</dl>
13318<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>
13319
Jenkinsb9abeae2018-11-22 11:58:08 +000013320<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00103">103</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
13321
13322<p class="reference">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>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>.</p>
13323<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</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="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor-&gt;num_dimensions() != 2,</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="stringliteral">&quot;Only 2D Tensors are supported by this kernel (%d passed)&quot;</span>, tensor-&gt;num_dimensions());</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</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>
13324<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>
13325<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>
13326</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013327</div>
13328</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013329<a id="aa8bcb895249c9b0207df5d6512433aab"></a>
13330<h2 class="memtitle"><span class="permalink"><a href="#aa8bcb895249c9b0207df5d6512433aab">&#9670;&nbsp;</a></span>error_on_tensors_not_even()</h2>
13331
Anthony Barbier06ea0482018-02-22 15:45:35 +000013332<div class="memitem">
13333<div class="memproto">
13334 <table class="memname">
13335 <tr>
13336 <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>
13337 <td>(</td>
13338 <td class="paramtype">const char *&#160;</td>
13339 <td class="paramname"><em>function</em>, </td>
13340 </tr>
13341 <tr>
13342 <td class="paramkey"></td>
13343 <td></td>
13344 <td class="paramtype">const char *&#160;</td>
13345 <td class="paramname"><em>file</em>, </td>
13346 </tr>
13347 <tr>
13348 <td class="paramkey"></td>
13349 <td></td>
13350 <td class="paramtype">int&#160;</td>
13351 <td class="paramname"><em>line</em>, </td>
13352 </tr>
13353 <tr>
13354 <td class="paramkey"></td>
13355 <td></td>
13356 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
13357 <td class="paramname"><em>format</em>, </td>
13358 </tr>
13359 <tr>
13360 <td class="paramkey"></td>
13361 <td></td>
13362 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
13363 <td class="paramname"><em>tensor1</em>, </td>
13364 </tr>
13365 <tr>
13366 <td class="paramkey"></td>
13367 <td></td>
13368 <td class="paramtype">Ts...&#160;</td>
13369 <td class="paramname"><em>tensors</em>&#160;</td>
13370 </tr>
13371 <tr>
13372 <td></td>
13373 <td>)</td>
13374 <td></td><td></td>
13375 </tr>
13376 </table>
13377</div><div class="memdoc">
13378
13379<p>Return an error if the passed tensor objects are not even. </p>
13380<dl class="params"><dt>Parameters</dt><dd>
13381 <table class="params">
13382 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13383 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13384 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13385 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to check if odd shape is allowed </td></tr>
13386 <tr><td class="paramdir">[in]</td><td class="paramname">tensor1</td><td>The first object to be compared for odd shape. </td></tr>
13387 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed objects.</td></tr>
13388 </table>
13389 </dd>
13390</dl>
13391<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>
13392
Jenkinsb9abeae2018-11-22 11:58:08 +000013393<p class="definition">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 +000013394
Jenkinsb9abeae2018-11-22 11:58:08 +000013395<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">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>
13396<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#a069d7a20d1a7d62042f23039b356113b">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>
Jenkins52ba29e2018-08-29 15:32:11 +000013397<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>
13398<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013399<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000013400<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 +000013401<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013402<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#l00647">Utils.h:647</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013403</div><!-- fragment -->
13404</div>
13405</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013406<a id="a5865def3a35885dda73dd5f4d555d11c"></a>
13407<h2 class="memtitle"><span class="permalink"><a href="#a5865def3a35885dda73dd5f4d555d11c">&#9670;&nbsp;</a></span>error_on_tensors_not_subsampled()</h2>
13408
Jenkinsb3a371b2018-05-23 11:36:53 +010013409<div class="memitem">
13410<div class="memproto">
13411 <table class="memname">
13412 <tr>
13413 <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>
13414 <td>(</td>
13415 <td class="paramtype">const char *&#160;</td>
13416 <td class="paramname"><em>function</em>, </td>
13417 </tr>
13418 <tr>
13419 <td class="paramkey"></td>
13420 <td></td>
13421 <td class="paramtype">const char *&#160;</td>
13422 <td class="paramname"><em>file</em>, </td>
13423 </tr>
13424 <tr>
13425 <td class="paramkey"></td>
13426 <td></td>
13427 <td class="paramtype">int&#160;</td>
13428 <td class="paramname"><em>line</em>, </td>
13429 </tr>
13430 <tr>
13431 <td class="paramkey"></td>
13432 <td></td>
13433 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
13434 <td class="paramname"><em>format</em>, </td>
13435 </tr>
13436 <tr>
13437 <td class="paramkey"></td>
13438 <td></td>
13439 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
13440 <td class="paramname"><em>shape</em>, </td>
13441 </tr>
13442 <tr>
13443 <td class="paramkey"></td>
13444 <td></td>
13445 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
13446 <td class="paramname"><em>tensor1</em>, </td>
13447 </tr>
13448 <tr>
13449 <td class="paramkey"></td>
13450 <td></td>
13451 <td class="paramtype">Ts...&#160;</td>
13452 <td class="paramname"><em>tensors</em>&#160;</td>
13453 </tr>
13454 <tr>
13455 <td></td>
13456 <td>)</td>
13457 <td></td><td></td>
13458 </tr>
13459 </table>
13460</div><div class="memdoc">
13461
13462<p>Return an error if the passed tensor objects are not sub-sampled. </p>
13463<dl class="params"><dt>Parameters</dt><dd>
13464 <table class="params">
13465 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13466 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13467 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13468 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to check if sub-sampling allowed. </td></tr>
13469 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>The tensor shape to calculate sub-sampling from. </td></tr>
13470 <tr><td class="paramdir">[in]</td><td class="paramname">tensor1</td><td>The first object to be compared. </td></tr>
13471 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed objects.</td></tr>
13472 </table>
13473 </dd>
13474</dl>
13475<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>
13476
Jenkinsb9abeae2018-11-22 11:58:08 +000013477<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010013478
Jenkinsb9abeae2018-11-22 11:58:08 +000013479<p class="reference">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#l00674">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>
13480<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#a069d7a20d1a7d62042f23039b356113b">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>
Jenkins52ba29e2018-08-29 15:32:11 +000013481<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013482<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#l00674">Utils.h:674</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000013483<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>
13484<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013485<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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 +000013486<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 +010013487<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 +000013488</div><!-- fragment -->
13489</div>
13490</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013491<a id="acd11fc94aa2828fee0715de0297eb306"></a>
13492<h2 class="memtitle"><span class="permalink"><a href="#acd11fc94aa2828fee0715de0297eb306">&#9670;&nbsp;</a></span>error_on_unconfigured_kernel()</h2>
13493
Anthony Barbier871448e2017-03-24 14:54:29 +000013494<div class="memitem">
13495<div class="memproto">
13496 <table class="memname">
13497 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000013498 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_unconfigured_kernel </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013499 <td>(</td>
13500 <td class="paramtype">const char *&#160;</td>
13501 <td class="paramname"><em>function</em>, </td>
13502 </tr>
13503 <tr>
13504 <td class="paramkey"></td>
13505 <td></td>
13506 <td class="paramtype">const char *&#160;</td>
13507 <td class="paramname"><em>file</em>, </td>
13508 </tr>
13509 <tr>
13510 <td class="paramkey"></td>
13511 <td></td>
13512 <td class="paramtype">const int&#160;</td>
13513 <td class="paramname"><em>line</em>, </td>
13514 </tr>
13515 <tr>
13516 <td class="paramkey"></td>
13517 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013518 <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 +000013519 <td class="paramname"><em>kernel</em>&#160;</td>
13520 </tr>
13521 <tr>
13522 <td></td>
13523 <td>)</td>
13524 <td></td><td></td>
13525 </tr>
13526 </table>
13527</div><div class="memdoc">
13528
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013529<p>Return an error if the kernel is not configured. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013530<dl class="params"><dt>Parameters</dt><dd>
13531 <table class="params">
13532 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13533 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13534 <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 +010013535 <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 +000013536 </table>
13537 </dd>
13538</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +010013539<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 +000013540
Jenkinsb9abeae2018-11-22 11:58:08 +000013541<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00166">166</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
13542
13543<p class="reference">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="_window_8h_source.xhtml#l00090">Window::Dimension::end()</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="_i_kernel_8cpp_source.xhtml#l00028">IKernel::window()</a>, and <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>.</p>
13544<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(kernel == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((kernel-&gt;window().x().start() == kernel-&gt;window().x().end()) &amp;&amp; (kernel-&gt;window().x().end() == 0) &amp;&amp; (kernel-&gt;window().x().step() == 0),</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="stringliteral">&quot;This kernel hasn&#39;t been configured.&quot;</span>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</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>
13545<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>
13546<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>
13547</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013548</div>
13549</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013550<a id="a8e79316e933e15539e39cace39ba0e35"></a>
13551<h2 class="memtitle"><span class="permalink"><a href="#a8e79316e933e15539e39cace39ba0e35">&#9670;&nbsp;</a></span>error_on_unsupported_cpu_fp16() <span class="overload">[1/2]</span></h2>
13552
Anthony Barbierdbdab852017-06-23 15:42:00 +010013553<div class="memitem">
13554<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013555<table class="mlabels">
13556 <tr>
13557 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010013558 <table class="memname">
13559 <tr>
Jenkins52ba29e2018-08-29 15:32:11 +000013560 <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 +010013561 <td>(</td>
13562 <td class="paramtype">const char *&#160;</td>
13563 <td class="paramname"><em>function</em>, </td>
13564 </tr>
13565 <tr>
13566 <td class="paramkey"></td>
13567 <td></td>
13568 <td class="paramtype">const char *&#160;</td>
13569 <td class="paramname"><em>file</em>, </td>
13570 </tr>
13571 <tr>
13572 <td class="paramkey"></td>
13573 <td></td>
Jenkins52ba29e2018-08-29 15:32:11 +000013574 <td class="paramtype">const int&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013575 <td class="paramname"><em>line</em>, </td>
13576 </tr>
13577 <tr>
13578 <td class="paramkey"></td>
13579 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013580 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
13581 <td class="paramname"><em>tensor_info</em>&#160;</td>
13582 </tr>
13583 <tr>
13584 <td></td>
13585 <td>)</td>
13586 <td></td><td></td>
13587 </tr>
13588 </table>
13589 </td>
13590 <td class="mlabels-right">
13591<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13592 </tr>
13593</table>
13594</div><div class="memdoc">
13595
Jenkins52ba29e2018-08-29 15:32:11 +000013596<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 +000013597<dl class="params"><dt>Parameters</dt><dd>
13598 <table class="params">
13599 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13600 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13601 <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 +000013602 <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 +000013603 </table>
13604 </dd>
13605</dl>
13606<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>
13607
Jenkinsb9abeae2018-11-22 11:58:08 +000013608<p class="definition">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 +000013609
Jenkinsb9abeae2018-11-22 11:58:08 +000013610<p class="reference">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 +000013611
Jenkinsb9abeae2018-11-22 11:58:08 +000013612<p class="reference">Referenced by <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">error_on_unsupported_cpu_fp16()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000013613<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>
13614<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>
13615<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 +000013616</div><!-- fragment -->
13617</div>
13618</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013619<a id="af2619085e2d6192b99df91fd805d8d30"></a>
13620<h2 class="memtitle"><span class="permalink"><a href="#af2619085e2d6192b99df91fd805d8d30">&#9670;&nbsp;</a></span>error_on_unsupported_cpu_fp16() <span class="overload">[2/2]</span></h2>
13621
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013622<div class="memitem">
13623<div class="memproto">
13624<table class="mlabels">
13625 <tr>
13626 <td class="mlabels-left">
13627 <table class="memname">
13628 <tr>
Jenkins52ba29e2018-08-29 15:32:11 +000013629 <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 +000013630 <td>(</td>
13631 <td class="paramtype">const char *&#160;</td>
13632 <td class="paramname"><em>function</em>, </td>
13633 </tr>
13634 <tr>
13635 <td class="paramkey"></td>
13636 <td></td>
13637 <td class="paramtype">const char *&#160;</td>
13638 <td class="paramname"><em>file</em>, </td>
13639 </tr>
13640 <tr>
13641 <td class="paramkey"></td>
13642 <td></td>
Jenkins52ba29e2018-08-29 15:32:11 +000013643 <td class="paramtype">const int&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013644 <td class="paramname"><em>line</em>, </td>
13645 </tr>
13646 <tr>
13647 <td class="paramkey"></td>
13648 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013649 <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 +010013650 <td class="paramname"><em>tensor</em>&#160;</td>
13651 </tr>
13652 <tr>
13653 <td></td>
13654 <td>)</td>
13655 <td></td><td></td>
13656 </tr>
13657 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013658 </td>
13659 <td class="mlabels-right">
13660<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13661 </tr>
13662</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013663</div><div class="memdoc">
13664
Jenkins52ba29e2018-08-29 15:32:11 +000013665<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 +010013666<dl class="params"><dt>Parameters</dt><dd>
13667 <table class="params">
13668 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13669 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13670 <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 +000013671 <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 +010013672 </table>
13673 </dd>
13674</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013675<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 +010013676
Jenkinsb9abeae2018-11-22 11:58:08 +000013677<p class="definition">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 +010013678
Jenkinsb9abeae2018-11-22 11:58:08 +000013679<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +000013680<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>
13681<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>
13682<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>
13683<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>
13684</div><!-- fragment -->
13685</div>
13686</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013687<a id="a76433394f276fbc92390850a15bd2cae"></a>
13688<h2 class="memtitle"><span class="permalink"><a href="#a76433394f276fbc92390850a15bd2cae">&#9670;&nbsp;</a></span>error_on_unsupported_fp16() <span class="overload">[1/2]</span></h2>
13689
Jenkins52ba29e2018-08-29 15:32:11 +000013690<div class="memitem">
13691<div class="memproto">
13692<table class="mlabels">
13693 <tr>
13694 <td class="mlabels-left">
13695 <table class="memname">
13696 <tr>
13697 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_fp16 </td>
13698 <td>(</td>
13699 <td class="paramtype">const char *&#160;</td>
13700 <td class="paramname"><em>function</em>, </td>
13701 </tr>
13702 <tr>
13703 <td class="paramkey"></td>
13704 <td></td>
13705 <td class="paramtype">const char *&#160;</td>
13706 <td class="paramname"><em>file</em>, </td>
13707 </tr>
13708 <tr>
13709 <td class="paramkey"></td>
13710 <td></td>
13711 <td class="paramtype">const int&#160;</td>
13712 <td class="paramname"><em>line</em>, </td>
13713 </tr>
13714 <tr>
13715 <td class="paramkey"></td>
13716 <td></td>
13717 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
13718 <td class="paramname"><em>tensor_info</em>, </td>
13719 </tr>
13720 <tr>
13721 <td class="paramkey"></td>
13722 <td></td>
13723 <td class="paramtype">bool&#160;</td>
13724 <td class="paramname"><em>is_fp16_supported</em>&#160;</td>
13725 </tr>
13726 <tr>
13727 <td></td>
13728 <td>)</td>
13729 <td></td><td></td>
13730 </tr>
13731 </table>
13732 </td>
13733 <td class="mlabels-right">
13734<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13735 </tr>
13736</table>
13737</div><div class="memdoc">
13738
13739<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>
13740<dl class="params"><dt>Parameters</dt><dd>
13741 <table class="params">
13742 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13743 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13744 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13745 <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>
13746 <tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</td></tr>
13747 </table>
13748 </dd>
13749</dl>
13750<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>
13751
Jenkinsb9abeae2018-11-22 11:58:08 +000013752<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00804">804</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000013753
Jenkinsb9abeae2018-11-22 11:58:08 +000013754<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +000013755
Jenkinsb9abeae2018-11-22 11:58:08 +000013756<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00823">error_on_unsupported_fp16()</a>.</p>
13757<div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</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="l00808"></a><span class="lineno"> 808</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="l00809"></a><span class="lineno"> 809</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="l00810"></a><span class="lineno"> 810</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="l00811"></a><span class="lineno"> 811</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>
Jenkins52ba29e2018-08-29 15:32:11 +000013758<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>
13759<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>
13760</div><!-- fragment -->
13761</div>
13762</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013763<a id="aea2b331c31943c1f726c9f552348c89c"></a>
13764<h2 class="memtitle"><span class="permalink"><a href="#aea2b331c31943c1f726c9f552348c89c">&#9670;&nbsp;</a></span>error_on_unsupported_fp16() <span class="overload">[2/2]</span></h2>
13765
Jenkins52ba29e2018-08-29 15:32:11 +000013766<div class="memitem">
13767<div class="memproto">
13768<table class="mlabels">
13769 <tr>
13770 <td class="mlabels-left">
13771 <table class="memname">
13772 <tr>
13773 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_fp16 </td>
13774 <td>(</td>
13775 <td class="paramtype">const char *&#160;</td>
13776 <td class="paramname"><em>function</em>, </td>
13777 </tr>
13778 <tr>
13779 <td class="paramkey"></td>
13780 <td></td>
13781 <td class="paramtype">const char *&#160;</td>
13782 <td class="paramname"><em>file</em>, </td>
13783 </tr>
13784 <tr>
13785 <td class="paramkey"></td>
13786 <td></td>
13787 <td class="paramtype">const int&#160;</td>
13788 <td class="paramname"><em>line</em>, </td>
13789 </tr>
13790 <tr>
13791 <td class="paramkey"></td>
13792 <td></td>
13793 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
13794 <td class="paramname"><em>tensor</em>, </td>
13795 </tr>
13796 <tr>
13797 <td class="paramkey"></td>
13798 <td></td>
13799 <td class="paramtype">bool&#160;</td>
13800 <td class="paramname"><em>is_fp16_supported</em>&#160;</td>
13801 </tr>
13802 <tr>
13803 <td></td>
13804 <td>)</td>
13805 <td></td><td></td>
13806 </tr>
13807 </table>
13808 </td>
13809 <td class="mlabels-right">
13810<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13811 </tr>
13812</table>
13813</div><div class="memdoc">
13814
13815<p>Return an error if the data type of the passed tensor is FP16 and FP16 extension is not supported by the device. </p>
13816<dl class="params"><dt>Parameters</dt><dd>
13817 <table class="params">
13818 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13819 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13820 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13821 <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>
13822 <tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</td></tr>
13823 </table>
13824 </dd>
13825</dl>
13826<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>
13827
Jenkinsb9abeae2018-11-22 11:58:08 +000013828<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00823">823</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000013829
Jenkinsb9abeae2018-11-22 11:58:08 +000013830<p class="reference">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_8cpp_source.xhtml#l00092">error_on_tensor_not_2d()</a>, <a class="el" href="_validate_8h_source.xhtml#l00804">error_on_unsupported_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
13831<div class="fragment"><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;{</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>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</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="l00828"></a><span class="lineno"> 828</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="l00829"></a><span class="lineno"> 829</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>
Jenkins52ba29e2018-08-29 15:32:11 +000013832<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000013833<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#l00804">Validate.h:804</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000013834<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>
13835</div><!-- fragment -->
13836</div>
13837</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013838<a id="a5c8dc3902d1a2de5b20aa249fb483eea"></a>
13839<h2 class="memtitle"><span class="permalink"><a href="#a5c8dc3902d1a2de5b20aa249fb483eea">&#9670;&nbsp;</a></span>error_on_unsupported_int64_base_atomics()</h2>
13840
Jenkins52ba29e2018-08-29 15:32:11 +000013841<div class="memitem">
13842<div class="memproto">
13843<table class="mlabels">
13844 <tr>
13845 <td class="mlabels-left">
13846 <table class="memname">
13847 <tr>
13848 <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>
13849 <td>(</td>
13850 <td class="paramtype">const char *&#160;</td>
13851 <td class="paramname"><em>function</em>, </td>
13852 </tr>
13853 <tr>
13854 <td class="paramkey"></td>
13855 <td></td>
13856 <td class="paramtype">const char *&#160;</td>
13857 <td class="paramname"><em>file</em>, </td>
13858 </tr>
13859 <tr>
13860 <td class="paramkey"></td>
13861 <td></td>
13862 <td class="paramtype">const int&#160;</td>
13863 <td class="paramname"><em>line</em>&#160;</td>
13864 </tr>
13865 <tr>
13866 <td></td>
13867 <td>)</td>
13868 <td></td><td></td>
13869 </tr>
13870 </table>
13871 </td>
13872 <td class="mlabels-right">
13873<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13874 </tr>
13875</table>
13876</div><div class="memdoc">
13877
13878<p>Return an error if int64_base_atomics extension is not supported by the device. </p>
13879<dl class="params"><dt>Parameters</dt><dd>
13880 <table class="params">
13881 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13882 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13883 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred.</td></tr>
13884 </table>
13885 </dd>
13886</dl>
13887<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>
13888
Jenkinsb9abeae2018-11-22 11:58:08 +000013889<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000013890
Jenkinsb9abeae2018-11-22 11:58:08 +000013891<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00177">ARM_COMPUTE_CREATE_ERROR_LOC</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00889">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000013892<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>
13893<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>
13894<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 +010013895</div><!-- fragment -->
13896</div>
13897</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013898<a id="a7d65985a30fc1229047b7db32caaab43"></a>
13899<h2 class="memtitle"><span class="permalink"><a href="#a7d65985a30fc1229047b7db32caaab43">&#9670;&nbsp;</a></span>error_on_window_dimensions_gte()</h2>
13900
Anthony Barbier871448e2017-03-24 14:54:29 +000013901<div class="memitem">
13902<div class="memproto">
13903 <table class="memname">
13904 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000013905 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_window_dimensions_gte </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013906 <td>(</td>
13907 <td class="paramtype">const char *&#160;</td>
13908 <td class="paramname"><em>function</em>, </td>
13909 </tr>
13910 <tr>
13911 <td class="paramkey"></td>
13912 <td></td>
13913 <td class="paramtype">const char *&#160;</td>
13914 <td class="paramname"><em>file</em>, </td>
13915 </tr>
13916 <tr>
13917 <td class="paramkey"></td>
13918 <td></td>
13919 <td class="paramtype">const int&#160;</td>
13920 <td class="paramname"><em>line</em>, </td>
13921 </tr>
13922 <tr>
13923 <td class="paramkey"></td>
13924 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013925 <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 +000013926 <td class="paramname"><em>win</em>, </td>
13927 </tr>
13928 <tr>
13929 <td class="paramkey"></td>
13930 <td></td>
13931 <td class="paramtype">unsigned int&#160;</td>
13932 <td class="paramname"><em>max_dim</em>&#160;</td>
13933 </tr>
13934 <tr>
13935 <td></td>
13936 <td>)</td>
13937 <td></td><td></td>
13938 </tr>
13939 </table>
13940</div><div class="memdoc">
13941
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013942<p>Return an error if the passed window has too many dimensions. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013943<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
13944<dl class="params"><dt>Parameters</dt><dd>
13945 <table class="params">
13946 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13947 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13948 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13949 <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 +000013950 <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 +000013951 </table>
13952 </dd>
13953</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013954<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 +000013955
Jenkinsb9abeae2018-11-22 11:58:08 +000013956<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00080">80</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
13957
13958<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>.</p>
13959<div class="fragment"><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="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = max_dim; i &lt; <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((win[i].start() != 0) || (win[i].end() != win[i].step()),</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="stringliteral">&quot;Maximum number of dimensions expected %u but dimension %u is not empty&quot;</span>, max_dim, i);</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="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</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>
13960<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>
13961<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions&lt; int &gt;::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
13962</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013963</div>
13964</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000013965<a id="a4f63a617a4897663b386ba5e1f5cb675"></a>
13966<h2 class="memtitle"><span class="permalink"><a href="#a4f63a617a4897663b386ba5e1f5cb675">&#9670;&nbsp;</a></span>error_on_window_not_collapsable_at_dimension()</h2>
13967
Kaizen8938bd32017-09-28 14:38:23 +010013968<div class="memitem">
13969<div class="memproto">
13970 <table class="memname">
13971 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000013972 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> error_on_window_not_collapsable_at_dimension </td>
Kaizen8938bd32017-09-28 14:38:23 +010013973 <td>(</td>
13974 <td class="paramtype">const char *&#160;</td>
13975 <td class="paramname"><em>function</em>, </td>
13976 </tr>
13977 <tr>
13978 <td class="paramkey"></td>
13979 <td></td>
13980 <td class="paramtype">const char *&#160;</td>
13981 <td class="paramname"><em>file</em>, </td>
13982 </tr>
13983 <tr>
13984 <td class="paramkey"></td>
13985 <td></td>
13986 <td class="paramtype">const int&#160;</td>
13987 <td class="paramname"><em>line</em>, </td>
13988 </tr>
13989 <tr>
13990 <td class="paramkey"></td>
13991 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013992 <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 +010013993 <td class="paramname"><em>full</em>, </td>
13994 </tr>
13995 <tr>
13996 <td class="paramkey"></td>
13997 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013998 <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 +010013999 <td class="paramname"><em>window</em>, </td>
14000 </tr>
14001 <tr>
14002 <td class="paramkey"></td>
14003 <td></td>
14004 <td class="paramtype">const int&#160;</td>
14005 <td class="paramname"><em>dim</em>&#160;</td>
14006 </tr>
14007 <tr>
14008 <td></td>
14009 <td>)</td>
14010 <td></td><td></td>
14011 </tr>
14012 </table>
14013</div><div class="memdoc">
14014
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014015<p>Return an error if the window can't be collapsed at the given dimension. </p>
Kaizen8938bd32017-09-28 14:38:23 +010014016<p>The window cannot be collapsed if the given dimension not equal to the full window's dimension or not start from 0.</p>
14017<dl class="params"><dt>Parameters</dt><dd>
14018 <table class="params">
14019 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
14020 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
14021 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
14022 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
14023 <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 +000014024 <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 +010014025 </table>
14026 </dd>
14027</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014028<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 +010014029
Jenkinsb9abeae2018-11-22 11:58:08 +000014030<p class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00057">57</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
14031
14032<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
14033<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; full.validate();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; window.validate();</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; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(window[dim].start() != 0, <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#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(window[dim].start() != full[dim].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[dim].end() != window[dim].end(), <span class="keyword">function</span>, file, line);</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> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</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>
14034<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>
14035</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014036</div>
14037</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014038<a id="a5002bf7ec46d52971f9526e94172cfee"></a>
14039<h2 class="memtitle"><span class="permalink"><a href="#a5002bf7ec46d52971f9526e94172cfee">&#9670;&nbsp;</a></span>execute_window_loop()</h2>
14040
Anthony Barbier871448e2017-03-24 14:54:29 +000014041<div class="memitem">
14042<div class="memproto">
14043<table class="mlabels">
14044 <tr>
14045 <td class="mlabels-left">
14046 <table class="memname">
14047 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014048 <td class="memname">void execute_window_loop </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014049 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014050 <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 +000014051 <td class="paramname"><em>w</em>, </td>
14052 </tr>
14053 <tr>
14054 <td class="paramkey"></td>
14055 <td></td>
14056 <td class="paramtype">L &amp;&amp;&#160;</td>
14057 <td class="paramname"><em>lambda_function</em>, </td>
14058 </tr>
14059 <tr>
14060 <td class="paramkey"></td>
14061 <td></td>
14062 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
14063 <td class="paramname"><em>iterators</em>&#160;</td>
14064 </tr>
14065 <tr>
14066 <td></td>
14067 <td>)</td>
14068 <td></td><td></td>
14069 </tr>
14070 </table>
14071 </td>
14072 <td class="mlabels-right">
14073<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14074 </tr>
14075</table>
14076</div><div class="memdoc">
14077
14078<p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
14079<p>It passes the x and y positions to the lambda_function for each iteration</p>
14080<dl class="params"><dt>Parameters</dt><dd>
14081 <table class="params">
14082 <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>
14083 <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>
14084 <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>
14085 </table>
14086 </dd>
14087</dl>
14088
Jenkinsb9abeae2018-11-22 11:58:08 +000014089<p class="definition">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 +000014090
Jenkinsb9abeae2018-11-22 11:58:08 +000014091<p class="reference">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 +010014092
Jenkinsb9abeae2018-11-22 11:58:08 +000014093<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00665">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00547">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00880">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00713">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00485">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00822">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00982">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00939">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00382">colorconvert_rgb_to_u8()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l01026">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00410">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00762">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00610">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00441">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00793">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel&lt; mag_type, phase_type &gt;::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00035">ITensor::copy_from()</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#l00176">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#l00256">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00727">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00396">NPYLoader::fill_tensor()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00109">finalize_quantization()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00045">CPPFlipWeightsKernel::flip_weights()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00680">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_n_e_histogram_kernel_8cpp_source.xhtml#l00064">NEHistogramKernel::NEHistogramKernel()</a>, <a class="el" href="_n_e_prior_box_layer_kernel_8cpp_source.xhtml#l00108">NEPriorBoxLayerKernel::NEPriorBoxLayerKernel()</a>, <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00046">NETableLookupKernel::NETableLookupKernel()</a>, <a class="el" href="_n_e_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00098">NEYOLOLayerKernel::NEYOLOLayerKernel()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00089">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00064">TFPreproccessor::preprocess()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00119">CLMinMaxLayerKernel::reset()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00192">NEMinMaxLayerKernel::reset()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00148">NEBox3x3Kernel::run()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00074">NEIntegralImageKernel::run()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00070">NEDilateKernel::run()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00070">NEErodeKernel::run()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00077">NEMedian3x3Kernel::run()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00067">NEGaussian3x3Kernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00076">NEGaussian5x5HorKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00266">NEAccumulateKernel::run()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00101">NEFloorKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00108">NEGaussianPyramidHorKernel::run()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00084">NEBitwiseNotKernel::run()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00096">NEBitwiseOrKernel::run()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00092">NEBitwiseXorKernel::run()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00100">NEBitwiseAndKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00678">NEHOGOrientationBinningKernel::run()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00391">NEFastCornersKernel::run()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00069">CPPUpsampleKernel::run()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00065">NEFillArrayKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00108">NEGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00498">NENonMaximaSuppression3x3Kernel::run()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00093">NESobel5x5HorKernel::run()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00058">NECopyKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00196">NESobel7x7HorKernel::run()</a>, <a class="el" href="_n_e_fill_inner_border_kernel_8cpp_source.xhtml#l00064">NEFillInnerBorderKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00942">NEGradientKernel::run()</a>, <a class="el" href="_n_e_fill_border_kernel_8cpp_source.xhtml#l00128">NEFillBorderKernel::run()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00096">CPPCornerCandidatesKernel::run()</a>, <a class="el" href="_n_e_flatten_layer_kernel_8cpp_source.xhtml#l00102">NEFlattenLayerKernel::run()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00180">NEChannelExtractKernel::run()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00091">NESobel3x3Kernel::run()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00138">NEScharr3x3Kernel::run()</a>, <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00103">NEWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_dequantization_layer_kernel_8cpp_source.xhtml#l00107">NEDequantizationLayerKernel::run()</a>, <a class="el" href="_n_e_quantization_layer_kernel_8cpp_source.xhtml#l00107">NEQuantizationLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00144">NEGaussian5x5VertKernel::run()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00272">NEChannelCombineKernel::run()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00124">NEDepthConvertLayerKernel::run()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00117">NEMinMaxLayerKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00305">NEAccumulateWeightedKernel::run()</a>, <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00550">NEPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00126">NEGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00131">NEGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00709">NEHarrisScoreKernel&lt; block_size &gt;::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00208">NEGaussianPyramidVertKernel::run()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00265">NESobel5x5VertKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00355">NESobel7x7VertKernel::run()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00699">NESeparableConvolutionHorKernel&lt; matrix_size &gt;::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00772">NEHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01024">NEEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00279">NEGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00348">NEAccumulateSquaredKernel::run()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01137">NESeparableConvolutionVertKernel&lt; matrix_size &gt;::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01105">NEEdgeTraceKernel::run()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01471">NEConvolutionRectangleKernel::run()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00617">arm_compute::utils::save_to_npy()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00537">arm_compute::utils::save_to_ppm()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::slice()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00082">arm_compute::test::validation::reference::strided_slice()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00089">NEUpsampleLayerKernel::validate()</a>, and <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00066">NEConvertFullyConnectedWeightsKernel::validate()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000014094<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 +000014095</div><!-- fragment -->
14096</div>
14097</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014098<a id="a695a8105065167f7e4596d31f23a3573"></a>
14099<h2 class="memtitle"><span class="permalink"><a href="#a695a8105065167f7e4596d31f23a3573">&#9670;&nbsp;</a></span>finalize_quantization() <span class="overload">[1/2]</span></h2>
14100
Anthony Barbierf45d5a92018-01-24 16:23:15 +000014101<div class="memitem">
14102<div class="memproto">
14103 <table class="memname">
14104 <tr>
14105 <td class="memname">uint8x16_t arm_compute::finalize_quantization </td>
14106 <td>(</td>
14107 <td class="paramtype">int32x4x4_t &amp;&#160;</td>
14108 <td class="paramname"><em>in_s32</em>, </td>
14109 </tr>
14110 <tr>
14111 <td class="paramkey"></td>
14112 <td></td>
14113 <td class="paramtype">int&#160;</td>
14114 <td class="paramname"><em>result_fixedpoint_multiplier</em>, </td>
14115 </tr>
14116 <tr>
14117 <td class="paramkey"></td>
14118 <td></td>
14119 <td class="paramtype">int32_t&#160;</td>
14120 <td class="paramname"><em>result_shift</em>, </td>
14121 </tr>
14122 <tr>
14123 <td class="paramkey"></td>
14124 <td></td>
14125 <td class="paramtype">int32x4_t&#160;</td>
14126 <td class="paramname"><em>result_offset_after_shift_s32</em>, </td>
14127 </tr>
14128 <tr>
14129 <td class="paramkey"></td>
14130 <td></td>
14131 <td class="paramtype">uint8x16_t&#160;</td>
14132 <td class="paramname"><em>min_u8</em>, </td>
14133 </tr>
14134 <tr>
14135 <td class="paramkey"></td>
14136 <td></td>
14137 <td class="paramtype">uint8x16_t&#160;</td>
14138 <td class="paramname"><em>max_u8</em>&#160;</td>
14139 </tr>
14140 <tr>
14141 <td></td>
14142 <td>)</td>
14143 <td></td><td></td>
14144 </tr>
14145 </table>
14146</div><div class="memdoc">
14147
14148<p>Performs final quantization step on 16 elements. </p>
14149<dl class="tparams"><dt>Template Parameters</dt><dd>
14150 <table class="tparams">
14151 <tr><td class="paramname">is_bounded_relu</td><td>Specified if a fused bounded relu should be applied</td></tr>
14152 </table>
14153 </dd>
14154</dl>
14155<dl class="params"><dt>Parameters</dt><dd>
14156 <table class="params">
14157 <tr><td class="paramname">in_s32</td><td>Input to be quantized. </td></tr>
14158 <tr><td class="paramname">result_fixedpoint_multiplier</td><td>Result multiplier parameter </td></tr>
14159 <tr><td class="paramname">result_shift</td><td>Result shift parameter </td></tr>
14160 <tr><td class="paramname">result_offset_after_shift_s32</td><td>Result offset parameter </td></tr>
14161 <tr><td class="paramname">min_u8</td><td>Relu lower bound </td></tr>
14162 <tr><td class="paramname">max_u8</td><td>Relu upper bound</td></tr>
14163 </table>
14164 </dd>
14165</dl>
14166<dl class="section return"><dt>Returns</dt><dd>Quantized values </dd></dl>
14167
Jenkinsb9abeae2018-11-22 11:58:08 +000014168<p class="definition">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>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000014169
Jenkinsb9abeae2018-11-22 11:58:08 +000014170<p class="reference">References <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000014171<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 +010014172</div><!-- fragment -->
14173</div>
14174</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014175<a id="aff311815b306f7885265c103dc0344b9"></a>
14176<h2 class="memtitle"><span class="permalink"><a href="#aff311815b306f7885265c103dc0344b9">&#9670;&nbsp;</a></span>finalize_quantization() <span class="overload">[2/2]</span></h2>
14177
14178<div class="memitem">
14179<div class="memproto">
14180<table class="mlabels">
14181 <tr>
14182 <td class="mlabels-left">
14183 <table class="memname">
14184 <tr>
14185 <td class="memname">uint8_t arm_compute::finalize_quantization </td>
14186 <td>(</td>
14187 <td class="paramtype">int32x4_t&#160;</td>
14188 <td class="paramname"><em>in_s32</em>, </td>
14189 </tr>
14190 <tr>
14191 <td class="paramkey"></td>
14192 <td></td>
14193 <td class="paramtype">int&#160;</td>
14194 <td class="paramname"><em>result_fixedpoint_multiplier</em>, </td>
14195 </tr>
14196 <tr>
14197 <td class="paramkey"></td>
14198 <td></td>
14199 <td class="paramtype">int32_t&#160;</td>
14200 <td class="paramname"><em>result_shift</em>, </td>
14201 </tr>
14202 <tr>
14203 <td class="paramkey"></td>
14204 <td></td>
14205 <td class="paramtype">int32x4_t&#160;</td>
14206 <td class="paramname"><em>result_offset_after_shift_s32</em>, </td>
14207 </tr>
14208 <tr>
14209 <td class="paramkey"></td>
14210 <td></td>
14211 <td class="paramtype">uint8_t&#160;</td>
14212 <td class="paramname"><em>min_u8</em>, </td>
14213 </tr>
14214 <tr>
14215 <td class="paramkey"></td>
14216 <td></td>
14217 <td class="paramtype">uint8_t&#160;</td>
14218 <td class="paramname"><em>max_u8</em>&#160;</td>
14219 </tr>
14220 <tr>
14221 <td></td>
14222 <td>)</td>
14223 <td></td><td></td>
14224 </tr>
14225 </table>
14226 </td>
14227 <td class="mlabels-right">
14228<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14229 </tr>
14230</table>
14231</div><div class="memdoc">
14232
14233<p class="definition">Definition at line <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00109">109</a> of file <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp</a>.</p>
14234
14235<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_window_8inl_source.xhtml#l00047">Window::collapse_if_possible()</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#l00047">Window::DimZ</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#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00293">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run()</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>, and <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>.</p>
14236<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t sat_value_s32 = vdupq_n_s32(255);</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; <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; in_s32 = vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; in_s32 = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32, result_shift);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// Add the offset terms</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; in_s32 = vaddq_s32(in_s32, result_offset_after_shift_s32);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="comment">// Saturate negative values</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; in_s32 = vmaxq_s32(in_s32, zero_s32);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; in_s32 = vminq_s32(in_s32, sat_value_s32);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">auto</span> out_u8 = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(vgetq_lane_s32(in_s32, 0));</div><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; <span class="keywordflow">if</span>(is_bounded_relu)</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; out_u8 = std::max(out_u8, min_u8);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; out_u8 = std::min(out_u8, max_u8);</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;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</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>
14237</div><!-- fragment -->
14238</div>
14239</div>
14240<a id="a9cd394c15b73f79ca1d98f5328064be2"></a>
14241<h2 class="memtitle"><span class="permalink"><a href="#a9cd394c15b73f79ca1d98f5328064be2">&#9670;&nbsp;</a></span>float_to_string_with_full_precision()</h2>
14242
Kaizen8938bd32017-09-28 14:38:23 +010014243<div class="memitem">
14244<div class="memproto">
14245<table class="mlabels">
14246 <tr>
14247 <td class="mlabels-left">
14248 <table class="memname">
14249 <tr>
14250 <td class="memname">std::string arm_compute::float_to_string_with_full_precision </td>
14251 <td>(</td>
14252 <td class="paramtype">float&#160;</td>
14253 <td class="paramname"><em>val</em></td><td>)</td>
14254 <td></td>
14255 </tr>
14256 </table>
14257 </td>
14258 <td class="mlabels-right">
14259<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14260 </tr>
14261</table>
14262</div><div class="memdoc">
14263
14264<p>Create a string with the float in full precision. </p>
14265<dl class="params"><dt>Parameters</dt><dd>
14266 <table class="params">
14267 <tr><td class="paramname">val</td><td>Floating point value</td></tr>
14268 </table>
14269 </dd>
14270</dl>
14271<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
14272
Jenkinsb9abeae2018-11-22 11:58:08 +000014273<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01013">1013</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
14274
14275<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00092">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00123">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::configure()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>.</p>
14276<div class="fragment"><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;{</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; std::stringstream ss;</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; ss &lt;&lt; val;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="keywordflow">if</span>(val != static_cast&lt;int&gt;(val))</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; {</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; ss &lt;&lt; <span class="stringliteral">&quot;f&quot;</span>;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; }</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000014277</div>
14278</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014279<a id="ad1e1cc57e3e2ae0ea65d607f6d6312f8"></a>
14280<h2 class="memtitle"><span class="permalink"><a href="#ad1e1cc57e3e2ae0ea65d607f6d6312f8">&#9670;&nbsp;</a></span>FloatFlip()</h2>
14281
14282<div class="memitem">
14283<div class="memproto">
14284<table class="mlabels">
14285 <tr>
14286 <td class="mlabels-left">
14287 <table class="memname">
14288 <tr>
14289 <td class="memname">int32_t arm_compute::FloatFlip </td>
14290 <td>(</td>
14291 <td class="paramtype">float&#160;</td>
14292 <td class="paramname"><em>val</em></td><td>)</td>
14293 <td></td>
14294 </tr>
14295 </table>
14296 </td>
14297 <td class="mlabels-right">
14298<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14299 </tr>
14300</table>
14301</div><div class="memdoc">
14302
14303<p class="definition">Definition at line <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml">CLMinMaxLocationKernel.cpp</a>.</p>
14304
14305<p class="reference">Referenced by <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>.</p>
14306<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; static_assert(<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) == <span class="keyword">sizeof</span>(int32_t), <span class="stringliteral">&quot;Float must be same size as int32_t&quot;</span>);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; int32_t int_val = 0;</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; memcpy(&amp;int_val, &amp;val, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; int_val = (int_val &gt;= 0) ? int_val : int_val ^ 0x7FFFFFFF;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> int_val;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div></div><!-- fragment -->
14307</div>
14308</div>
14309<a id="a23062881efd3855d61bae58f330c97db"></a>
14310<h2 class="memtitle"><span class="permalink"><a href="#a23062881efd3855d61bae58f330c97db">&#9670;&nbsp;</a></span>floor_to_multiple()</h2>
14311
Anthony Barbier871448e2017-03-24 14:54:29 +000014312<div class="memitem">
14313<div class="memproto">
14314<table class="mlabels">
14315 <tr>
14316 <td class="mlabels-left">
14317 <table class="memname">
14318 <tr>
14319 <td class="memname">auto arm_compute::floor_to_multiple </td>
14320 <td>(</td>
14321 <td class="paramtype">S&#160;</td>
14322 <td class="paramname"><em>value</em>, </td>
14323 </tr>
14324 <tr>
14325 <td class="paramkey"></td>
14326 <td></td>
14327 <td class="paramtype">T&#160;</td>
14328 <td class="paramname"><em>divisor</em>&#160;</td>
14329 </tr>
14330 <tr>
14331 <td></td>
14332 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +010014333 <td></td><td> -&gt; decltype((value / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +000014334</td>
14335 </tr>
14336 </table>
14337 </td>
14338 <td class="mlabels-right">
14339<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14340 </tr>
14341</table>
14342</div><div class="memdoc">
14343
14344<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014345<dl class="params"><dt>Parameters</dt><dd>
14346 <table class="params">
14347 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Upper bound value </td></tr>
14348 <tr><td class="paramdir">[in]</td><td class="paramname">divisor</td><td>Value to compute multiple of.</td></tr>
14349 </table>
14350 </dd>
14351</dl>
14352<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000014353
Jenkinsb9abeae2018-11-22 11:58:08 +000014354<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00079">79</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 +000014355
Jenkinsb9abeae2018-11-22 11:58:08 +000014356<p class="reference">Referenced by <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, and <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>.</p>
14357<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; <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="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</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 +010014358</div><!-- fragment -->
14359</div>
14360</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014361<a id="a2ad3c9492d4158b574a89ab798d74e16"></a>
14362<h2 class="memtitle"><span class="permalink"><a href="#a2ad3c9492d4158b574a89ab798d74e16">&#9670;&nbsp;</a></span>fp16_supported()</h2>
14363
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014364<div class="memitem">
14365<div class="memproto">
14366 <table class="memname">
14367 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014368 <td class="memname">bool fp16_supported </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014369 <td>(</td>
14370 <td class="paramtype">const cl::Device &amp;&#160;</td>
14371 <td class="paramname"><em>device</em></td><td>)</td>
14372 <td></td>
14373 </tr>
14374 </table>
14375</div><div class="memdoc">
14376
14377<p>Helper function to check whether the cl_khr_fp16 extension is supported. </p>
14378<dl class="params"><dt>Parameters</dt><dd>
14379 <table class="params">
14380 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
14381 </table>
14382 </dd>
14383</dl>
14384<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
14385
Jenkinsb9abeae2018-11-22 11:58:08 +000014386<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00140">140</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000014387
Jenkinsb9abeae2018-11-22 11:58:08 +000014388<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
14389
14390<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00974">CLKernelLibrary::fp16_supported()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00326">CLKernelLibrary::get_built_programs()</a>.</p>
14391<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">&quot;cl_khr_fp16&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &amp;device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
14392</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014393</div>
14394</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014395<a id="a2355c2bf5d1950088937416baea24fe6"></a>
14396<h2 class="memtitle"><span class="permalink"><a href="#a2355c2bf5d1950088937416baea24fe6">&#9670;&nbsp;</a></span>get_arch_from_target()</h2>
14397
Anthony Barbierdbdab852017-06-23 15:42:00 +010014398<div class="memitem">
14399<div class="memproto">
14400 <table class="memname">
14401 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014402 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> get_arch_from_target </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014403 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014404 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014405 <td class="paramname"><em>target</em></td><td>)</td>
14406 <td></td>
14407 </tr>
14408 </table>
14409</div><div class="memdoc">
14410
14411<p>Helper function to get the GPU arch. </p>
14412<dl class="params"><dt>Parameters</dt><dd>
14413 <table class="params">
14414 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>GPU target</td></tr>
14415 </table>
14416 </dd>
14417</dl>
14418<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
14419
Jenkinsb9abeae2018-11-22 11:58:08 +000014420<p class="definition">Definition at line <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml">GPUTarget.cpp</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000014421
Jenkinsb9abeae2018-11-22 11:58:08 +000014422<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a>.</p>
14423
14424<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00090">CLGEMM::configure()</a>, <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>, and <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00180">CLGEMM::validate()</a>.</p>
14425<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> (target &amp; GPUTarget::GPU_ARCH_MASK);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014426</div>
14427</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014428<a id="a70d221fbff7bff840ef4d3fdc701cf53"></a>
14429<h2 class="memtitle"><span class="permalink"><a href="#a70d221fbff7bff840ef4d3fdc701cf53">&#9670;&nbsp;</a></span>get_cl_select_type_from_data_type()</h2>
14430
Anthony Barbier871448e2017-03-24 14:54:29 +000014431<div class="memitem">
14432<div class="memproto">
14433 <table class="memname">
14434 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014435 <td class="memname">std::string get_cl_select_type_from_data_type </td>
14436 <td>(</td>
14437 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
14438 <td class="paramname"><em>dt</em></td><td>)</td>
14439 <td></td>
14440 </tr>
14441 </table>
14442</div><div class="memdoc">
14443
14444<p>Translates a tensor data type to the appropriate OpenCL select type. </p>
14445<dl class="params"><dt>Parameters</dt><dd>
14446 <table class="params">
14447 <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 select type.</td></tr>
14448 </table>
14449 </dd>
14450</dl>
14451<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL select type to be used. </dd></dl>
14452
14453<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00067">67</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
14454
14455<p class="reference">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#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</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#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
14456
14457<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, and <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>.</p>
14458<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;uchar&quot;</span>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;char&quot;</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;uchar&quot;</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;ushort&quot;</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;short&quot;</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;uint&quot;</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;int&quot;</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;ulong&quot;</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;long&quot;</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported input data type.&quot;</span>);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</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;}</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>
14459</div><!-- fragment -->
14460</div>
14461</div>
14462<a id="a545eeda2eaa3f5a54345ce8169e21184"></a>
14463<h2 class="memtitle"><span class="permalink"><a href="#a545eeda2eaa3f5a54345ce8169e21184">&#9670;&nbsp;</a></span>get_cl_type_from_data_type()</h2>
14464
14465<div class="memitem">
14466<div class="memproto">
14467 <table class="memname">
14468 <tr>
14469 <td class="memname">std::string get_cl_type_from_data_type </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014470 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014471 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014472 <td class="paramname"><em>dt</em></td><td>)</td>
14473 <td></td>
14474 </tr>
14475 </table>
14476</div><div class="memdoc">
14477
14478<p>Translates a tensor data type to the appropriate OpenCL type. </p>
14479<dl class="params"><dt>Parameters</dt><dd>
14480 <table class="params">
14481 <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>
14482 </table>
14483 </dd>
14484</dl>
14485<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
14486
Jenkinsb9abeae2018-11-22 11:58:08 +000014487<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
14488
14489<p class="reference">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#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</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#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
14490
14491<p class="reference">Referenced by <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00138">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00085">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00071">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_division_kernel_8cpp_source.xhtml#l00102">CLArithmeticDivisionKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00122">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00125">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00093">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00128">CLArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00092">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>, and <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00122">get_underlying_cl_type_from_data_type()</a>.</p>
14492<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">switch</span>(dt)</div><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; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;uchar&quot;</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;char&quot;</span>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;uchar&quot;</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;ushort&quot;</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;short&quot;</span>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;uint&quot;</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;int&quot;</span>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;ulong&quot;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;long&quot;</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;half&quot;</span>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;float&quot;</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported input data type.&quot;</span>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</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;}</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>
14493</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000014494</div>
14495</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014496<a id="a0e62ce01a7a7af6c3d059bb8534cad45"></a>
14497<h2 class="memtitle"><span class="permalink"><a href="#a0e62ce01a7a7af6c3d059bb8534cad45">&#9670;&nbsp;</a></span>get_cl_version()</h2>
14498
Kaizen8938bd32017-09-28 14:38:23 +010014499<div class="memitem">
14500<div class="memproto">
14501 <table class="memname">
14502 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014503 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> get_cl_version </td>
Kaizen8938bd32017-09-28 14:38:23 +010014504 <td>(</td>
14505 <td class="paramtype">const cl::Device &amp;&#160;</td>
14506 <td class="paramname"><em>device</em></td><td>)</td>
14507 <td></td>
14508 </tr>
14509 </table>
14510</div><div class="memdoc">
14511
14512<p>Helper function to get the highest OpenCL version supported. </p>
14513<dl class="params"><dt>Parameters</dt><dd>
14514 <table class="params">
14515 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
14516 </table>
14517 </dd>
14518</dl>
14519<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
14520
Jenkinsb9abeae2018-11-22 11:58:08 +000014521<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
14522
14523<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
14524
14525<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>.</p>
14526<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; std::string version_str = device.getInfo&lt;CL_DEVICE_VERSION&gt;();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">&quot;OpenCL 2&quot;</span>) != std::string::npos)</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="keywordflow">return</span> CLVersion::CL20;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">&quot;OpenCL 1.2&quot;</span>) != std::string::npos)</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> CLVersion::CL12;</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">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">&quot;OpenCL 1.1&quot;</span>) != std::string::npos)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> CLVersion::CL11;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">&quot;OpenCL 1.0&quot;</span>) != std::string::npos)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> CLVersion::CL10;</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;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> CLVersion::UNKNOWN;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010014527</div>
14528</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014529<a id="a92d01d03db1530581737484c1290ca16"></a>
14530<h2 class="memtitle"><span class="permalink"><a href="#a92d01d03db1530581737484c1290ca16">&#9670;&nbsp;</a></span>get_cpu_configuration()</h2>
14531
Jenkinsb3a371b2018-05-23 11:36:53 +010014532<div class="memitem">
14533<div class="memproto">
14534 <table class="memname">
14535 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014536 <td class="memname">void get_cpu_configuration </td>
Jenkinsb3a371b2018-05-23 11:36:53 +010014537 <td>(</td>
14538 <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;&#160;</td>
14539 <td class="paramname"><em>cpuinfo</em></td><td>)</td>
14540 <td></td>
14541 </tr>
14542 </table>
14543</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014544
Jenkinsb3a371b2018-05-23 11:36:53 +010014545<p>This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this. </p>
14546<dl class="params"><dt>Parameters</dt><dd>
14547 <table class="params">
14548 <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>
14549 </table>
14550 </dd>
14551</dl>
14552
Jenkinsb9abeae2018-11-22 11:58:08 +000014553<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00304">304</a> of file <a class="el" href="_c_p_u_utils_8cpp_source.xhtml">CPUUtils.cpp</a>.</p>
14554
14555<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00064">HWCAP_ASIMDDP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00056">HWCAP_ASIMDHP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00060">HWCAP_CPUID</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00045">CPUInfo::set_cpu_model()</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00097">CPUInfo::set_cpu_num()</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00040">CPUInfo::set_dotprod()</a>, and <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00035">CPUInfo::set_fp16()</a>.</p>
14556
14557<p class="reference">Referenced by <a class="el" href="_i_scheduler_8cpp_source.xhtml#l00031">IScheduler::IScheduler()</a>.</p>
14558<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="preprocessor">#if !defined(BARE_METAL) &amp;&amp; (defined(__arm__) || defined(__aarch64__))</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordtype">bool</span> cpuid = <span class="keyword">false</span>;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordtype">bool</span> hwcaps_fp16_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">bool</span> hwcaps_dot_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keyword">const</span> uint32_t hwcaps = getauxval(AT_HWCAP);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">if</span>((hwcaps &amp; <a class="code" href="_c_p_u_utils_8cpp.xhtml#a81886f53bcc05e6aa40366dcee3c80cc">HWCAP_CPUID</a>) != 0)</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; cpuid = <span class="keyword">true</span>;</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;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">if</span>((hwcaps &amp; <a class="code" href="_c_p_u_utils_8cpp.xhtml#a3adcaa91ed4b68e8939a5175133460d5">HWCAP_ASIMDHP</a>) != 0)</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; hwcaps_fp16_support = <span class="keyword">true</span>;</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="preprocessor">#if defined(__aarch64__)</span></div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span>((hwcaps &amp; <a class="code" href="_c_p_u_utils_8cpp.xhtml#af2e3430d5d0940d0a78029eb50f69234">HWCAP_ASIMDDP</a>) != 0)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; hwcaps_dot_support = <span class="keyword">true</span>;</div><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;<span class="preprocessor">#endif </span><span class="comment">/* defined(__aarch64__) */</span><span class="preprocessor"></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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_cpus = get_max_cpus();</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#aba3b726afdf36bdcd7496e1bfb523e71">set_cpu_num</a>(max_cpus);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; std::vector&lt;CPUModel&gt; percpu(max_cpus, CPUModel::GENERIC);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span>(cpuid)</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; populate_models_cpuid(percpu);</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">else</span></div><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; populate_models_cpuinfo(percpu);</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="keywordtype">int</span> j(0);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="comment">// Update dot product and FP16 support if one of the CPUs support these features</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">// We assume that the system does not have mixed architectures</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordtype">bool</span> one_supports_dot = <span class="keyword">false</span>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordtype">bool</span> one_supports_fp16 = <span class="keyword">false</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;v : percpu)</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; one_supports_dot = one_supports_dot || model_supports_dot(v);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; one_supports_fp16 = one_supports_fp16 || model_supports_fp16(v);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#acb24f7c57aaeee1da27db2b4b52434ee">set_cpu_model</a>(j++, v);</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; cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#a6d2db590ac4d869e8feb648beb80fcea">set_dotprod</a>(one_supports_dot || hwcaps_dot_support);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#a6dfc7d658828318e6c54988913c22ec7">set_fp16</a>(one_supports_fp16 || hwcaps_fp16_support);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* !defined(BARE_METAL) &amp;&amp; (defined(__arm__) || defined(__aarch64__)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(cpuinfo);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !defined(BARE_METAL) &amp;&amp; (defined(__arm__) || defined(__aarch64__)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;}</div><div class="ttc" id="_c_p_u_utils_8cpp_xhtml_af2e3430d5d0940d0a78029eb50f69234"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#af2e3430d5d0940d0a78029eb50f69234">HWCAP_ASIMDDP</a></div><div class="ttdeci">#define HWCAP_ASIMDDP</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00064">CPUUtils.cpp:64</a></div></div>
14559<div class="ttc" id="_c_p_u_utils_8cpp_xhtml_a81886f53bcc05e6aa40366dcee3c80cc"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#a81886f53bcc05e6aa40366dcee3c80cc">HWCAP_CPUID</a></div><div class="ttdeci">#define HWCAP_CPUID</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00060">CPUUtils.cpp:60</a></div></div>
14560<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>
14561<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_acb24f7c57aaeee1da27db2b4b52434ee"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#acb24f7c57aaeee1da27db2b4b52434ee">arm_compute::CPUInfo::set_cpu_model</a></div><div class="ttdeci">void set_cpu_model(unsigned int cpuid, CPUModel model)</div><div class="ttdoc">Set the cpumodel for a given cpu core. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00045">CPPTypes.cpp:45</a></div></div>
14562<div class="ttc" id="_c_p_u_utils_8cpp_xhtml_a3adcaa91ed4b68e8939a5175133460d5"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#a3adcaa91ed4b68e8939a5175133460d5">HWCAP_ASIMDHP</a></div><div class="ttdeci">#define HWCAP_ASIMDHP</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00056">CPUUtils.cpp:56</a></div></div>
14563<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_a6d2db590ac4d869e8feb648beb80fcea"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#a6d2db590ac4d869e8feb648beb80fcea">arm_compute::CPUInfo::set_dotprod</a></div><div class="ttdeci">void set_dotprod(const bool dotprod)</div><div class="ttdoc">Set dot product support. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00040">CPPTypes.cpp:40</a></div></div>
14564<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_a6dfc7d658828318e6c54988913c22ec7"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#a6dfc7d658828318e6c54988913c22ec7">arm_compute::CPUInfo::set_fp16</a></div><div class="ttdeci">void set_fp16(const bool fp16)</div><div class="ttdoc">Set fp16 support. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00035">CPPTypes.cpp:35</a></div></div>
14565<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_aba3b726afdf36bdcd7496e1bfb523e71"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#aba3b726afdf36bdcd7496e1bfb523e71">arm_compute::CPUInfo::set_cpu_num</a></div><div class="ttdeci">void set_cpu_num(unsigned int cpu_count)</div><div class="ttdoc">Set max number of cpus. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00097">CPPTypes.cpp:97</a></div></div>
14566</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010014567</div>
14568</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014569<a id="a46e938020a3ac8c926d0590b7fe957db"></a>
14570<h2 class="memtitle"><span class="permalink"><a href="#a46e938020a3ac8c926d0590b7fe957db">&#9670;&nbsp;</a></span>get_data_layout_dimension_index()</h2>
14571
Jenkinsb3a371b2018-05-23 11:36:53 +010014572<div class="memitem">
14573<div class="memproto">
14574<table class="mlabels">
14575 <tr>
14576 <td class="mlabels-left">
14577 <table class="memname">
14578 <tr>
14579 <td class="memname">size_t get_data_layout_dimension_index </td>
14580 <td>(</td>
14581 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
14582 <td class="paramname"><em>data_layout</em>, </td>
14583 </tr>
14584 <tr>
14585 <td class="paramkey"></td>
14586 <td></td>
14587 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a>&#160;</td>
14588 <td class="paramname"><em>data_layout_dimension</em>&#160;</td>
14589 </tr>
14590 <tr>
14591 <td></td>
14592 <td>)</td>
14593 <td></td><td></td>
14594 </tr>
14595 </table>
14596 </td>
14597 <td class="mlabels-right">
14598<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14599 </tr>
14600</table>
14601</div><div class="memdoc">
14602
14603<p>Get the index of the given dimension. </p>
14604<dl class="params"><dt>Parameters</dt><dd>
14605 <table class="params">
14606 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>The data layout. </td></tr>
14607 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout_dimension</td><td>The dimension which this index is requested for.</td></tr>
14608 </table>
14609 </dd>
14610</dl>
14611<dl class="section return"><dt>Returns</dt><dd>The int conversion of the requested data layout index. </dd></dl>
14612
Jenkinsb9abeae2018-11-22 11:58:08 +000014613<p class="definition">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 +010014614
Jenkinsb9abeae2018-11-22 11:58:08 +000014615<p class="reference">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 +010014616
Jenkinsb9abeae2018-11-22 11:58:08 +000014617<p class="reference">Referenced by <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">calculate_valid_region_scale()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00041">CLDepthwiseIm2ColKernel::CLDepthwiseIm2ColKernel()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00592">arm_compute::misc::shape_calculator::compute_batch_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00181">arm_compute::misc::shape_calculator::compute_col2im_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00265">arm_compute::misc::shape_calculator::compute_deconvolution_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00240">arm_compute::misc::shape_calculator::compute_deconvolution_upsampled_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00460">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00216">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00283">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00496">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00650">arm_compute::misc::shape_calculator::compute_prior_box_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00062">arm_compute::misc::shape_calculator::compute_reorg_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00634">arm_compute::misc::shape_calculator::compute_space_to_batch_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00674">arm_compute::misc::shape_calculator::compute_upsample_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00041">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00388">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00404">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00433">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_r_n_n_layer_8cpp_source.xhtml#l00069">CLRNNLayer::configure()</a>, <a class="el" href="_n_e_im2_col_8cpp_source.xhtml#l00037">NEIm2Col::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00099">NEScale::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_concatenate_layer_8cpp_source.xhtml#l00042">NEConcatenateLayer::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00122">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_concatenate_layer_8cpp_source.xhtml#l00042">CLConcatenateLayer::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00067">NERNNLayer::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01155">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00244">NEWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00092">CLWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00333">NEIm2ColKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00098">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00164">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_r_o_i_align_layer_node_8cpp_source.xhtml#l00060">ROIAlignLayerNode::configure_output()</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#l00256">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00045">CPPFlipWeightsKernel::flip_weights()</a>, <a class="el" href="_c_l_convolution_layer_8cpp_source.xhtml#l00122">CLConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_n_e_convolution_layer_8cpp_source.xhtml#l00108">NEConvolutionLayer::get_convolution_method()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">get_normalization_dimension_index()</a>, <a class="el" href="_n_e_prior_box_layer_kernel_8cpp_source.xhtml#l00108">NEPriorBoxLayerKernel::NEPriorBoxLayerKernel()</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#l00089">CaffePreproccessor::preprocess()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00099">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00107">CLDepthwiseWeightsReshapeKernel::run()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01209">NEDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00227">CLWinogradInputTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00503">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00571">NEGEMMConvolutionLayer::run()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00043">CLUpsampleLayerKernel::validate()</a>, <a class="el" href="_c_l_r_n_n_layer_8cpp_source.xhtml#l00044">CLRNNLayer::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00041">CLDeconvolutionLayerUpsampleKernel::validate()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00173">NEScale::validate()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00089">NEUpsampleLayerKernel::validate()</a>, <a class="el" href="_c_l_concatenate_layer_8cpp_source.xhtml#l00067">CLConcatenateLayer::validate()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l02030">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_n_e_concatenate_layer_8cpp_source.xhtml#l00067">NEConcatenateLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00062">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00042">NERNNLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00063">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00174">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00545">NEWinogradConvolutionLayer::validate()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00150">CLWinogradConvolutionLayer::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00202">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_kernel_8cpp_source.xhtml#l00215">INEWinogradLayerTransformWeightsKernel&lt; T &gt;::validate()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00437">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000014618<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000014619<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#l00251">Winograd.cpp:251</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000014620<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 +010014621</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014622</div>
14623</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014624<a id="ab631f49c436b1f18beff3248c4b1a19e"></a>
14625<h2 class="memtitle"><span class="permalink"><a href="#ab631f49c436b1f18beff3248c4b1a19e">&#9670;&nbsp;</a></span>get_data_size_from_data_type()</h2>
14626
Kaizen8938bd32017-09-28 14:38:23 +010014627<div class="memitem">
14628<div class="memproto">
14629 <table class="memname">
14630 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014631 <td class="memname">std::string get_data_size_from_data_type </td>
Kaizen8938bd32017-09-28 14:38:23 +010014632 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014633 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014634 <td class="paramname"><em>dt</em></td><td>)</td>
14635 <td></td>
14636 </tr>
14637 </table>
14638</div><div class="memdoc">
14639
14640<p>Get the size of a data type in number of bits. </p>
14641<dl class="params"><dt>Parameters</dt><dd>
14642 <table class="params">
14643 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>.</td></tr>
14644 </table>
14645 </dd>
14646</dl>
14647<dl class="section return"><dt>Returns</dt><dd>Number of bits in the data type specified. </dd></dl>
14648
Jenkinsb9abeae2018-11-22 11:58:08 +000014649<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00097">97</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
14650
14651<p class="reference">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#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</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#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
14652
14653<p class="reference">Referenced by <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00092">CLROIAlignLayerKernel::configure()</a>, and <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>.</p>
14654<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">switch</span>(dt)</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="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;8&quot;</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;16&quot;</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;32&quot;</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;64&quot;</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported input data type.&quot;</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;0&quot;</span>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;}</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>
14655</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014656</div>
14657</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014658<a id="ae76431f34048289454a9cb6dc66d7c6b"></a>
14659<h2 class="memtitle"><span class="permalink"><a href="#ae76431f34048289454a9cb6dc66d7c6b">&#9670;&nbsp;</a></span>get_normalization_dimension_index()</h2>
14660
Jenkins52ba29e2018-08-29 15:32:11 +000014661<div class="memitem">
14662<div class="memproto">
14663<table class="mlabels">
14664 <tr>
14665 <td class="mlabels-left">
14666 <table class="memname">
14667 <tr>
14668 <td class="memname">unsigned int arm_compute::get_normalization_dimension_index </td>
14669 <td>(</td>
14670 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
14671 <td class="paramname"><em>layout</em>, </td>
14672 </tr>
14673 <tr>
14674 <td class="paramkey"></td>
14675 <td></td>
14676 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;&#160;</td>
14677 <td class="paramname"><em>info</em>&#160;</td>
14678 </tr>
14679 <tr>
14680 <td></td>
14681 <td>)</td>
14682 <td></td><td></td>
14683 </tr>
14684 </table>
14685 </td>
14686 <td class="mlabels-right">
14687<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14688 </tr>
14689</table>
14690</div><div class="memdoc">
14691
14692<p>Calculate the normalization dimension index for a given normalization type. </p>
14693<dl class="params"><dt>Parameters</dt><dd>
14694 <table class="params">
14695 <tr><td class="paramdir">[in]</td><td class="paramname">layout</td><td>Data layout of the input and output tensor </td></tr>
14696 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Normalization info</td></tr>
14697 </table>
14698 </dd>
14699</dl>
14700<dl class="section return"><dt>Returns</dt><dd>Normalization dimension index </dd></dl>
14701
Jenkinsb9abeae2018-11-22 11:58:08 +000014702<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000014703
Jenkinsb9abeae2018-11-22 11:58:08 +000014704<p class="reference">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#l01391">NormalizationLayerInfo::is_in_map()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
14705
14706<p class="reference">Referenced by <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, and <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000014707<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>
14708<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>
14709</div><!-- fragment -->
14710</div>
14711</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014712<a id="a5e4254e9c71fffafb79b99d972df8f81"></a>
14713<h2 class="memtitle"><span class="permalink"><a href="#a5e4254e9c71fffafb79b99d972df8f81">&#9670;&nbsp;</a></span>get_promoted_data_type()</h2>
14714
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014715<div class="memitem">
14716<div class="memproto">
14717<table class="mlabels">
14718 <tr>
14719 <td class="mlabels-left">
14720 <table class="memname">
14721 <tr>
14722 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::get_promoted_data_type </td>
14723 <td>(</td>
14724 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
14725 <td class="paramname"><em>dt</em></td><td>)</td>
14726 <td></td>
14727 </tr>
14728 </table>
14729 </td>
14730 <td class="mlabels-right">
14731<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14732 </tr>
14733</table>
14734</div><div class="memdoc">
14735
14736<p>Return the promoted data type of a given data type. </p>
14737<dl class="section note"><dt>Note</dt><dd>If promoted data type is not supported an error will be thrown</dd></dl>
14738<dl class="params"><dt>Parameters</dt><dd>
14739 <table class="params">
14740 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type to get the promoted type of.</td></tr>
14741 </table>
14742 </dd>
14743</dl>
14744<dl class="section return"><dt>Returns</dt><dd>Promoted data type </dd></dl>
14745
Jenkinsb9abeae2018-11-22 11:58:08 +000014746<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00512">512</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 +000014747
Jenkinsb9abeae2018-11-22 11:58:08 +000014748<p class="reference">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>
14749<div class="fragment"><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</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="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</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="l00532"></a><span class="lineno"> 532</span>&#160; }</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</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 +000014750</div><!-- fragment -->
14751</div>
14752</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014753<a id="a786b9d823a527bb1e30d38f4dbe52d4b"></a>
14754<h2 class="memtitle"><span class="permalink"><a href="#a786b9d823a527bb1e30d38f4dbe52d4b">&#9670;&nbsp;</a></span>get_target_from_device() <span class="overload">[1/2]</span></h2>
14755
Jenkinsb3a371b2018-05-23 11:36:53 +010014756<div class="memitem">
14757<div class="memproto">
14758 <table class="memname">
14759 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014760 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> get_target_from_device </td>
Jenkinsb3a371b2018-05-23 11:36:53 +010014761 <td>(</td>
14762 <td class="paramname"></td><td>)</td>
14763 <td></td>
14764 </tr>
14765 </table>
14766</div><div class="memdoc">
14767
14768<p>Helper function to get the GPU target from GLES using GL_RENDERER enum. </p>
14769<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
14770
Jenkinsb9abeae2018-11-22 11:58:08 +000014771<p class="definition">Definition at line <a class="el" href="_g_c_helpers_8cpp_source.xhtml#l00028">28</a> of file <a class="el" href="_g_c_helpers_8cpp_source.xhtml">GCHelpers.cpp</a>.</p>
14772
14773<p class="reference">References <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>, and <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00672">glGetString()</a>.</p>
14774<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> std::string device_name = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(<a class="code" href="_open_g_l_e_s_8cpp.xhtml#a2ee378c6363791b2a733b2ba4ec6e846">glGetString</a>(GL_RENDERER));</div><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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &amp;device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
14775<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a2ee378c6363791b2a733b2ba4ec6e846"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a2ee378c6363791b2a733b2ba4ec6e846">glGetString</a></div><div class="ttdeci">const GLubyte *GL_APIENTRY glGetString(GLenum name)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00672">OpenGLES.cpp:672</a></div></div>
14776</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010014777</div>
14778</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014779<a id="a281384aa081efe5819eedd6a7c2a429b"></a>
14780<h2 class="memtitle"><span class="permalink"><a href="#a281384aa081efe5819eedd6a7c2a429b">&#9670;&nbsp;</a></span>get_target_from_device() <span class="overload">[2/2]</span></h2>
14781
Anthony Barbier871448e2017-03-24 14:54:29 +000014782<div class="memitem">
14783<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000014784 <table class="memname">
14785 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014786 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> get_target_from_device </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014787 <td>(</td>
Jenkins52ba29e2018-08-29 15:32:11 +000014788 <td class="paramtype">const cl::Device &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014789 <td class="paramname"><em>device</em></td><td>)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014790 <td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014791 </tr>
14792 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000014793</div><div class="memdoc">
14794
Anthony Barbierdbdab852017-06-23 15:42:00 +010014795<p>Helper function to get the GPU target from CL device. </p>
14796<dl class="params"><dt>Parameters</dt><dd>
14797 <table class="params">
14798 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
14799 </table>
14800 </dd>
14801</dl>
14802<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000014803
Jenkinsb9abeae2018-11-22 11:58:08 +000014804<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014805
Jenkinsb9abeae2018-11-22 11:58:08 +000014806<p class="reference">References <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>.</p>
14807
14808<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::default_ndrange()</a>, <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00055">GCScheduler::init()</a>, <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00077">CLScheduler::init()</a>, and <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00120">ICLKernel::set_target()</a>.</p>
14809<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; <span class="comment">// Query device name size</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; std::string device_name = device.getInfo&lt;CL_DEVICE_NAME&gt;();</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &amp;device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
14810</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010014811</div>
14812</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014813<a id="a0dc6fb54ac0bbc7bf512fe0ca7414076"></a>
14814<h2 class="memtitle"><span class="permalink"><a href="#a0dc6fb54ac0bbc7bf512fe0ca7414076">&#9670;&nbsp;</a></span>get_target_from_name()</h2>
14815
Jenkinsb3a371b2018-05-23 11:36:53 +010014816<div class="memitem">
14817<div class="memproto">
14818 <table class="memname">
14819 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014820 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> get_target_from_name </td>
Jenkinsb3a371b2018-05-23 11:36:53 +010014821 <td>(</td>
14822 <td class="paramtype">const std::string &amp;&#160;</td>
14823 <td class="paramname"><em>device_name</em></td><td>)</td>
14824 <td></td>
14825 </tr>
14826 </table>
14827</div><div class="memdoc">
14828
14829<p>Helper function to get the GPU target from a device name. </p>
14830<dl class="params"><dt>Parameters</dt><dd>
14831 <table class="params">
14832 <tr><td class="paramdir">[in]</td><td class="paramname">device_name</td><td>A device name</td></tr>
14833 </table>
14834 </dd>
14835</dl>
14836<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
14837
Jenkinsb9abeae2018-11-22 11:58:08 +000014838<p class="definition">Definition at line <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml">GPUTarget.cpp</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014839
Jenkinsb9abeae2018-11-22 11:58:08 +000014840<p class="reference">References <a class="el" href="_log_8h_source.xhtml#l00083">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>.</p>
14841
14842<p class="reference">Referenced by <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00145">dot8_supported()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00127">get_target_from_device()</a>, and <a class="el" href="tests_2validation_2_u_n_i_t_2_g_p_u_target_8cpp_source.xhtml#l00040">arm_compute::test::validation::TEST_CASE()</a>.</p>
14843<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; std::regex mali_regex(R<span class="stringliteral">&quot;(Mali-(.*))&quot;);</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="stringliteral"> std::smatch name_parts;</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="stringliteral"> </span><span class="keyword">const</span> <span class="keywordtype">bool</span> found_mali = std::regex_search(device_name, name_parts, mali_regex);</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; <span class="keywordflow">if</span>(!found_mali)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>(<span class="stringliteral">&quot;Can&#39;t find valid Mali GPU. Target is set to default.&quot;</span>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> GPUTarget::MIDGARD;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</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">char</span> target = name_parts.str(1)[0];</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">const</span> std::string &amp;version = name_parts.str(1);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; std::regex future_regex(R<span class="stringliteral">&quot;(.*X)&quot;);</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="stringliteral"> </span><span class="keyword">const</span> <span class="keywordtype">bool</span> is_future_bifrost = std::regex_search(version, future_regex);</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">if</span>(target == <span class="charliteral">&#39;G&#39;</span> || is_future_bifrost)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> get_bifrost_target(version);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(target == <span class="charliteral">&#39;T&#39;</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; <span class="keywordflow">return</span> get_midgard_target(version);</div><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="keywordflow">else</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>(<span class="stringliteral">&quot;Mali GPU unknown. Target is set to the default one. (BIFROST)&quot;</span>);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> GPUTarget::BIFROST;</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;}</div><div class="ttc" id="_log_8h_xhtml_a14f4c3a00d20ad742642767c9449993e"><div class="ttname"><a href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a></div><div class="ttdeci">#define ARM_COMPUTE_LOG_INFO_MSG_CORE(msg)</div><div class="ttdoc">Log information level message to the core system logger. </div><div class="ttdef"><b>Definition:</b> <a href="_log_8h_source.xhtml#l00083">Log.h:83</a></div></div>
14844</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010014845</div>
14846</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014847<a id="a9a9fa44b29bc17746a0b486626a76e0a"></a>
14848<h2 class="memtitle"><span class="permalink"><a href="#a9a9fa44b29bc17746a0b486626a76e0a">&#9670;&nbsp;</a></span>get_threads_hint()</h2>
14849
Jenkinsb3a371b2018-05-23 11:36:53 +010014850<div class="memitem">
14851<div class="memproto">
14852 <table class="memname">
14853 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014854 <td class="memname">unsigned int get_threads_hint </td>
Jenkinsb3a371b2018-05-23 11:36:53 +010014855 <td>(</td>
14856 <td class="paramname"></td><td>)</td>
14857 <td></td>
14858 </tr>
14859 </table>
14860</div><div class="memdoc">
14861
14862<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>
14863<p>To maximize performance the library attempts to process workloads concurrently using as many threads as big cores are available on the system.</p>
14864<dl class="section return"><dt>Returns</dt><dd>The minumum number of common cores. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000014865
Jenkinsb9abeae2018-11-22 11:58:08 +000014866<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00359">359</a> of file <a class="el" href="_c_p_u_utils_8cpp_source.xhtml">CPUUtils.cpp</a>.</p>
14867
14868<p class="reference">References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>.</p>
14869
14870<p class="reference">Referenced by <a class="el" href="_i_scheduler_8cpp_source.xhtml#l00031">IScheduler::IScheduler()</a>.</p>
14871<div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;{</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_threads_hint = 1;</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="preprocessor">#ifndef BARE_METAL</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; std::map&lt;std::string, unsigned int&gt; cpu_part_occurrence_map;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="comment">// CPU part regex</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; std::regex cpu_part_rgx(R<span class="stringliteral">&quot;(.*CPU part.+?(?=:).+?(?=\w+)(\w+).*)&quot;);</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="stringliteral"> std::smatch cpu_part_match;</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="stringliteral"> </span><span class="comment">// Read cpuinfo and get occurrence of each core</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; std::ifstream cpuinfo;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; cpuinfo.open(<span class="stringliteral">&quot;/proc/cpuinfo&quot;</span>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">std::ios::in</a>);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span>(cpuinfo.is_open())</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; std::string line;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">while</span>(<span class="keywordtype">bool</span>(getline(cpuinfo, line)))</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">if</span>(std::regex_search(line.cbegin(), line.cend(), cpu_part_match, cpu_part_rgx))</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; std::string cpu_part = cpu_part_match[1];</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">if</span>(cpu_part_occurrence_map.find(cpu_part) != cpu_part_occurrence_map.end())</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; cpu_part_occurrence_map[cpu_part]++;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; cpu_part_occurrence_map[cpu_part] = 1;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; }</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">// Get min number of threads</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keyword">auto</span> min_common_cores = std::min_element(cpu_part_occurrence_map.begin(), cpu_part_occurrence_map.end(),</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; [](<span class="keyword">const</span> std::pair&lt;std::string, unsigned int&gt; &amp;p1, <span class="keyword">const</span> std::pair&lt;std::string, unsigned int&gt; &amp;p2)</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> p1.second &lt; p2.second;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; });</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">// Set thread hint</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; num_threads_hint = cpu_part_occurrence_map.empty() ? std::thread::hardware_concurrency() : min_common_cores-&gt;second;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BARE_METAL */</span><span class="preprocessor"></span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">return</span> num_threads_hint;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</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#l00265">Winograd.cpp:265</a></div></div>
14872</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000014873</div>
14874</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014875<a id="aa9ed41c417478e5b1e346de1899137b1"></a>
14876<h2 class="memtitle"><span class="permalink"><a href="#aa9ed41c417478e5b1e346de1899137b1">&#9670;&nbsp;</a></span>get_underlying_cl_type_from_data_type()</h2>
14877
Kaizen8938bd32017-09-28 14:38:23 +010014878<div class="memitem">
14879<div class="memproto">
14880 <table class="memname">
14881 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000014882 <td class="memname">std::string get_underlying_cl_type_from_data_type </td>
Kaizen8938bd32017-09-28 14:38:23 +010014883 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014884 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014885 <td class="paramname"><em>dt</em></td><td>)</td>
14886 <td></td>
14887 </tr>
14888 </table>
14889</div><div class="memdoc">
14890
14891<p>Translates fixed point tensor data type to the underlying OpenCL type. </p>
14892<dl class="params"><dt>Parameters</dt><dd>
14893 <table class="params">
14894 <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>
14895 </table>
14896 </dd>
14897</dl>
14898<dl class="section return"><dt>Returns</dt><dd>The string specifying the underlying OpenCL type to be used. </dd></dl>
14899
Jenkinsb9abeae2018-11-22 11:58:08 +000014900<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00122">122</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
14901
14902<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00035">get_cl_type_from_data_type()</a>.</p>
14903
14904<p class="reference">Referenced by <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00095">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00101">CLWidthConcatenate4TensorsKernel::configure()</a>, and <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00101">CLDepthConcatenateLayerKernel::configure()</a>.</p>
14905<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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a>(dt);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a545eeda2eaa3f5a54345ce8169e21184"><div class="ttname"><a href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">arm_compute::get_cl_type_from_data_type</a></div><div class="ttdeci">std::string get_cl_type_from_data_type(const DataType &amp;dt)</div><div class="ttdoc">Translates a tensor data type to the appropriate OpenCL type. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00035">CLHelpers.cpp:35</a></div></div>
14906</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014907</div>
14908</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014909<a id="a1da498e9b2c2d24883087f62c6bbe75d"></a>
14910<h2 class="memtitle"><span class="permalink"><a href="#a1da498e9b2c2d24883087f62c6bbe75d">&#9670;&nbsp;</a></span>gpu_target_is_in() <span class="overload">[1/2]</span></h2>
14911
Jenkinsb3a371b2018-05-23 11:36:53 +010014912<div class="memitem">
14913<div class="memproto">
14914 <table class="memname">
14915 <tr>
14916 <td class="memname">bool arm_compute::gpu_target_is_in </td>
14917 <td>(</td>
14918 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
14919 <td class="paramname"><em>target_to_check</em>, </td>
14920 </tr>
14921 <tr>
14922 <td class="paramkey"></td>
14923 <td></td>
14924 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
14925 <td class="paramname"><em>target</em>, </td>
14926 </tr>
14927 <tr>
14928 <td class="paramkey"></td>
14929 <td></td>
14930 <td class="paramtype">Args...&#160;</td>
14931 <td class="paramname"><em>targets</em>&#160;</td>
14932 </tr>
14933 <tr>
14934 <td></td>
14935 <td>)</td>
14936 <td></td><td></td>
14937 </tr>
14938 </table>
14939</div><div class="memdoc">
14940
14941<p>Helper function to check whether a gpu target is equal to the provided targets. </p>
14942<dl class="params"><dt>Parameters</dt><dd>
14943 <table class="params">
14944 <tr><td class="paramdir">[in]</td><td class="paramname">target_to_check</td><td>gpu target to check </td></tr>
14945 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>First target to compare against </td></tr>
14946 <tr><td class="paramdir">[in]</td><td class="paramname">targets</td><td>(Optional) Additional targets to compare with</td></tr>
14947 </table>
14948 </dd>
14949</dl>
14950<dl class="section return"><dt>Returns</dt><dd>True if the target is equal with at least one of the targets. </dd></dl>
14951
Jenkinsb9abeae2018-11-22 11:58:08 +000014952<p class="definition">Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00094">94</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014953
Jenkinsb9abeae2018-11-22 11:58:08 +000014954<p class="reference">Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_g_p_u_target_8cpp_source.xhtml#l00058">arm_compute::test::validation::TEST_CASE()</a>.</p>
14955<div class="fragment"><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">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="l00097"></a><span class="lineno"> 97</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#l00100">GPUTarget.h:100</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010014956</div><!-- fragment -->
14957</div>
14958</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014959<a id="aab39ce9a593f7e12a4bf4cb47272b917"></a>
14960<h2 class="memtitle"><span class="permalink"><a href="#aab39ce9a593f7e12a4bf4cb47272b917">&#9670;&nbsp;</a></span>gpu_target_is_in() <span class="overload">[2/2]</span></h2>
14961
Jenkinsb3a371b2018-05-23 11:36:53 +010014962<div class="memitem">
14963<div class="memproto">
14964<table class="mlabels">
14965 <tr>
14966 <td class="mlabels-left">
14967 <table class="memname">
14968 <tr>
14969 <td class="memname">bool arm_compute::gpu_target_is_in </td>
14970 <td>(</td>
14971 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
14972 <td class="paramname"><em>target_to_check</em>, </td>
14973 </tr>
14974 <tr>
14975 <td class="paramkey"></td>
14976 <td></td>
14977 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
14978 <td class="paramname"><em>target</em>&#160;</td>
14979 </tr>
14980 <tr>
14981 <td></td>
14982 <td>)</td>
14983 <td></td><td></td>
14984 </tr>
14985 </table>
14986 </td>
14987 <td class="mlabels-right">
14988<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14989 </tr>
14990</table>
14991</div><div class="memdoc">
14992
14993<p>Variant of gpu_target_is_in for comparing two targets. </p>
14994
Jenkinsb9abeae2018-11-22 11:58:08 +000014995<p class="definition">Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
14996<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> target_to_check == target;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010014997</div>
14998</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000014999<a id="aa2f22cc01532e0236e438324310fdb94"></a>
15000<h2 class="memtitle"><span class="permalink"><a href="#aa2f22cc01532e0236e438324310fdb94">&#9670;&nbsp;</a></span>has_format_horizontal_subsampling()</h2>
15001
Anthony Barbier06ea0482018-02-22 15:45:35 +000015002<div class="memitem">
15003<div class="memproto">
15004<table class="mlabels">
15005 <tr>
15006 <td class="mlabels-left">
15007 <table class="memname">
15008 <tr>
15009 <td class="memname">bool arm_compute::has_format_horizontal_subsampling </td>
15010 <td>(</td>
15011 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
15012 <td class="paramname"><em>format</em></td><td>)</td>
15013 <td></td>
15014 </tr>
15015 </table>
15016 </td>
15017 <td class="mlabels-right">
15018<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15019 </tr>
15020</table>
15021</div><div class="memdoc">
15022
15023<p>Return true if the given format has horizontal subsampling. </p>
15024<dl class="params"><dt>Parameters</dt><dd>
15025 <table class="params">
15026 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to determine subsampling.</td></tr>
15027 </table>
15028 </dd>
15029</dl>
15030<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled horizontaly. </dd></dl>
15031
Jenkinsb9abeae2018-11-22 11:58:08 +000015032<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">542</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 +000015033
Jenkinsb9abeae2018-11-22 11:58:08 +000015034<p class="reference">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>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015035
Jenkinsb9abeae2018-11-22 11:58:08 +000015036<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">calculate_subsampled_shape()</a>.</p>
15037<div class="fragment"><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; <span class="keywordflow">return</span> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : <span class="keyword">false</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000015038</div>
15039</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015040<a id="a95358b677c5c17f5cc1e369e4a27e2c2"></a>
15041<h2 class="memtitle"><span class="permalink"><a href="#a95358b677c5c17f5cc1e369e4a27e2c2">&#9670;&nbsp;</a></span>has_format_vertical_subsampling()</h2>
15042
Anthony Barbier06ea0482018-02-22 15:45:35 +000015043<div class="memitem">
15044<div class="memproto">
15045<table class="mlabels">
15046 <tr>
15047 <td class="mlabels-left">
15048 <table class="memname">
15049 <tr>
15050 <td class="memname">bool arm_compute::has_format_vertical_subsampling </td>
15051 <td>(</td>
15052 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
15053 <td class="paramname"><em>format</em></td><td>)</td>
15054 <td></td>
15055 </tr>
15056 </table>
15057 </td>
15058 <td class="mlabels-right">
15059<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15060 </tr>
15061</table>
15062</div><div class="memdoc">
15063
15064<p>Return true if the given format has vertical subsampling. </p>
15065<dl class="params"><dt>Parameters</dt><dd>
15066 <table class="params">
15067 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to determine subsampling.</td></tr>
15068 </table>
15069 </dd>
15070</dl>
15071<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled verticaly. </dd></dl>
15072
Jenkinsb9abeae2018-11-22 11:58:08 +000015073<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">553</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 +000015074
Jenkinsb9abeae2018-11-22 11:58:08 +000015075<p class="reference">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>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015076
Jenkinsb9abeae2018-11-22 11:58:08 +000015077<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">calculate_subsampled_shape()</a>.</p>
15078<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; <span class="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : <span class="keyword">false</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010015079</div>
15080</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015081<a id="a69c96727fe92b1ad1b07da3117c73c76"></a>
15082<h2 class="memtitle"><span class="permalink"><a href="#a69c96727fe92b1ad1b07da3117c73c76">&#9670;&nbsp;</a></span>IFloatFlip()</h2>
15083
15084<div class="memitem">
15085<div class="memproto">
15086<table class="mlabels">
15087 <tr>
15088 <td class="mlabels-left">
15089 <table class="memname">
15090 <tr>
15091 <td class="memname">float arm_compute::IFloatFlip </td>
15092 <td>(</td>
15093 <td class="paramtype">int32_t&#160;</td>
15094 <td class="paramname"><em>val</em></td><td>)</td>
15095 <td></td>
15096 </tr>
15097 </table>
15098 </td>
15099 <td class="mlabels-right">
15100<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15101 </tr>
15102</table>
15103</div><div class="memdoc">
15104
15105<p class="definition">Definition at line <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml">CLMinMaxLocationKernel.cpp</a>.</p>
15106
15107<p class="reference">Referenced by <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00124">CLMinMaxKernel::run()</a>.</p>
15108<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; static_assert(<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) == <span class="keyword">sizeof</span>(int32_t), <span class="stringliteral">&quot;Float must be same size as int32_t&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordtype">float</span> flt_val = 0.f;</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; val = (val &gt;= 0) ? val : val ^ 0x7FFFFFFF;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; memcpy(&amp;flt_val, &amp;val, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> flt_val;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div></div><!-- fragment -->
15109</div>
15110</div>
15111<a id="a053a24bb37402fa4b4d8d5963976ba17"></a>
15112<h2 class="memtitle"><span class="permalink"><a href="#a053a24bb37402fa4b4d8d5963976ba17">&#9670;&nbsp;</a></span>ignore_unused()</h2>
15113
Jenkinsb3a371b2018-05-23 11:36:53 +010015114<div class="memitem">
15115<div class="memproto">
15116<table class="mlabels">
15117 <tr>
15118 <td class="mlabels-left">
15119 <table class="memname">
15120 <tr>
15121 <td class="memname">void arm_compute::ignore_unused </td>
15122 <td>(</td>
15123 <td class="paramtype">T &amp;&amp;&#160;</td>
15124 <td class="paramname"><em>...</em></td><td>)</td>
15125 <td></td>
15126 </tr>
15127 </table>
15128 </td>
15129 <td class="mlabels-right">
15130<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15131 </tr>
15132</table>
15133</div><div class="memdoc">
15134
15135<p>Ignores unused arguments. </p>
15136<dl class="tparams"><dt>Template Parameters</dt><dd>
15137 <table class="tparams">
15138 <tr><td class="paramname">T</td><td>Argument types</td></tr>
15139 </table>
15140 </dd>
15141</dl>
15142<dl class="params"><dt>Parameters</dt><dd>
15143 <table class="params">
15144 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Ignored arguments </td></tr>
15145 </table>
15146 </dd>
15147</dl>
15148
Jenkinsb9abeae2018-11-22 11:58:08 +000015149<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010015150<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 +000015151</div>
15152</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015153<a id="ad34f2150f1c9f8a3ecb7298162124e5d"></a>
15154<h2 class="memtitle"><span class="permalink"><a href="#ad34f2150f1c9f8a3ecb7298162124e5d">&#9670;&nbsp;</a></span>index2coords()</h2>
15155
Kaizen8938bd32017-09-28 14:38:23 +010015156<div class="memitem">
15157<div class="memproto">
15158<table class="mlabels">
15159 <tr>
15160 <td class="mlabels-left">
15161 <table class="memname">
15162 <tr>
15163 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> index2coords </td>
15164 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015165 <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 +010015166 <td class="paramname"><em>shape</em>, </td>
15167 </tr>
15168 <tr>
15169 <td class="paramkey"></td>
15170 <td></td>
15171 <td class="paramtype">int&#160;</td>
15172 <td class="paramname"><em>index</em>&#160;</td>
15173 </tr>
15174 <tr>
15175 <td></td>
15176 <td>)</td>
15177 <td></td><td></td>
15178 </tr>
15179 </table>
15180 </td>
15181 <td class="mlabels-right">
15182<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15183 </tr>
15184</table>
15185</div><div class="memdoc">
15186
15187<p>Convert a linear index into n-dimensional coordinates. </p>
15188<dl class="params"><dt>Parameters</dt><dd>
15189 <table class="params">
15190 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
15191 <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Linear index specifying the i-th element.</td></tr>
15192 </table>
15193 </dd>
15194</dl>
15195<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
15196
Jenkinsb9abeae2018-11-22 11:58:08 +000015197<p class="definition">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 +010015198
Jenkinsb9abeae2018-11-22 11:58:08 +000015199<p class="reference">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 +000015200
Jenkinsb9abeae2018-11-22 11:58:08 +000015201<p class="reference">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>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00050">NEGEMMInterleavedWrapper::prepare()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000015202<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>
15203<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 +010015204</div><!-- fragment -->
15205</div>
15206</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015207<a id="aa7510e92de273e0457ce12218f712ad4"></a>
15208<h2 class="memtitle"><span class="permalink"><a href="#aa7510e92de273e0457ce12218f712ad4">&#9670;&nbsp;</a></span>intersect_valid_regions()</h2>
15209
Anthony Barbier871448e2017-03-24 14:54:29 +000015210<div class="memitem">
15211<div class="memproto">
15212 <table class="memname">
15213 <tr>
15214 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
15215 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015216 <td class="paramtype">const Ts &amp;...&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015217 <td class="paramname"><em>regions</em></td><td>)</td>
15218 <td></td>
15219 </tr>
15220 </table>
15221</div><div class="memdoc">
15222
15223<p>Intersect multiple valid regions. </p>
15224<dl class="params"><dt>Parameters</dt><dd>
15225 <table class="params">
15226 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
15227 </table>
15228 </dd>
15229</dl>
15230<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
15231
Jenkinsb9abeae2018-11-22 11:58:08 +000015232<p class="definition">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 +000015233
Jenkinsb9abeae2018-11-22 11:58:08 +000015234<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">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#l00282">ValidRegion::shape</a>.</p>
15235
15236<p class="reference">Referenced by <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel&lt; mag_type, phase_type &gt;::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00130">CLColorConvertKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00145">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel&lt; block_size &gt;::configure()</a>, and <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000015237<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 +010015238</div><!-- fragment -->
15239</div>
15240</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015241<a id="af5982a092e9eb743fce2d6392bdd8897"></a>
15242<h2 class="memtitle"><span class="permalink"><a href="#af5982a092e9eb743fce2d6392bdd8897">&#9670;&nbsp;</a></span>is_data_type_float()</h2>
15243
Anthony Barbier871448e2017-03-24 14:54:29 +000015244<div class="memitem">
15245<div class="memproto">
15246<table class="mlabels">
15247 <tr>
15248 <td class="mlabels-left">
15249 <table class="memname">
15250 <tr>
15251 <td class="memname">bool arm_compute::is_data_type_float </td>
15252 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015253 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015254 <td class="paramname"><em>dt</em></td><td>)</td>
15255 <td></td>
15256 </tr>
15257 </table>
15258 </td>
15259 <td class="mlabels-right">
15260<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15261 </tr>
15262</table>
15263</div><div class="memdoc">
15264
Anthony Barbierdbdab852017-06-23 15:42:00 +010015265<p>Check if a given data type is of floating point type. </p>
15266<dl class="params"><dt>Parameters</dt><dd>
15267 <table class="params">
15268 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
15269 </table>
15270 </dd>
15271</dl>
15272<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
15273
Jenkinsb9abeae2018-11-22 11:58:08 +000015274<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00959">959</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 +000015275
Jenkinsb9abeae2018-11-22 11:58:08 +000015276<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
15277
15278<p class="reference">Referenced by <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00067">CLMeanStdDev::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00128">CLArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00317">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00074">ITensor::print()</a>, and <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00049">CLMeanStdDev::validate()</a>.</p>
15279<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; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; }</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015280</div>
15281</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015282<a id="a0bee325b210f81bb89fe1f9e15badf9c"></a>
15283<h2 class="memtitle"><span class="permalink"><a href="#a0bee325b210f81bb89fe1f9e15badf9c">&#9670;&nbsp;</a></span>is_data_type_quantized()</h2>
15284
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015285<div class="memitem">
15286<div class="memproto">
15287<table class="mlabels">
15288 <tr>
15289 <td class="mlabels-left">
15290 <table class="memname">
15291 <tr>
15292 <td class="memname">bool arm_compute::is_data_type_quantized </td>
15293 <td>(</td>
15294 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
15295 <td class="paramname"><em>dt</em></td><td>)</td>
15296 <td></td>
15297 </tr>
15298 </table>
15299 </td>
15300 <td class="mlabels-right">
15301<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15302 </tr>
15303</table>
15304</div><div class="memdoc">
15305
15306<p>Check if a given data type is of quantized type. </p>
15307<dl class="section note"><dt>Note</dt><dd>Quantized is considered a super-set of fixed-point and asymmetric data types.</dd></dl>
15308<dl class="params"><dt>Parameters</dt><dd>
15309 <table class="params">
15310 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
15311 </table>
15312 </dd>
15313</dl>
15314<dl class="section return"><dt>Returns</dt><dd>True if data type is of quantized type, else false. </dd></dl>
15315
Jenkinsb9abeae2018-11-22 11:58:08 +000015316<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00979">979</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 +000015317
Jenkinsb9abeae2018-11-22 11:58:08 +000015318<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
15319
15320<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00125">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00121">CLReductionOperation::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00317">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00222">CLReductionOperationKernel::run()</a>, and <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00063">CLReductionOperation::validate()</a>.</p>
15321<div class="fragment"><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;{</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keywordflow">switch</span>(dt)</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; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; }</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015322</div>
15323</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015324<a id="a14f46283f316e7f0fad301d5c1507e9f"></a>
15325<h2 class="memtitle"><span class="permalink"><a href="#a14f46283f316e7f0fad301d5c1507e9f">&#9670;&nbsp;</a></span>is_data_type_quantized_asymmetric()</h2>
15326
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015327<div class="memitem">
15328<div class="memproto">
15329<table class="mlabels">
15330 <tr>
15331 <td class="mlabels-left">
15332 <table class="memname">
15333 <tr>
15334 <td class="memname">bool arm_compute::is_data_type_quantized_asymmetric </td>
15335 <td>(</td>
15336 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
15337 <td class="paramname"><em>dt</em></td><td>)</td>
15338 <td></td>
15339 </tr>
15340 </table>
15341 </td>
15342 <td class="mlabels-right">
15343<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15344 </tr>
15345</table>
15346</div><div class="memdoc">
15347
15348<p>Check if a given data type is of asymmetric quantized type. </p>
15349<dl class="params"><dt>Parameters</dt><dd>
15350 <table class="params">
15351 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
15352 </table>
15353 </dd>
15354</dl>
15355<dl class="section return"><dt>Returns</dt><dd>True if data type is of symmetric quantized type, else false. </dd></dl>
15356
Jenkinsb9abeae2018-11-22 11:58:08 +000015357<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00996">996</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 +000015358
Jenkinsb9abeae2018-11-22 11:58:08 +000015359<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015360
Jenkinsb9abeae2018-11-22 11:58:08 +000015361<p class="reference">Referenced by <a class="el" href="_graph_builder_8cpp_source.xhtml#l00190">GraphBuilder::add_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00246">GraphBuilder::add_deconvolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00313">GraphBuilder::add_depthwise_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00391">GraphBuilder::add_fully_connected_layer()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00041">CLDepthwiseIm2ColKernel::CLDepthwiseIm2ColKernel()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_8cpp_source.xhtml#l00033">CLPoolingLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_8cpp_source.xhtml#l00038">NEPoolingLayer::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_8cpp_source.xhtml#l00040">CLDirectConvolutionLayer::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00044">GCConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00128">CLArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00046">NEConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00073">CLSoftmaxLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00046">CLConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00045">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00044">CLDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00139">NEFullyConnectedLayer::configure()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00137">CLFullyConnectedLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00098">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00164">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00296">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00109">arm_compute::graph::backends::detail::create_convolution_layer&lt; GCConvolutionLayerFunctions, GCTargetInfo &gt;()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00082">arm_compute::graph::backends::detail::create_convolution_layer&lt; NEConvolutionLayerFunctions, NETargetInfo &gt;()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00431">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00162">arm_compute::graph::backends::detail::create_depthwise_convolution_layer&lt; GCDepthwiseConvolutionLayerFunctions, GCTargetInfo &gt;()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00602">arm_compute::graph::backends::detail::create_fully_connected_layer()</a>, <a class="el" href="tests_2validation_2_c_l_2_fully_connected_layer_8cpp_source.xhtml#l00068">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="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_8cpp_source.xhtml#l00057">CLDeconvolutionLayerUpsample::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_8cpp_source.xhtml#l00077">CLSpaceToBatchLayer::run()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00062">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00148">CLSoftmaxLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00063">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00174">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00240">NEFullyConnectedLayer::validate()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00241">CLFullyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00202">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00114">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
15362<div class="fragment"><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;{</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; {</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; }</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000015363</div>
15364</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015365<a id="a0a7bb17a0a0414a7162f635776a02eb5"></a>
15366<h2 class="memtitle"><span class="permalink"><a href="#a0a7bb17a0a0414a7162f635776a02eb5">&#9670;&nbsp;</a></span>lower_string()</h2>
15367
Anthony Barbier871448e2017-03-24 14:54:29 +000015368<div class="memitem">
15369<div class="memproto">
15370 <table class="memname">
15371 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000015372 <td class="memname">std::string lower_string </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015373 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015374 <td class="paramtype">const std::string &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015375 <td class="paramname"><em>val</em></td><td>)</td>
15376 <td></td>
15377 </tr>
15378 </table>
15379</div><div class="memdoc">
15380
15381<p>Lower a given string. </p>
15382<dl class="params"><dt>Parameters</dt><dd>
15383 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010015384 <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 +000015385 </table>
15386 </dd>
15387</dl>
15388<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
15389
Jenkinsb9abeae2018-11-22 11:58:08 +000015390<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00317">317</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015391
Jenkinsb9abeae2018-11-22 11:58:08 +000015392<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00202">arm_compute::utility::tolower()</a>.</p>
15393
15394<p class="reference">Referenced by <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00085">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00095">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00101">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00118">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00408">arm_compute::graph_utils::get_input_accessor()</a>.</p>
15395<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;{</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; std::string res = val;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; std::transform(res.begin(), res.end(), res.begin(), <a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">::tolower</a>);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00202">Utility.h:202</a></div></div>
15396</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000015397</div>
15398</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015399<a id="adfbf24db2a651269a83f7e49e2b86850"></a>
15400<h2 class="memtitle"><span class="permalink"><a href="#adfbf24db2a651269a83f7e49e2b86850">&#9670;&nbsp;</a></span>max_consecutive_elements_display_width()</h2>
15401
Anthony Barbiera4376382017-04-12 15:12:46 +010015402<div class="memitem">
15403<div class="memproto">
15404 <table class="memname">
15405 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000015406 <td class="memname">int max_consecutive_elements_display_width </td>
Anthony Barbiera4376382017-04-12 15:12:46 +010015407 <td>(</td>
15408 <td class="paramtype">std::ostream &amp;&#160;</td>
15409 <td class="paramname"><em>s</em>, </td>
15410 </tr>
15411 <tr>
15412 <td class="paramkey"></td>
15413 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015414 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010015415 <td class="paramname"><em>dt</em>, </td>
15416 </tr>
15417 <tr>
15418 <td class="paramkey"></td>
15419 <td></td>
15420 <td class="paramtype">const uint8_t *&#160;</td>
15421 <td class="paramname"><em>ptr</em>, </td>
15422 </tr>
15423 <tr>
15424 <td class="paramkey"></td>
15425 <td></td>
15426 <td class="paramtype">unsigned int&#160;</td>
15427 <td class="paramname"><em>n</em>&#160;</td>
15428 </tr>
15429 <tr>
15430 <td></td>
15431 <td>)</td>
15432 <td></td><td></td>
15433 </tr>
15434 </table>
15435</div><div class="memdoc">
15436
15437<p>Identify the maximum width of n consecutive elements. </p>
15438<dl class="params"><dt>Parameters</dt><dd>
15439 <table class="params">
15440 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
15441 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
15442 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
15443 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
15444 </table>
15445 </dd>
15446</dl>
15447<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
15448
Jenkinsb9abeae2018-11-22 11:58:08 +000015449<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00428">428</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015450
Jenkinsb9abeae2018-11-22 11:58:08 +000015451<p class="reference">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>
15452
15453<p class="reference">Referenced by <a class="el" href="_i_tensor_8cpp_source.xhtml#l00074">ITensor::print()</a>.</p>
15454<div class="fragment"><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">switch</span>(dt)</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="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;uint8_t&gt;(s, ptr, n);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;int8_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>int8_t *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;uint16_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint16_t *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;int16_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>int16_t *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;uint32_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint32_t *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;int32_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>int32_t *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;float&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">float</span> *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl&lt;half&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> *<span class="keyword">&gt;</span>(ptr), n);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</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="l00451"></a><span class="lineno"> 451</span>&#160; }</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</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>
15455<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>
15456</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010015457</div>
15458</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015459<a id="aaecee617b967dd96f27d2f36732fb68e"></a>
15460<h2 class="memtitle"><span class="permalink"><a href="#aaecee617b967dd96f27d2f36732fb68e">&#9670;&nbsp;</a></span>max_consecutive_elements_display_width_impl()</h2>
15461
Anthony Barbiera4376382017-04-12 15:12:46 +010015462<div class="memitem">
15463<div class="memproto">
15464 <table class="memname">
15465 <tr>
15466 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
15467 <td>(</td>
15468 <td class="paramtype">std::ostream &amp;&#160;</td>
15469 <td class="paramname"><em>s</em>, </td>
15470 </tr>
15471 <tr>
15472 <td class="paramkey"></td>
15473 <td></td>
15474 <td class="paramtype">const T *&#160;</td>
15475 <td class="paramname"><em>ptr</em>, </td>
15476 </tr>
15477 <tr>
15478 <td class="paramkey"></td>
15479 <td></td>
15480 <td class="paramtype">unsigned int&#160;</td>
15481 <td class="paramname"><em>n</em>&#160;</td>
15482 </tr>
15483 <tr>
15484 <td></td>
15485 <td>)</td>
15486 <td></td><td></td>
15487 </tr>
15488 </table>
15489</div><div class="memdoc">
15490
15491<p>Identify the maximum width of n consecutive elements. </p>
15492<dl class="params"><dt>Parameters</dt><dd>
15493 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010015494 <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>
15495 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
15496 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements.</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +010015497 </table>
15498 </dd>
15499</dl>
15500<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
15501
Jenkinsb9abeae2018-11-22 11:58:08 +000015502<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01069">1069</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
15503<div class="fragment"><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="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="l01072"></a><span class="lineno"> 1072</span>&#160;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</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="l01075"></a><span class="lineno"> 1075</span>&#160; {</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; std::stringstream ss;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; ss.copyfmt(s);</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; <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="l01080"></a><span class="lineno"> 1080</span>&#160; {</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</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="l01082"></a><span class="lineno"> 1082</span>&#160; ss &lt;&lt; static_cast&lt;T&gt;(ptr[i]);</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; }</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; {</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; }</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; }</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</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 +010015504</div><!-- fragment -->
15505</div>
15506</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015507<a id="ab14153fb809c18823af3c9c8bc4286cb"></a>
15508<h2 class="memtitle"><span class="permalink"><a href="#ab14153fb809c18823af3c9c8bc4286cb">&#9670;&nbsp;</a></span>num_channels_from_format()</h2>
15509
Anthony Barbier871448e2017-03-24 14:54:29 +000015510<div class="memitem">
15511<div class="memproto">
15512<table class="mlabels">
15513 <tr>
15514 <td class="mlabels-left">
15515 <table class="memname">
15516 <tr>
15517 <td class="memname">size_t arm_compute::num_channels_from_format </td>
15518 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015519 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015520 <td class="paramname"><em>format</em></td><td>)</td>
15521 <td></td>
15522 </tr>
15523 </table>
15524 </td>
15525 <td class="mlabels-right">
15526<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15527 </tr>
15528</table>
15529</div><div class="memdoc">
15530
15531<p>Return the number of channels for a given single-planar pixel format. </p>
15532<dl class="params"><dt>Parameters</dt><dd>
15533 <table class="params">
15534 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
15535 </table>
15536 </dd>
15537</dl>
15538<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
15539
Jenkinsb9abeae2018-11-22 11:58:08 +000015540<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00471">471</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 +000015541
Jenkinsb9abeae2018-11-22 11:58:08 +000015542<p class="reference">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>
15543
15544<p class="reference">Referenced by <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00104">TensorInfo::init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00173">TensorInfo::init_auto_padding()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00325">TensorInfo::set_format()</a>.</p>
15545<div class="fragment"><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; <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000015546</div>
15547</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015548<a id="a2a71659def659c8b1c164023a99a25a9"></a>
15549<h2 class="memtitle"><span class="permalink"><a href="#a2a71659def659c8b1c164023a99a25a9">&#9670;&nbsp;</a></span>num_planes_from_format()</h2>
15550
Anthony Barbier871448e2017-03-24 14:54:29 +000015551<div class="memitem">
15552<div class="memproto">
15553<table class="mlabels">
15554 <tr>
15555 <td class="mlabels-left">
15556 <table class="memname">
15557 <tr>
15558 <td class="memname">size_t arm_compute::num_planes_from_format </td>
15559 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015560 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015561 <td class="paramname"><em>format</em></td><td>)</td>
15562 <td></td>
15563 </tr>
15564 </table>
15565 </td>
15566 <td class="mlabels-right">
15567<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15568 </tr>
15569</table>
15570</div><div class="memdoc">
15571
15572<p>Return the number of planes for a given format. </p>
15573<dl class="params"><dt>Parameters</dt><dd>
15574 <table class="params">
15575 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
15576 </table>
15577 </dd>
15578</dl>
15579<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
15580
Jenkinsb9abeae2018-11-22 11:58:08 +000015581<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00437">437</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 +000015582
Jenkinsb9abeae2018-11-22 11:58:08 +000015583<p class="reference">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>
15584
15585<p class="reference">Referenced by <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00238">CLChannelCombineKernel::run()</a>.</p>
15586<div class="fragment"><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;{</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</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="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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 +000015587</div><!-- fragment -->
15588</div>
15589</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015590<a id="a5f49decb4b0a74d5361686ab45db8961"></a>
15591<h2 class="memtitle"><span class="permalink"><a href="#a5f49decb4b0a74d5361686ab45db8961">&#9670;&nbsp;</a></span>opencl_is_available()</h2>
15592
Anthony Barbier46d59272017-05-04 09:15:15 +010015593<div class="memitem">
15594<div class="memproto">
15595 <table class="memname">
15596 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000015597 <td class="memname">bool opencl_is_available </td>
Anthony Barbier46d59272017-05-04 09:15:15 +010015598 <td>(</td>
15599 <td class="paramname"></td><td>)</td>
15600 <td></td>
15601 </tr>
15602 </table>
15603</div><div class="memdoc">
15604
Jenkinsb3a371b2018-05-23 11:36:53 +010015605<p>Check if OpenCL is available. </p>
15606<dl class="section return"><dt>Returns</dt><dd>True if OpenCL is available. </dd></dl>
15607
Jenkinsb9abeae2018-11-22 11:58:08 +000015608<p class="definition">Definition at line <a class="el" href="_open_c_l_8cpp_source.xhtml#l00133">133</a> of file <a class="el" href="_open_c_l_8cpp_source.xhtml">OpenCL.cpp</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015609
Jenkinsb9abeae2018-11-22 11:58:08 +000015610<p class="reference">References <a class="el" href="_open_c_l_8h_source.xhtml#l00092">CLSymbols::clBuildProgram_ptr</a>, <a class="el" href="_open_c_l_8cpp_source.xhtml#l00032">CLSymbols::get()</a>, and <a class="el" href="_open_c_l_8cpp_source.xhtml#l00038">CLSymbols::load_default()</a>.</p>
15611
15612<p class="reference">Referenced by <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00049">CLScheduler::get()</a>, <a class="el" href="_c_l_device_backend_8cpp_source.xhtml#l00136">CLDeviceBackend::is_backend_supported()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00138">Kernel::Kernel()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00528">Framework::run()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00819">arm_compute::test::sync_if_necessary()</a>.</p>
15613<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; CLSymbols::get().load_default();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> CLSymbols::get().clBuildProgram_ptr != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier46d59272017-05-04 09:15:15 +010015614</div>
15615</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015616<a id="ad8ec10f67d9849be264c23c5329d9324"></a>
15617<h2 class="memtitle"><span class="permalink"><a href="#ad8ec10f67d9849be264c23c5329d9324">&#9670;&nbsp;</a></span>opengles31_is_available()</h2>
15618
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015619<div class="memitem">
15620<div class="memproto">
15621 <table class="memname">
15622 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000015623 <td class="memname">bool opengles31_is_available </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015624 <td>(</td>
15625 <td class="paramname"></td><td>)</td>
15626 <td></td>
15627 </tr>
15628 </table>
15629</div><div class="memdoc">
15630
15631<p>Check if the OpenGL ES 3.1 API is available at runtime. </p>
15632<dl class="section return"><dt>Returns</dt><dd>true if the OpenGL ES 3.1 API is available. </dd></dl>
15633
Jenkinsb9abeae2018-11-22 11:58:08 +000015634<p class="definition">Definition at line <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml">OpenGLES.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015635
Jenkinsb9abeae2018-11-22 11:58:08 +000015636<p class="reference">Referenced by <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00062">GCScheduler::get()</a>, <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, <a class="el" href="_g_c_device_backend_8cpp_source.xhtml#l00095">GCDeviceBackend::is_backend_supported()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00836">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
15637<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> GLESSymbols::get().glDispatchCompute != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015638</div>
15639</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015640<a id="a4e3ff85e1f6c648dfbe264f54c147451"></a>
15641<h2 class="memtitle"><span class="permalink"><a href="#a4e3ff85e1f6c648dfbe264f54c147451">&#9670;&nbsp;</a></span>operator!=()</h2>
15642
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015643<div class="memitem">
15644<div class="memproto">
15645<table class="mlabels">
15646 <tr>
15647 <td class="mlabels-left">
15648 <table class="memname">
15649 <tr>
15650 <td class="memname">bool arm_compute::operator!= </td>
15651 <td>(</td>
15652 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
15653 <td class="paramname"><em>lhs</em>, </td>
15654 </tr>
15655 <tr>
15656 <td class="paramkey"></td>
15657 <td></td>
15658 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
15659 <td class="paramname"><em>rhs</em>&#160;</td>
15660 </tr>
15661 <tr>
15662 <td></td>
15663 <td>)</td>
15664 <td></td><td></td>
15665 </tr>
15666 </table>
15667 </td>
15668 <td class="mlabels-right">
15669<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15670 </tr>
15671</table>
15672</div><div class="memdoc">
15673
Jenkinsb3a371b2018-05-23 11:36:53 +010015674<p>Check that given dimensions are not equal. </p>
15675<dl class="params"><dt>Parameters</dt><dd>
15676 <table class="params">
15677 <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>
15678 <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>
15679 </table>
15680 </dd>
15681</dl>
15682<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 +010015683
Jenkinsb9abeae2018-11-22 11:58:08 +000015684<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010015685<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 +010015686</div>
15687</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015688<a id="af3985189d478b45014e7dead9d002e2a"></a>
15689<h2 class="memtitle"><span class="permalink"><a href="#af3985189d478b45014e7dead9d002e2a">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[1/49]</span></h2>
15690
Jenkins52ba29e2018-08-29 15:32:11 +000015691<div class="memitem">
15692<div class="memproto">
15693 <table class="memname">
15694 <tr>
15695 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15696 <td>(</td>
15697 <td class="paramtype">::std::ostream &amp;&#160;</td>
15698 <td class="paramname"><em>os</em>, </td>
15699 </tr>
15700 <tr>
15701 <td class="paramkey"></td>
15702 <td></td>
15703 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;&#160;</td>
15704 <td class="paramname"><em>dim</em>&#160;</td>
15705 </tr>
15706 <tr>
15707 <td></td>
15708 <td>)</td>
15709 <td></td><td></td>
15710 </tr>
15711 </table>
15712</div><div class="memdoc">
15713
15714<p>Formatted output of the GradientDimension type. </p>
15715<dl class="params"><dt>Parameters</dt><dd>
15716 <table class="params">
15717 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15718 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output</td></tr>
15719 </table>
15720 </dd>
15721</dl>
15722<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15723
Jenkinsb9abeae2018-11-22 11:58:08 +000015724<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000015725
Jenkinsb9abeae2018-11-22 11:58:08 +000015726<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +000015727<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>
15728</div><!-- fragment -->
15729</div>
15730</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015731<a id="a18d43401e8f84ed020429b41ec4e99f5"></a>
15732<h2 class="memtitle"><span class="permalink"><a href="#a18d43401e8f84ed020429b41ec4e99f5">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[2/49]</span></h2>
15733
Anthony Barbierdbdab852017-06-23 15:42:00 +010015734<div class="memitem">
15735<div class="memproto">
15736 <table class="memname">
15737 <tr>
15738 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15739 <td>(</td>
15740 <td class="paramtype">::std::ostream &amp;&#160;</td>
15741 <td class="paramname"><em>os</em>, </td>
15742 </tr>
15743 <tr>
15744 <td class="paramkey"></td>
15745 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015746 <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 +010015747 <td class="paramname"><em>dimensions</em>&#160;</td>
15748 </tr>
15749 <tr>
15750 <td></td>
15751 <td>)</td>
15752 <td></td><td></td>
15753 </tr>
15754 </table>
15755</div><div class="memdoc">
15756
15757<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 +010015758<dl class="params"><dt>Parameters</dt><dd>
15759 <table class="params">
15760 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15761 <tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
15762 </table>
15763 </dd>
15764</dl>
15765<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015766
Jenkinsb9abeae2018-11-22 11:58:08 +000015767<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000015768<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 +010015769</div>
15770</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015771<a id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
15772<h2 class="memtitle"><span class="permalink"><a href="#ae8c2a3451bcf739a75aa7438e7a78d45">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[3/49]</span></h2>
15773
Anthony Barbierdbdab852017-06-23 15:42:00 +010015774<div class="memitem">
15775<div class="memproto">
15776 <table class="memname">
15777 <tr>
15778 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15779 <td>(</td>
15780 <td class="paramtype">::std::ostream &amp;&#160;</td>
15781 <td class="paramname"><em>os</em>, </td>
15782 </tr>
15783 <tr>
15784 <td class="paramkey"></td>
15785 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015786 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015787 <td class="paramname"><em>function</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015788 </tr>
15789 <tr>
15790 <td></td>
15791 <td>)</td>
15792 <td></td><td></td>
15793 </tr>
15794 </table>
15795</div><div class="memdoc">
15796
Kaizen8938bd32017-09-28 14:38:23 +010015797<p>Formatted output of the NonLinearFilterFunction type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015798<dl class="params"><dt>Parameters</dt><dd>
15799 <table class="params">
15800 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15801 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
15802 </table>
15803 </dd>
15804</dl>
15805<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015806
Jenkinsb9abeae2018-11-22 11:58:08 +000015807<p class="definition">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 +010015808
Jenkinsb9abeae2018-11-22 11:58:08 +000015809<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +000015810<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 +010015811</div><!-- fragment -->
15812</div>
15813</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015814<a id="acec416ec5af175a7aad47a518fefb770"></a>
15815<h2 class="memtitle"><span class="permalink"><a href="#acec416ec5af175a7aad47a518fefb770">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[4/49]</span></h2>
15816
Anthony Barbierdbdab852017-06-23 15:42:00 +010015817<div class="memitem">
15818<div class="memproto">
15819 <table class="memname">
15820 <tr>
15821 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15822 <td>(</td>
15823 <td class="paramtype">::std::ostream &amp;&#160;</td>
15824 <td class="paramname"><em>os</em>, </td>
15825 </tr>
15826 <tr>
15827 <td class="paramkey"></td>
15828 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015829 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015830 <td class="paramname"><em>pattern</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015831 </tr>
15832 <tr>
15833 <td></td>
15834 <td>)</td>
15835 <td></td><td></td>
15836 </tr>
15837 </table>
15838</div><div class="memdoc">
15839
Kaizen8938bd32017-09-28 14:38:23 +010015840<p>Formatted output of the MatrixPattern type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015841<dl class="params"><dt>Parameters</dt><dd>
15842 <table class="params">
15843 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15844 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td>Type to output.</td></tr>
15845 </table>
15846 </dd>
15847</dl>
15848<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015849
Jenkinsb9abeae2018-11-22 11:58:08 +000015850<p class="definition">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 +010015851
Jenkinsb9abeae2018-11-22 11:58:08 +000015852<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +000015853<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 +010015854</div><!-- fragment -->
15855</div>
15856</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015857<a id="a295edc9f8caf95838db2c5e251153514"></a>
15858<h2 class="memtitle"><span class="permalink"><a href="#a295edc9f8caf95838db2c5e251153514">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[5/49]</span></h2>
15859
Anthony Barbierdbdab852017-06-23 15:42:00 +010015860<div class="memitem">
15861<div class="memproto">
15862 <table class="memname">
15863 <tr>
15864 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15865 <td>(</td>
15866 <td class="paramtype">::std::ostream &amp;&#160;</td>
15867 <td class="paramname"><em>os</em>, </td>
15868 </tr>
15869 <tr>
15870 <td class="paramkey"></td>
15871 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015872 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015873 <td class="paramname"><em>rounding_policy</em>&#160;</td>
15874 </tr>
15875 <tr>
15876 <td></td>
15877 <td>)</td>
15878 <td></td><td></td>
15879 </tr>
15880 </table>
15881</div><div class="memdoc">
15882
15883<p>Formatted output of the RoundingPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015884<dl class="params"><dt>Parameters</dt><dd>
15885 <table class="params">
15886 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15887 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Type to output.</td></tr>
15888 </table>
15889 </dd>
15890</dl>
15891<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015892
Jenkinsb9abeae2018-11-22 11:58:08 +000015893<p class="definition">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 +010015894
Jenkinsb9abeae2018-11-22 11:58:08 +000015895<p class="reference">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>
Jenkins52ba29e2018-08-29 15:32:11 +000015896<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>
15897<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 +010015898</div><!-- fragment -->
15899</div>
15900</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015901<a id="a5972c7131d378f567af9c2961f088a0b"></a>
15902<h2 class="memtitle"><span class="permalink"><a href="#a5972c7131d378f567af9c2961f088a0b">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[6/49]</span></h2>
15903
Kaizen8938bd32017-09-28 14:38:23 +010015904<div class="memitem">
15905<div class="memproto">
15906 <table class="memname">
15907 <tr>
15908 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15909 <td>(</td>
15910 <td class="paramtype">::std::ostream &amp;&#160;</td>
15911 <td class="paramname"><em>os</em>, </td>
15912 </tr>
15913 <tr>
15914 <td class="paramkey"></td>
15915 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015916 <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 +010015917 <td class="paramname"><em>weights_info</em>&#160;</td>
15918 </tr>
15919 <tr>
15920 <td></td>
15921 <td>)</td>
15922 <td></td><td></td>
15923 </tr>
15924 </table>
15925</div><div class="memdoc">
15926
15927<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 +010015928<dl class="params"><dt>Parameters</dt><dd>
15929 <table class="params">
15930 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15931 <tr><td class="paramdir">[in]</td><td class="paramname">weights_info</td><td>Type to output.</td></tr>
15932 </table>
15933 </dd>
15934</dl>
15935<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015936
Jenkinsb9abeae2018-11-22 11:58:08 +000015937<p class="definition">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 +010015938
Jenkinsb9abeae2018-11-22 11:58:08 +000015939<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01442">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01458">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01450">WeightsInfo::num_kernels()</a>.</p>
15940<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#l00694">Winograd.cpp:694</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010015941</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010015942</div>
15943</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015944<a id="a352b805b77fde4f32f44af271580677b"></a>
15945<h2 class="memtitle"><span class="permalink"><a href="#a352b805b77fde4f32f44af271580677b">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[7/49]</span></h2>
15946
Kaizen8938bd32017-09-28 14:38:23 +010015947<div class="memitem">
15948<div class="memproto">
15949 <table class="memname">
15950 <tr>
15951 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15952 <td>(</td>
15953 <td class="paramtype">::std::ostream &amp;&#160;</td>
15954 <td class="paramname"><em>os</em>, </td>
15955 </tr>
15956 <tr>
15957 <td class="paramkey"></td>
15958 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015959 <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 +010015960 <td class="paramname"><em>pool_info</em>&#160;</td>
15961 </tr>
15962 <tr>
15963 <td></td>
15964 <td>)</td>
15965 <td></td><td></td>
15966 </tr>
15967 </table>
15968</div><div class="memdoc">
15969
15970<p>Formatted output of the ROIPoolingInfo type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015971<dl class="params"><dt>Parameters</dt><dd>
15972 <table class="params">
15973 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15974 <tr><td class="paramdir">[in]</td><td class="paramname">pool_info</td><td>Type to output.</td></tr>
15975 </table>
15976 </dd>
15977</dl>
15978<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015979
Jenkinsb9abeae2018-11-22 11:58:08 +000015980<p class="definition">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 +010015981
Jenkinsb9abeae2018-11-22 11:58:08 +000015982<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01062">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01057">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01067">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000015983<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 +000015984</div>
15985</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000015986<a id="af81bb4f87d418311c7ca43a28c74bf03"></a>
15987<h2 class="memtitle"><span class="permalink"><a href="#af81bb4f87d418311c7ca43a28c74bf03">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[8/49]</span></h2>
15988
15989<div class="memitem">
15990<div class="memproto">
15991 <table class="memname">
15992 <tr>
15993 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15994 <td>(</td>
15995 <td class="paramtype">::std::ostream &amp;&#160;</td>
15996 <td class="paramname"><em>os</em>, </td>
15997 </tr>
15998 <tr>
15999 <td class="paramkey"></td>
16000 <td></td>
16001 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a> &amp;&#160;</td>
16002 <td class="paramname"><em>bbox_info</em>&#160;</td>
16003 </tr>
16004 <tr>
16005 <td></td>
16006 <td>)</td>
16007 <td></td><td></td>
16008 </tr>
16009 </table>
16010</div><div class="memdoc">
16011
16012<p>Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. </p>
16013<dl class="params"><dt>Parameters</dt><dd>
16014 <table class="params">
16015 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16016 <tr><td class="paramdir">[in]</td><td class="paramname">bbox_info</td><td>Type to output.</td></tr>
16017 </table>
16018 </dd>
16019</dl>
16020<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16021
16022<p class="definition">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>
16023
16024<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01247">BoundingBoxTransformInfo::img_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01252">BoundingBoxTransformInfo::img_width()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01257">BoundingBoxTransformInfo::scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01237">BoundingBoxTransformInfo::weights()</a>.</p>
16025<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; <span class="keyword">auto</span> weights = bbox_info.weights();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; bbox_info.img_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; bbox_info.img_height() &lt;&lt; <span class="stringliteral">&quot;)~&quot;</span> &lt;&lt; bbox_info.scale() &lt;&lt; <span class="stringliteral">&quot;(weights = {&quot;</span> &lt;&lt; weights[0] &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; weights[1] &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; weights[2] &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; weights[3] &lt;&lt;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="stringliteral">&quot;})&quot;</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;}</div></div><!-- fragment -->
16026</div>
16027</div>
16028<a id="a59ea8b6694897a281eb3105f5c99f28f"></a>
16029<h2 class="memtitle"><span class="permalink"><a href="#a59ea8b6694897a281eb3105f5c99f28f">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[9/49]</span></h2>
16030
16031<div class="memitem">
16032<div class="memproto">
16033 <table class="memname">
16034 <tr>
16035 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16036 <td>(</td>
16037 <td class="paramtype">::std::ostream &amp;&#160;</td>
16038 <td class="paramname"><em>os</em>, </td>
16039 </tr>
16040 <tr>
16041 <td class="paramkey"></td>
16042 <td></td>
16043 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a> &amp;&#160;</td>
16044 <td class="paramname"><em>anchors_info</em>&#160;</td>
16045 </tr>
16046 <tr>
16047 <td></td>
16048 <td>)</td>
16049 <td></td><td></td>
16050 </tr>
16051 </table>
16052</div><div class="memdoc">
16053
16054<p>Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. </p>
16055<dl class="params"><dt>Parameters</dt><dd>
16056 <table class="params">
16057 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16058 <tr><td class="paramdir">[in]</td><td class="paramname">anchors_info</td><td>Type to output.</td></tr>
16059 </table>
16060 </dd>
16061</dl>
16062<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16063
16064<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00271">271</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16065
16066<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01185">ComputeAnchorsInfo::feat_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01191">ComputeAnchorsInfo::feat_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01197">ComputeAnchorsInfo::spatial_scale()</a>.</p>
16067<div class="fragment"><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; os &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; anchors_info.feat_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; anchors_info.feat_height() &lt;&lt; <span class="stringliteral">&quot;)~&quot;</span> &lt;&lt; anchors_info.spatial_scale();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div></div><!-- fragment -->
16068</div>
16069</div>
16070<a id="a1a54a883f8acc0664accdae9bed93494"></a>
16071<h2 class="memtitle"><span class="permalink"><a href="#a1a54a883f8acc0664accdae9bed93494">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[10/49]</span></h2>
16072
16073<div class="memitem">
16074<div class="memproto">
16075 <table class="memname">
16076 <tr>
16077 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16078 <td>(</td>
16079 <td class="paramtype">::std::ostream &amp;&#160;</td>
16080 <td class="paramname"><em>os</em>, </td>
16081 </tr>
16082 <tr>
16083 <td class="paramkey"></td>
16084 <td></td>
16085 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a> &amp;&#160;</td>
16086 <td class="paramname"><em>proposals_info</em>&#160;</td>
16087 </tr>
16088 <tr>
16089 <td></td>
16090 <td>)</td>
16091 <td></td><td></td>
16092 </tr>
16093 </table>
16094</div><div class="memdoc">
16095
16096<p>Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. </p>
16097<dl class="params"><dt>Parameters</dt><dd>
16098 <table class="params">
16099 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16100 <tr><td class="paramdir">[in]</td><td class="paramname">proposals_info</td><td>Type to output.</td></tr>
16101 </table>
16102 </dd>
16103</dl>
16104<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16105
16106<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00297">297</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16107
16108<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01108">GenerateProposalsInfo::im_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01118">GenerateProposalsInfo::im_scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01113">GenerateProposalsInfo::im_width()</a>.</p>
16109<div class="fragment"><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; os &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; proposals_info.im_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; proposals_info.im_height() &lt;&lt; <span class="stringliteral">&quot;)~&quot;</span> &lt;&lt; proposals_info.im_scale();</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;}</div></div><!-- fragment -->
16110</div>
16111</div>
16112<a id="a32a5556a927543fe57c0d7b82c20e9b4"></a>
16113<h2 class="memtitle"><span class="permalink"><a href="#a32a5556a927543fe57c0d7b82c20e9b4">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[11/49]</span></h2>
16114
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016115<div class="memitem">
16116<div class="memproto">
16117 <table class="memname">
16118 <tr>
16119 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16120 <td>(</td>
16121 <td class="paramtype">::std::ostream &amp;&#160;</td>
16122 <td class="paramname"><em>os</em>, </td>
16123 </tr>
16124 <tr>
16125 <td class="paramkey"></td>
16126 <td></td>
16127 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;&#160;</td>
16128 <td class="paramname"><em>quantization_info</em>&#160;</td>
16129 </tr>
16130 <tr>
16131 <td></td>
16132 <td>)</td>
16133 <td></td><td></td>
16134 </tr>
16135 </table>
16136</div><div class="memdoc">
16137
16138<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 +010016139<dl class="params"><dt>Parameters</dt><dd>
16140 <table class="params">
16141 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16142 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
16143 </table>
16144 </dd>
16145</dl>
16146<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016147
Jenkinsb9abeae2018-11-22 11:58:08 +000016148<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016149
Jenkinsb9abeae2018-11-22 11:58:08 +000016150<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00171">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00170">QuantizationInfo::scale</a>.</p>
16151<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; 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="l00326"></a><span class="lineno"> 326</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; quantization_info.offset;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010016152</div>
16153</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016154<a id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
16155<h2 class="memtitle"><span class="permalink"><a href="#a9d79efe2673aeb3f9a9160b6a78de50c">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[12/49]</span></h2>
16156
Kaizen8938bd32017-09-28 14:38:23 +010016157<div class="memitem">
16158<div class="memproto">
16159 <table class="memname">
16160 <tr>
16161 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16162 <td>(</td>
16163 <td class="paramtype">::std::ostream &amp;&#160;</td>
16164 <td class="paramname"><em>os</em>, </td>
16165 </tr>
16166 <tr>
16167 <td class="paramkey"></td>
16168 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016169 <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 +010016170 <td class="paramname"><em>act_function</em>&#160;</td>
16171 </tr>
16172 <tr>
16173 <td></td>
16174 <td>)</td>
16175 <td></td><td></td>
16176 </tr>
16177 </table>
16178</div><div class="memdoc">
16179
16180<p>Formatted output of the activation function type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016181<dl class="params"><dt>Parameters</dt><dd>
16182 <table class="params">
16183 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16184 <tr><td class="paramdir">[in]</td><td class="paramname">act_function</td><td>Type to output.</td></tr>
16185 </table>
16186 </dd>
16187</dl>
16188<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010016189
Jenkinsb9abeae2018-11-22 11:58:08 +000016190<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00350">350</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016191
Jenkinsb9abeae2018-11-22 11:58:08 +000016192<p class="reference">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>
16193<div class="fragment"><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">switch</span>(act_function)</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">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</span>&#160; }</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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 +010016194</div><!-- fragment -->
16195</div>
16196</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016197<a id="a2ab7370aab6e5698990c50c8871fa6fb"></a>
16198<h2 class="memtitle"><span class="permalink"><a href="#a2ab7370aab6e5698990c50c8871fa6fb">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[13/49]</span></h2>
16199
Kaizen8938bd32017-09-28 14:38:23 +010016200<div class="memitem">
16201<div class="memproto">
16202 <table class="memname">
16203 <tr>
16204 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16205 <td>(</td>
16206 <td class="paramtype">::std::ostream &amp;&#160;</td>
16207 <td class="paramname"><em>os</em>, </td>
16208 </tr>
16209 <tr>
16210 <td class="paramkey"></td>
16211 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016212 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016213 <td class="paramname"><em>norm_type</em>&#160;</td>
16214 </tr>
16215 <tr>
16216 <td></td>
16217 <td>)</td>
16218 <td></td><td></td>
16219 </tr>
16220 </table>
16221</div><div class="memdoc">
16222
16223<p>Formatted output of the NormType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016224<dl class="params"><dt>Parameters</dt><dd>
16225 <table class="params">
16226 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16227 <tr><td class="paramdir">[in]</td><td class="paramname">norm_type</td><td>Type to output.</td></tr>
16228 </table>
16229 </dd>
16230</dl>
16231<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010016232
Jenkinsb9abeae2018-11-22 11:58:08 +000016233<p class="definition">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>
Kaizen8938bd32017-09-28 14:38:23 +010016234
Jenkinsb9abeae2018-11-22 11:58:08 +000016235<p class="reference">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>
16236<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; <span class="keywordflow">switch</span>(norm_type)</div><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; <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</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="l00445"></a><span class="lineno"> 445</span>&#160; }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</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 +010016237</div><!-- fragment -->
16238</div>
16239</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016240<a id="a6e422c610c91f611590173cd595c94c5"></a>
16241<h2 class="memtitle"><span class="permalink"><a href="#a6e422c610c91f611590173cd595c94c5">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[14/49]</span></h2>
16242
Kaizenbf8b01d2017-10-12 14:26:51 +010016243<div class="memitem">
16244<div class="memproto">
16245 <table class="memname">
16246 <tr>
16247 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16248 <td>(</td>
16249 <td class="paramtype">::std::ostream &amp;&#160;</td>
16250 <td class="paramname"><em>os</em>, </td>
16251 </tr>
16252 <tr>
16253 <td class="paramkey"></td>
16254 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016255 <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 +010016256 <td class="paramname"><em>info</em>&#160;</td>
16257 </tr>
16258 <tr>
16259 <td></td>
16260 <td>)</td>
16261 <td></td><td></td>
16262 </tr>
16263 </table>
16264</div><div class="memdoc">
16265
16266<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 +010016267<dl class="params"><dt>Parameters</dt><dd>
16268 <table class="params">
16269 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16270 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
16271 </table>
16272 </dd>
16273</dl>
16274<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010016275
Jenkinsb9abeae2018-11-22 11:58:08 +000016276<p class="definition">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>
Kaizenbf8b01d2017-10-12 14:26:51 +010016277
Jenkinsb9abeae2018-11-22 11:58:08 +000016278<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01366">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01361">NormalizationLayerInfo::type()</a>.</p>
16279<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; 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="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</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 +010016280</div><!-- fragment -->
16281</div>
16282</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016283<a id="a336cf1e870f467e44c184587a13feeec"></a>
16284<h2 class="memtitle"><span class="permalink"><a href="#a336cf1e870f467e44c184587a13feeec">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[15/49]</span></h2>
16285
Kaizen8938bd32017-09-28 14:38:23 +010016286<div class="memitem">
16287<div class="memproto">
16288 <table class="memname">
16289 <tr>
16290 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16291 <td>(</td>
16292 <td class="paramtype">::std::ostream &amp;&#160;</td>
16293 <td class="paramname"><em>os</em>, </td>
16294 </tr>
16295 <tr>
16296 <td class="paramkey"></td>
16297 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016298 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016299 <td class="paramname"><em>pool_type</em>&#160;</td>
16300 </tr>
16301 <tr>
16302 <td></td>
16303 <td>)</td>
16304 <td></td><td></td>
16305 </tr>
16306 </table>
16307</div><div class="memdoc">
16308
16309<p>Formatted output of the PoolingType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016310<dl class="params"><dt>Parameters</dt><dd>
16311 <table class="params">
16312 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16313 <tr><td class="paramdir">[in]</td><td class="paramname">pool_type</td><td>Type to output.</td></tr>
16314 </table>
16315 </dd>
16316</dl>
16317<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010016318
Jenkinsb9abeae2018-11-22 11:58:08 +000016319<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00483">483</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016320
Jenkinsb9abeae2018-11-22 11:58:08 +000016321<p class="reference">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>
16322<div class="fragment"><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">switch</span>(pool_type)</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; <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</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="l00498"></a><span class="lineno"> 498</span>&#160; }</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</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 +010016323</div><!-- fragment -->
16324</div>
16325</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016326<a id="ae72a61a2ca5c962ab1d37065e5598060"></a>
16327<h2 class="memtitle"><span class="permalink"><a href="#ae72a61a2ca5c962ab1d37065e5598060">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[16/49]</span></h2>
16328
Kaizen8938bd32017-09-28 14:38:23 +010016329<div class="memitem">
16330<div class="memproto">
16331 <table class="memname">
16332 <tr>
16333 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16334 <td>(</td>
16335 <td class="paramtype">::std::ostream &amp;&#160;</td>
16336 <td class="paramname"><em>os</em>, </td>
16337 </tr>
16338 <tr>
16339 <td class="paramkey"></td>
16340 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016341 <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 +010016342 <td class="paramname"><em>info</em>&#160;</td>
16343 </tr>
16344 <tr>
16345 <td></td>
16346 <td>)</td>
16347 <td></td><td></td>
16348 </tr>
16349 </table>
16350</div><div class="memdoc">
16351
16352<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 +010016353<dl class="params"><dt>Parameters</dt><dd>
16354 <table class="params">
16355 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16356 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
16357 </table>
16358 </dd>
16359</dl>
16360<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010016361
Jenkinsb9abeae2018-11-22 11:58:08 +000016362<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00510">510</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016363
Jenkinsb9abeae2018-11-22 11:58:08 +000016364<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01008">PoolingLayerInfo::pool_type()</a>.</p>
16365<div class="fragment"><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; 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="l00513"></a><span class="lineno"> 513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</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 +010016366</div><!-- fragment -->
16367</div>
16368</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016369<a id="a1698cb24508a2bc45962bc887f18a8d0"></a>
16370<h2 class="memtitle"><span class="permalink"><a href="#a1698cb24508a2bc45962bc887f18a8d0">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[17/49]</span></h2>
16371
Jenkinsb3a371b2018-05-23 11:36:53 +010016372<div class="memitem">
16373<div class="memproto">
16374 <table class="memname">
16375 <tr>
16376 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16377 <td>(</td>
16378 <td class="paramtype">::std::ostream &amp;&#160;</td>
16379 <td class="paramname"><em>os</em>, </td>
16380 </tr>
16381 <tr>
16382 <td class="paramkey"></td>
16383 <td></td>
16384 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&#160;</td>
16385 <td class="paramname"><em>data_layout</em>&#160;</td>
16386 </tr>
16387 <tr>
16388 <td></td>
16389 <td>)</td>
16390 <td></td><td></td>
16391 </tr>
16392 </table>
16393</div><div class="memdoc">
16394
Jenkinsb9abeae2018-11-22 11:58:08 +000016395<p>[Print DataLayout type] </p>
16396<p>Formatted output of the DataLayout type.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016397<dl class="params"><dt>Parameters</dt><dd>
16398 <table class="params">
16399 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16400 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Type to output.</td></tr>
16401 </table>
16402 </dd>
16403</dl>
16404<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16405
Jenkinsb9abeae2018-11-22 11:58:08 +000016406<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00538">538</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016407
Jenkinsb9abeae2018-11-22 11:58:08 +000016408<p class="reference">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>
16409<div class="fragment"><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;{</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</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="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NHWC&quot;</span>;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NCHW&quot;</span>;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</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="l00553"></a><span class="lineno"> 553</span>&#160; }</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; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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>
16410<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#l00251">Winograd.cpp:251</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000016411</div><!-- fragment -->
16412</div>
16413</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016414<a id="adec19acb64bfca26fa53ef76f03b79ef"></a>
16415<h2 class="memtitle"><span class="permalink"><a href="#adec19acb64bfca26fa53ef76f03b79ef">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[18/49]</span></h2>
16416
Jenkins52ba29e2018-08-29 15:32:11 +000016417<div class="memitem">
16418<div class="memproto">
16419 <table class="memname">
16420 <tr>
16421 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16422 <td>(</td>
16423 <td class="paramtype">::std::ostream &amp;&#160;</td>
16424 <td class="paramname"><em>os</em>, </td>
16425 </tr>
16426 <tr>
16427 <td class="paramkey"></td>
16428 <td></td>
16429 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> &amp;&#160;</td>
16430 <td class="paramname"><em>data_layout_dim</em>&#160;</td>
16431 </tr>
16432 <tr>
16433 <td></td>
16434 <td>)</td>
16435 <td></td><td></td>
16436 </tr>
16437 </table>
16438</div><div class="memdoc">
16439
Jenkinsb9abeae2018-11-22 11:58:08 +000016440<p>[Print DataLayout type] </p>
16441<p>Formatted output of the DataLayoutDimension type.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016442<dl class="params"><dt>Parameters</dt><dd>
16443 <table class="params">
16444 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16445 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout_dim</td><td>Data layout dimension to print.</td></tr>
16446 </table>
16447 </dd>
16448</dl>
16449<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16450
Jenkinsb9abeae2018-11-22 11:58:08 +000016451<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00579">579</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016452
Jenkinsb9abeae2018-11-22 11:58:08 +000016453<p class="reference">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>
16454<div class="fragment"><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">switch</span>(data_layout_dim)</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="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WIDTH&quot;</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;HEIGHT&quot;</span>;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CHANNEL&quot;</span>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BATCHES&quot;</span>;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</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="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</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 +010016455</div><!-- fragment -->
16456</div>
16457</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016458<a id="a685af15532d70b8682bcc52f06f034f9"></a>
16459<h2 class="memtitle"><span class="permalink"><a href="#a685af15532d70b8682bcc52f06f034f9">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[19/49]</span></h2>
16460
Anthony Barbierdbdab852017-06-23 15:42:00 +010016461<div class="memitem">
16462<div class="memproto">
16463 <table class="memname">
16464 <tr>
16465 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16466 <td>(</td>
16467 <td class="paramtype">::std::ostream &amp;&#160;</td>
16468 <td class="paramname"><em>os</em>, </td>
16469 </tr>
16470 <tr>
16471 <td class="paramkey"></td>
16472 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016473 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016474 <td class="paramname"><em>data_type</em>&#160;</td>
16475 </tr>
16476 <tr>
16477 <td></td>
16478 <td>)</td>
16479 <td></td><td></td>
16480 </tr>
16481 </table>
16482</div><div class="memdoc">
16483
16484<p>Formatted output of the DataType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016485<dl class="params"><dt>Parameters</dt><dd>
16486 <table class="params">
16487 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16488 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Type to output.</td></tr>
16489 </table>
16490 </dd>
16491</dl>
16492<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016493
Jenkinsb9abeae2018-11-22 11:58:08 +000016494<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00608">608</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 +010016495
Jenkinsb9abeae2018-11-22 11:58:08 +000016496<p class="reference">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>
16497<div class="fragment"><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="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</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">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QASYMM8&quot;</span>;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</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="l00656"></a><span class="lineno"> 656</span>&#160; }</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; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</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>
16498<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016499</div><!-- fragment -->
16500</div>
16501</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016502<a id="a3b22e54b0ac0204c3b89aebcd695fa03"></a>
16503<h2 class="memtitle"><span class="permalink"><a href="#a3b22e54b0ac0204c3b89aebcd695fa03">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[20/49]</span></h2>
16504
Anthony Barbierdbdab852017-06-23 15:42:00 +010016505<div class="memitem">
16506<div class="memproto">
16507 <table class="memname">
16508 <tr>
16509 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16510 <td>(</td>
16511 <td class="paramtype">::std::ostream &amp;&#160;</td>
16512 <td class="paramname"><em>os</em>, </td>
16513 </tr>
16514 <tr>
16515 <td class="paramkey"></td>
16516 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016517 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016518 <td class="paramname"><em>format</em>&#160;</td>
16519 </tr>
16520 <tr>
16521 <td></td>
16522 <td>)</td>
16523 <td></td><td></td>
16524 </tr>
16525 </table>
16526</div><div class="memdoc">
16527
16528<p>Formatted output of the Format type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016529<dl class="params"><dt>Parameters</dt><dd>
16530 <table class="params">
16531 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16532 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Type to output.</td></tr>
16533 </table>
16534 </dd>
16535</dl>
16536<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016537
Jenkinsb9abeae2018-11-22 11:58:08 +000016538<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00681">681</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 +010016539
Jenkinsb9abeae2018-11-22 11:58:08 +000016540<p class="reference">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>
16541<div class="fragment"><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; <span class="keywordflow">switch</span>(format)</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; <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</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="l00738"></a><span class="lineno"> 738</span>&#160; }</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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 +010016542</div><!-- fragment -->
16543</div>
16544</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016545<a id="aa66be15c012986ebd4c1934b97e08a36"></a>
16546<h2 class="memtitle"><span class="permalink"><a href="#aa66be15c012986ebd4c1934b97e08a36">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[21/49]</span></h2>
16547
Anthony Barbierdbdab852017-06-23 15:42:00 +010016548<div class="memitem">
16549<div class="memproto">
16550 <table class="memname">
16551 <tr>
16552 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16553 <td>(</td>
16554 <td class="paramtype">::std::ostream &amp;&#160;</td>
16555 <td class="paramname"><em>os</em>, </td>
16556 </tr>
16557 <tr>
16558 <td class="paramkey"></td>
16559 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016560 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016561 <td class="paramname"><em>channel</em>&#160;</td>
16562 </tr>
16563 <tr>
16564 <td></td>
16565 <td>)</td>
16566 <td></td><td></td>
16567 </tr>
16568 </table>
16569</div><div class="memdoc">
16570
16571<p>Formatted output of the Channel type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016572<dl class="params"><dt>Parameters</dt><dd>
16573 <table class="params">
16574 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16575 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Type to output.</td></tr>
16576 </table>
16577 </dd>
16578</dl>
16579<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016580
Jenkinsb9abeae2018-11-22 11:58:08 +000016581<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00763">763</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 +010016582
Jenkinsb9abeae2018-11-22 11:58:08 +000016583<p class="reference">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>
16584<div class="fragment"><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">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</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="l00805"></a><span class="lineno"> 805</span>&#160; }</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</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 +010016585</div><!-- fragment -->
16586</div>
16587</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016588<a id="a7929032d41d5f23cd1778a70508d0219"></a>
16589<h2 class="memtitle"><span class="permalink"><a href="#a7929032d41d5f23cd1778a70508d0219">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[22/49]</span></h2>
16590
Kaizen8938bd32017-09-28 14:38:23 +010016591<div class="memitem">
16592<div class="memproto">
16593 <table class="memname">
16594 <tr>
16595 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16596 <td>(</td>
16597 <td class="paramtype">::std::ostream &amp;&#160;</td>
16598 <td class="paramname"><em>os</em>, </td>
16599 </tr>
16600 <tr>
16601 <td class="paramkey"></td>
16602 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016603 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016604 <td class="paramname"><em>mode</em>&#160;</td>
16605 </tr>
16606 <tr>
16607 <td></td>
16608 <td>)</td>
16609 <td></td><td></td>
16610 </tr>
16611 </table>
16612</div><div class="memdoc">
16613
16614<p>Formatted output of the BorderMode type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016615<dl class="params"><dt>Parameters</dt><dd>
16616 <table class="params">
16617 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16618 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Type to output.</td></tr>
16619 </table>
16620 </dd>
16621</dl>
16622<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010016623
Jenkinsb9abeae2018-11-22 11:58:08 +000016624<p class="definition">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>
Kaizen8938bd32017-09-28 14:38:23 +010016625
Jenkinsb9abeae2018-11-22 11:58:08 +000016626<p class="reference">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>
16627<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; <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; {</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</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="l00845"></a><span class="lineno"> 845</span>&#160; }</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</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 +010016628</div><!-- fragment -->
16629</div>
16630</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016631<a id="af32c4c5cdd0efde09774eb803bc8a0bd"></a>
16632<h2 class="memtitle"><span class="permalink"><a href="#af32c4c5cdd0efde09774eb803bc8a0bd">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[23/49]</span></h2>
16633
Anthony Barbierdbdab852017-06-23 15:42:00 +010016634<div class="memitem">
16635<div class="memproto">
16636 <table class="memname">
16637 <tr>
16638 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16639 <td>(</td>
16640 <td class="paramtype">::std::ostream &amp;&#160;</td>
16641 <td class="paramname"><em>os</em>, </td>
16642 </tr>
16643 <tr>
16644 <td class="paramkey"></td>
16645 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016646 <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 +010016647 <td class="paramname"><em>border</em>&#160;</td>
16648 </tr>
16649 <tr>
16650 <td></td>
16651 <td>)</td>
16652 <td></td><td></td>
16653 </tr>
16654 </table>
16655</div><div class="memdoc">
16656
16657<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 +010016658<dl class="params"><dt>Parameters</dt><dd>
16659 <table class="params">
16660 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16661 <tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
16662 </table>
16663 </dd>
16664</dl>
16665<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016666
Jenkinsb9abeae2018-11-22 11:58:08 +000016667<p class="definition">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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016668
Jenkinsb9abeae2018-11-22 11:58:08 +000016669<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
16670<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; os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; &lt;&lt; border.left;</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; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010016671</div>
16672</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016673<a id="af15a06b73e1fde15f0809ce07bf1ab7d"></a>
16674<h2 class="memtitle"><span class="permalink"><a href="#af15a06b73e1fde15f0809ce07bf1ab7d">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[24/49]</span></h2>
16675
16676<div class="memitem">
16677<div class="memproto">
16678 <table class="memname">
16679 <tr>
16680 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16681 <td>(</td>
16682 <td class="paramtype">::std::ostream &amp;&#160;</td>
16683 <td class="paramname"><em>os</em>, </td>
16684 </tr>
16685 <tr>
16686 <td class="paramkey"></td>
16687 <td></td>
16688 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> &amp;&#160;</td>
16689 <td class="paramname"><em>padding</em>&#160;</td>
16690 </tr>
16691 <tr>
16692 <td></td>
16693 <td>)</td>
16694 <td></td><td></td>
16695 </tr>
16696 </table>
16697</div><div class="memdoc">
16698
16699<p>Formatted output of the PaddingList type. </p>
16700<dl class="params"><dt>Parameters</dt><dd>
16701 <table class="params">
16702 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16703 <tr><td class="paramdir">[in]</td><td class="paramname">padding</td><td>Type to output.</td></tr>
16704 </table>
16705 </dd>
16706</dl>
16707<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16708
16709<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00874">874</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16710<div class="fragment"><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;{</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> <span class="keyword">const</span> &amp;p : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; {</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{&quot;</span> &lt;&lt; p.first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; p.second &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</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; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a735a025fce26c1ef147b54426df18181"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">arm_compute::test::validation::padding</a></div><div class="ttdeci">const PaddingSize padding</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00111">ArithmeticDivision.cpp:111</a></div></div>
16711</div><!-- fragment -->
16712</div>
16713</div>
16714<a id="a509047aefc691398f1bb60b1f967a98b"></a>
16715<h2 class="memtitle"><span class="permalink"><a href="#a509047aefc691398f1bb60b1f967a98b">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[25/49]</span></h2>
16716
Kaizen8938bd32017-09-28 14:38:23 +010016717<div class="memitem">
16718<div class="memproto">
16719 <table class="memname">
16720 <tr>
16721 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16722 <td>(</td>
16723 <td class="paramtype">::std::ostream &amp;&#160;</td>
16724 <td class="paramname"><em>os</em>, </td>
16725 </tr>
16726 <tr>
16727 <td class="paramkey"></td>
16728 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016729 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016730 <td class="paramname"><em>policy</em>&#160;</td>
16731 </tr>
16732 <tr>
16733 <td></td>
16734 <td>)</td>
16735 <td></td><td></td>
16736 </tr>
16737 </table>
16738</div><div class="memdoc">
16739
16740<p>Formatted output of the InterpolationPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016741<dl class="params"><dt>Parameters</dt><dd>
16742 <table class="params">
16743 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16744 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
16745 </table>
16746 </dd>
16747</dl>
16748<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010016749
Jenkinsb9abeae2018-11-22 11:58:08 +000016750<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00892">892</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016751
Jenkinsb9abeae2018-11-22 11:58:08 +000016752<p class="reference">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>
16753<div class="fragment"><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; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</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="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</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="l00907"></a><span class="lineno"> 907</span>&#160; }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</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>
16754<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016755</div><!-- fragment -->
16756</div>
16757</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016758<a id="aab8eb6dc1ba89bb8a69f1c3845988a2b"></a>
16759<h2 class="memtitle"><span class="permalink"><a href="#aab8eb6dc1ba89bb8a69f1c3845988a2b">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[26/49]</span></h2>
16760
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016761<div class="memitem">
16762<div class="memproto">
16763 <table class="memname">
16764 <tr>
16765 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16766 <td>(</td>
16767 <td class="paramtype">::std::ostream &amp;&#160;</td>
16768 <td class="paramname"><em>os</em>, </td>
16769 </tr>
16770 <tr>
16771 <td class="paramkey"></td>
16772 <td></td>
16773 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;&#160;</td>
16774 <td class="paramname"><em>policy</em>&#160;</td>
16775 </tr>
16776 <tr>
16777 <td></td>
16778 <td>)</td>
16779 <td></td><td></td>
16780 </tr>
16781 </table>
16782</div><div class="memdoc">
16783
16784<p>Formatted output of the SamplingPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016785<dl class="params"><dt>Parameters</dt><dd>
16786 <table class="params">
16787 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16788 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
16789 </table>
16790 </dd>
16791</dl>
16792<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016793
Jenkinsb9abeae2018-11-22 11:58:08 +000016794<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00919">919</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 +000016795
Jenkinsb9abeae2018-11-22 11:58:08 +000016796<p class="reference">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>
16797<div class="fragment"><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160;{</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; {</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CENTER&quot;</span>;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TOP_LEFT&quot;</span>;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</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="l00931"></a><span class="lineno"> 931</span>&#160; }</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; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</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>
16798<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016799</div><!-- fragment -->
16800</div>
16801</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016802<a id="ab398837465010958bfccff032ad1ee51"></a>
16803<h2 class="memtitle"><span class="permalink"><a href="#ab398837465010958bfccff032ad1ee51">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[27/49]</span></h2>
16804
Jenkins52ba29e2018-08-29 15:32:11 +000016805<div class="memitem">
16806<div class="memproto">
16807 <table class="memname">
16808 <tr>
16809 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16810 <td>(</td>
16811 <td class="paramtype">::std::ostream &amp;&#160;</td>
16812 <td class="paramname"><em>os</em>, </td>
16813 </tr>
16814 <tr>
16815 <td class="paramkey"></td>
16816 <td></td>
16817 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
16818 <td class="paramname"><em>info</em>&#160;</td>
16819 </tr>
16820 <tr>
16821 <td></td>
16822 <td>)</td>
16823 <td></td><td></td>
16824 </tr>
16825 </table>
16826</div><div class="memdoc">
16827
16828<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>
16829<dl class="params"><dt>Parameters</dt><dd>
16830 <table class="params">
16831 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16832 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
16833 </table>
16834 </dd>
16835</dl>
16836<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16837
Jenkinsb9abeae2018-11-22 11:58:08 +000016838<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00943">943</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016839
Jenkinsb9abeae2018-11-22 11:58:08 +000016840<p class="reference">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>
16841<div class="fragment"><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;{</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</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="l00946"></a><span class="lineno"> 946</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="l00947"></a><span class="lineno"> 947</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="l00948"></a><span class="lineno"> 948</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</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>
Jenkins52ba29e2018-08-29 15:32:11 +000016842</div><!-- fragment -->
16843</div>
16844</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016845<a id="a0fc75dce8064a37effa5e71344b6a5d2"></a>
16846<h2 class="memtitle"><span class="permalink"><a href="#a0fc75dce8064a37effa5e71344b6a5d2">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[28/49]</span></h2>
16847
Jenkins52ba29e2018-08-29 15:32:11 +000016848<div class="memitem">
16849<div class="memproto">
16850 <table class="memname">
16851 <tr>
16852 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16853 <td>(</td>
16854 <td class="paramtype">::std::ostream &amp;&#160;</td>
16855 <td class="paramname"><em>os</em>, </td>
16856 </tr>
16857 <tr>
16858 <td class="paramkey"></td>
16859 <td></td>
16860 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;&#160;</td>
16861 <td class="paramname"><em>info</em>&#160;</td>
16862 </tr>
16863 <tr>
16864 <td></td>
16865 <td>)</td>
16866 <td></td><td></td>
16867 </tr>
16868 </table>
16869</div><div class="memdoc">
16870
16871<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>
16872<dl class="params"><dt>Parameters</dt><dd>
16873 <table class="params">
16874 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16875 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
16876 </table>
16877 </dd>
16878</dl>
16879<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16880
Jenkinsb9abeae2018-11-22 11:58:08 +000016881<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01024">1024</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016882
Jenkinsb9abeae2018-11-22 11:58:08 +000016883<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01529">GEMMReshapeInfo::k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01513">GEMMReshapeInfo::m()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01545">GEMMReshapeInfo::mult_interleave4x4_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01537">GEMMReshapeInfo::mult_transpose1xW_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01521">GEMMReshapeInfo::n()</a>.</p>
16884<div class="fragment"><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;{</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</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="l01027"></a><span class="lineno"> 1027</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="l01028"></a><span class="lineno"> 1028</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="l01029"></a><span class="lineno"> 1029</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="l01030"></a><span class="lineno"> 1030</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="l01031"></a><span class="lineno"> 1031</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</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>
Jenkins52ba29e2018-08-29 15:32:11 +000016885</div><!-- fragment -->
16886</div>
16887</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016888<a id="a5fdae5de2d2cf2e7957f0299d17ce5ec"></a>
16889<h2 class="memtitle"><span class="permalink"><a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[29/49]</span></h2>
16890
Jenkins52ba29e2018-08-29 15:32:11 +000016891<div class="memitem">
16892<div class="memproto">
16893 <table class="memname">
16894 <tr>
16895 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16896 <td>(</td>
16897 <td class="paramtype">::std::ostream &amp;&#160;</td>
16898 <td class="paramname"><em>os</em>, </td>
16899 </tr>
16900 <tr>
16901 <td class="paramkey"></td>
16902 <td></td>
16903 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;&#160;</td>
16904 <td class="paramname"><em>info</em>&#160;</td>
16905 </tr>
16906 <tr>
16907 <td></td>
16908 <td>)</td>
16909 <td></td><td></td>
16910 </tr>
16911 </table>
16912</div><div class="memdoc">
16913
16914<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>
16915<dl class="params"><dt>Parameters</dt><dd>
16916 <table class="params">
16917 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16918 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
16919 </table>
16920 </dd>
16921</dl>
16922<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16923
Jenkinsb9abeae2018-11-22 11:58:08 +000016924<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01043">1043</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016925
Jenkinsb9abeae2018-11-22 11:58:08 +000016926<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01637">GEMMInfo::is_a_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01645">GEMMInfo::is_b_reshaped()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01655">GEMMInfo::reshape_b_only_on_first_run()</a>.</p>
16927<div class="fragment"><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; 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="l01046"></a><span class="lineno"> 1046</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="l01047"></a><span class="lineno"> 1047</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="l01048"></a><span class="lineno"> 1048</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</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>
Jenkins52ba29e2018-08-29 15:32:11 +000016928</div><!-- fragment -->
16929</div>
16930</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016931<a id="a6ed8dc0f587448d14a1a33cbd5fc4f70"></a>
16932<h2 class="memtitle"><span class="permalink"><a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[30/49]</span></h2>
16933
Jenkins52ba29e2018-08-29 15:32:11 +000016934<div class="memitem">
16935<div class="memproto">
16936 <table class="memname">
16937 <tr>
16938 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16939 <td>(</td>
16940 <td class="paramtype">::std::ostream &amp;&#160;</td>
16941 <td class="paramname"><em>os</em>, </td>
16942 </tr>
16943 <tr>
16944 <td class="paramkey"></td>
16945 <td></td>
16946 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;&#160;</td>
16947 <td class="paramname"><em>dim</em>&#160;</td>
16948 </tr>
16949 <tr>
16950 <td></td>
16951 <td>)</td>
16952 <td></td><td></td>
16953 </tr>
16954 </table>
16955</div><div class="memdoc">
16956
16957<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>
16958<dl class="params"><dt>Parameters</dt><dd>
16959 <table class="params">
16960 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
16961 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
16962 </table>
16963 </dd>
16964</dl>
16965<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16966
Jenkinsb9abeae2018-11-22 11:58:08 +000016967<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01060">1060</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016968
Jenkinsb9abeae2018-11-22 11:58:08 +000016969<p class="reference">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>
16970<div class="fragment"><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;{</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</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="l01063"></a><span class="lineno"> 1063</span>&#160;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000016971</div>
16972</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000016973<a id="afc6e49991e36423027a467eab1e405b2"></a>
16974<h2 class="memtitle"><span class="permalink"><a href="#afc6e49991e36423027a467eab1e405b2">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[31/49]</span></h2>
16975
Jenkins52ba29e2018-08-29 15:32:11 +000016976<div class="memitem">
16977<div class="memproto">
16978 <table class="memname">
16979 <tr>
16980 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16981 <td>(</td>
16982 <td class="paramtype">::std::ostream &amp;&#160;</td>
16983 <td class="paramname"><em>os</em>, </td>
16984 </tr>
16985 <tr>
16986 <td class="paramkey"></td>
16987 <td></td>
16988 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
16989 <td class="paramname"><em>win</em>&#160;</td>
16990 </tr>
16991 <tr>
16992 <td></td>
16993 <td>)</td>
16994 <td></td><td></td>
16995 </tr>
16996 </table>
16997</div><div class="memdoc">
16998
16999<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>
17000<dl class="params"><dt>Parameters</dt><dd>
17001 <table class="params">
17002 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
17003 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
17004 </table>
17005 </dd>
17006</dl>
17007<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
17008
Jenkinsb9abeae2018-11-22 11:58:08 +000017009<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01073">1073</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000017010
Jenkinsb9abeae2018-11-22 11:58:08 +000017011<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>.</p>
17012<div class="fragment"><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;{</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</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="l01077"></a><span class="lineno"> 1077</span>&#160; {</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="keywordflow">if</span>(i &gt; 0)</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; {</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; }</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; os &lt;&lt; win[i];</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; }</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000017013</div>
17014</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017015<a id="a17881750c427aedd95deba46a4366ace"></a>
17016<h2 class="memtitle"><span class="permalink"><a href="#a17881750c427aedd95deba46a4366ace">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[32/49]</span></h2>
17017
Kaizen8938bd32017-09-28 14:38:23 +010017018<div class="memitem">
17019<div class="memproto">
17020 <table class="memname">
17021 <tr>
17022 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17023 <td>(</td>
17024 <td class="paramtype">::std::ostream &amp;&#160;</td>
17025 <td class="paramname"><em>os</em>, </td>
17026 </tr>
17027 <tr>
17028 <td class="paramkey"></td>
17029 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017030 <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 +010017031 <td class="paramname"><em>rect</em>&#160;</td>
17032 </tr>
17033 <tr>
17034 <td></td>
17035 <td>)</td>
17036 <td></td><td></td>
17037 </tr>
17038 </table>
17039</div><div class="memdoc">
17040
17041<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 +010017042<dl class="params"><dt>Parameters</dt><dd>
17043 <table class="params">
17044 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
17045 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>Type to output.</td></tr>
17046 </table>
17047 </dd>
17048</dl>
17049<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017050
Jenkinsb9abeae2018-11-22 11:58:08 +000017051<p class="definition">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>
Kaizen8938bd32017-09-28 14:38:23 +010017052
Jenkinsb9abeae2018-11-22 11:58:08 +000017053<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00457">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00455">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00456">Rectangle::y</a>.</p>
17054<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; os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</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="l01164"></a><span class="lineno"> 1164</span>&#160;</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017055</div>
17056</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017057<a id="a8af36ae3a3613112c3a95e57f606359a"></a>
17058<h2 class="memtitle"><span class="permalink"><a href="#a8af36ae3a3613112c3a95e57f606359a">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[33/49]</span></h2>
17059
Kaizen8938bd32017-09-28 14:38:23 +010017060<div class="memitem">
17061<div class="memproto">
17062 <table class="memname">
17063 <tr>
17064 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17065 <td>(</td>
17066 <td class="paramtype">::std::ostream &amp;&#160;</td>
17067 <td class="paramname"><em>os</em>, </td>
17068 </tr>
17069 <tr>
17070 <td class="paramkey"></td>
17071 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017072 <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 +010017073 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
17074 </tr>
17075 <tr>
17076 <td></td>
17077 <td>)</td>
17078 <td></td><td></td>
17079 </tr>
17080 </table>
17081</div><div class="memdoc">
17082
Jenkinsb3a371b2018-05-23 11:36:53 +010017083<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>
17084<dl class="params"><dt>Parameters</dt><dd>
17085 <table class="params">
17086 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
17087 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
17088 </table>
17089 </dd>
17090</dl>
17091<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017092
Jenkinsb9abeae2018-11-22 11:58:08 +000017093<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01175">1175</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017094
Jenkinsb9abeae2018-11-22 11:58:08 +000017095<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00764">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00733">PadStrideInfo::stride()</a>.</p>
17096<div class="fragment"><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;{</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</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="l01178"></a><span class="lineno"> 1178</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</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="l01180"></a><span class="lineno"> 1180</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="l01181"></a><span class="lineno"> 1181</span>&#160;</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017097</div>
17098</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017099<a id="a4287c6842a60e5f6bf309e55f8813527"></a>
17100<h2 class="memtitle"><span class="permalink"><a href="#a4287c6842a60e5f6bf309e55f8813527">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[34/49]</span></h2>
17101
Kaizen8938bd32017-09-28 14:38:23 +010017102<div class="memitem">
17103<div class="memproto">
17104 <table class="memname">
17105 <tr>
17106 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17107 <td>(</td>
17108 <td class="paramtype">::std::ostream &amp;&#160;</td>
17109 <td class="paramname"><em>os</em>, </td>
17110 </tr>
17111 <tr>
17112 <td class="paramkey"></td>
17113 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017114 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017115 <td class="paramname"><em>policy</em>&#160;</td>
17116 </tr>
17117 <tr>
17118 <td></td>
17119 <td>)</td>
17120 <td></td><td></td>
17121 </tr>
17122 </table>
17123</div><div class="memdoc">
17124
Jenkinsb3a371b2018-05-23 11:36:53 +010017125<p>Formatted output of the ConvertPolicy type. </p>
17126<dl class="params"><dt>Parameters</dt><dd>
17127 <table class="params">
17128 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
17129 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
17130 </table>
17131 </dd>
17132</dl>
17133<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017134
Jenkinsb9abeae2018-11-22 11:58:08 +000017135<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01270">1270</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017136
Jenkinsb9abeae2018-11-22 11:58:08 +000017137<p class="reference">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>
17138<div class="fragment"><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;{</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; {</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</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="l01282"></a><span class="lineno"> 1282</span>&#160; }</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</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>
17139<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017140</div><!-- fragment -->
17141</div>
17142</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017143<a id="a292505a0ec686541cfe0dcfd1d651ec5"></a>
17144<h2 class="memtitle"><span class="permalink"><a href="#a292505a0ec686541cfe0dcfd1d651ec5">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[35/49]</span></h2>
17145
Kaizen8938bd32017-09-28 14:38:23 +010017146<div class="memitem">
17147<div class="memproto">
17148 <table class="memname">
17149 <tr>
17150 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17151 <td>(</td>
17152 <td class="paramtype">::std::ostream &amp;&#160;</td>
17153 <td class="paramname"><em>os</em>, </td>
17154 </tr>
17155 <tr>
17156 <td class="paramkey"></td>
17157 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017158 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017159 <td class="paramname"><em>op</em>&#160;</td>
17160 </tr>
17161 <tr>
17162 <td></td>
17163 <td>)</td>
17164 <td></td><td></td>
17165 </tr>
17166 </table>
17167</div><div class="memdoc">
17168
17169<p>Formatted output of the Reduction Operations. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017170<dl class="params"><dt>Parameters</dt><dd>
17171 <table class="params">
17172 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
17173 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
17174 </table>
17175 </dd>
17176</dl>
17177<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017178
Jenkinsb9abeae2018-11-22 11:58:08 +000017179<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01301">1301</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017180
Jenkinsb9abeae2018-11-22 11:58:08 +000017181<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
17182<div class="fragment"><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;{</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; {</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <span class="keywordflow">case</span> ReductionOperation::SUM:</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUM&quot;</span>;</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <span class="keywordflow">case</span> ReductionOperation::MEAN_SUM:</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MEAN_SUM&quot;</span>;</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</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="l01316"></a><span class="lineno"> 1316</span>&#160; }</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</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 +010017183</div><!-- fragment -->
17184</div>
17185</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017186<a id="a9a2e48a508dc85b7280f955876bb4462"></a>
17187<h2 class="memtitle"><span class="permalink"><a href="#a9a2e48a508dc85b7280f955876bb4462">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[36/49]</span></h2>
17188
Kaizen8938bd32017-09-28 14:38:23 +010017189<div class="memitem">
17190<div class="memproto">
17191 <table class="memname">
17192 <tr>
17193 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17194 <td>(</td>
17195 <td class="paramtype">::std::ostream &amp;&#160;</td>
17196 <td class="paramname"><em>os</em>, </td>
17197 </tr>
17198 <tr>
17199 <td class="paramkey"></td>
17200 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017201 <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 +010017202 <td class="paramname"><em>point</em>&#160;</td>
17203 </tr>
17204 <tr>
17205 <td></td>
17206 <td>)</td>
17207 <td></td><td></td>
17208 </tr>
17209 </table>
17210</div><div class="memdoc">
17211
17212<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 +010017213<dl class="params"><dt>Parameters</dt><dd>
17214 <table class="params">
17215 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17216 <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>Type to output.</td></tr>
17217 </table>
17218 </dd>
17219</dl>
17220<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017221
Jenkinsb9abeae2018-11-22 11:58:08 +000017222<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01412">1412</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017223
Jenkinsb9abeae2018-11-22 11:58:08 +000017224<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00446">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00444">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00443">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00442">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00445">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00441">KeyPoint::y</a>.</p>
17225<div class="fragment"><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;{</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</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="l01415"></a><span class="lineno"> 1415</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="l01416"></a><span class="lineno"> 1416</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="l01417"></a><span class="lineno"> 1417</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="l01418"></a><span class="lineno"> 1418</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="l01419"></a><span class="lineno"> 1419</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="l01420"></a><span class="lineno"> 1420</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="l01421"></a><span class="lineno"> 1421</span>&#160;</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017226</div>
17227</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017228<a id="abe52a76af2aa88876d54ce8a5969e509"></a>
17229<h2 class="memtitle"><span class="permalink"><a href="#abe52a76af2aa88876d54ce8a5969e509">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[37/49]</span></h2>
17230
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017231<div class="memitem">
17232<div class="memproto">
17233 <table class="memname">
17234 <tr>
17235 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17236 <td>(</td>
17237 <td class="paramtype">::std::ostream &amp;&#160;</td>
17238 <td class="paramname"><em>os</em>, </td>
17239 </tr>
17240 <tr>
17241 <td class="paramkey"></td>
17242 <td></td>
17243 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> &amp;&#160;</td>
17244 <td class="paramname"><em>phase_type</em>&#160;</td>
17245 </tr>
17246 <tr>
17247 <td></td>
17248 <td>)</td>
17249 <td></td><td></td>
17250 </tr>
17251 </table>
17252</div><div class="memdoc">
17253
17254<p>Formatted output of the PhaseType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017255<dl class="params"><dt>Parameters</dt><dd>
17256 <table class="params">
17257 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17258 <tr><td class="paramdir">[in]</td><td class="paramname">phase_type</td><td>Type to output.</td></tr>
17259 </table>
17260 </dd>
17261</dl>
17262<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017263
Jenkinsb9abeae2018-11-22 11:58:08 +000017264<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01432">1432</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 +000017265
Jenkinsb9abeae2018-11-22 11:58:08 +000017266<p class="reference">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>
17267<div class="fragment"><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;{</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; {</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIGNED&quot;</span>;</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNSIGNED&quot;</span>;</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</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="l01444"></a><span class="lineno"> 1444</span>&#160; }</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</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 +010017268</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017269</div>
17270</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017271<a id="a530d86eec3dbd22cab6336ffdceb0d37"></a>
17272<h2 class="memtitle"><span class="permalink"><a href="#a530d86eec3dbd22cab6336ffdceb0d37">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[38/49]</span></h2>
17273
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017274<div class="memitem">
17275<div class="memproto">
17276 <table class="memname">
17277 <tr>
17278 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17279 <td>(</td>
17280 <td class="paramtype">::std::ostream &amp;&#160;</td>
17281 <td class="paramname"><em>os</em>, </td>
17282 </tr>
17283 <tr>
17284 <td class="paramkey"></td>
17285 <td></td>
17286 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> &amp;&#160;</td>
17287 <td class="paramname"><em>magnitude_type</em>&#160;</td>
17288 </tr>
17289 <tr>
17290 <td></td>
17291 <td>)</td>
17292 <td></td><td></td>
17293 </tr>
17294 </table>
17295</div><div class="memdoc">
17296
17297<p>Formatted output of the MagnitudeType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017298<dl class="params"><dt>Parameters</dt><dd>
17299 <table class="params">
17300 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17301 <tr><td class="paramdir">[in]</td><td class="paramname">magnitude_type</td><td>Type to output.</td></tr>
17302 </table>
17303 </dd>
17304</dl>
17305<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017306
Jenkinsb9abeae2018-11-22 11:58:08 +000017307<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01469">1469</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 +000017308
Jenkinsb9abeae2018-11-22 11:58:08 +000017309<p class="reference">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>
17310<div class="fragment"><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;{</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; {</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L1NORM&quot;</span>;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2NORM&quot;</span>;</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</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="l01481"></a><span class="lineno"> 1481</span>&#160; }</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</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 +000017311</div><!-- fragment -->
17312</div>
17313</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017314<a id="a5e7a61df2b926347b42ecadf8bcc8969"></a>
17315<h2 class="memtitle"><span class="permalink"><a href="#a5e7a61df2b926347b42ecadf8bcc8969">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[39/49]</span></h2>
17316
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017317<div class="memitem">
17318<div class="memproto">
17319 <table class="memname">
17320 <tr>
17321 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17322 <td>(</td>
17323 <td class="paramtype">::std::ostream &amp;&#160;</td>
17324 <td class="paramname"><em>os</em>, </td>
17325 </tr>
17326 <tr>
17327 <td class="paramkey"></td>
17328 <td></td>
17329 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;&#160;</td>
17330 <td class="paramname"><em>norm_type</em>&#160;</td>
17331 </tr>
17332 <tr>
17333 <td></td>
17334 <td>)</td>
17335 <td></td><td></td>
17336 </tr>
17337 </table>
17338</div><div class="memdoc">
17339
17340<p>Formatted output of the HOGNormType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017341<dl class="params"><dt>Parameters</dt><dd>
17342 <table class="params">
17343 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17344 <tr><td class="paramdir">[in]</td><td class="paramname">norm_type</td><td>Type to output</td></tr>
17345 </table>
17346 </dd>
17347</dl>
17348<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017349
Jenkinsb9abeae2018-11-22 11:58:08 +000017350<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01506">1506</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 +000017351
Jenkinsb9abeae2018-11-22 11:58:08 +000017352<p class="reference">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>
17353<div class="fragment"><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;{</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; {</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L1_NORM&quot;</span>;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2_NORM&quot;</span>;</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2HYS_NORM&quot;</span>;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</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="l01521"></a><span class="lineno"> 1521</span>&#160; }</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</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 +000017354</div><!-- fragment -->
17355</div>
17356</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017357<a id="ab91d110e020f6ed987e05e82df3e350b"></a>
17358<h2 class="memtitle"><span class="permalink"><a href="#ab91d110e020f6ed987e05e82df3e350b">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[40/49]</span></h2>
17359
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017360<div class="memitem">
17361<div class="memproto">
17362 <table class="memname">
17363 <tr>
17364 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17365 <td>(</td>
17366 <td class="paramtype">::std::ostream &amp;&#160;</td>
17367 <td class="paramname"><em>os</em>, </td>
17368 </tr>
17369 <tr>
17370 <td class="paramkey"></td>
17371 <td></td>
17372 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
17373 <td class="paramname"><em>size</em>&#160;</td>
17374 </tr>
17375 <tr>
17376 <td></td>
17377 <td>)</td>
17378 <td></td><td></td>
17379 </tr>
17380 </table>
17381</div><div class="memdoc">
17382
17383<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 +010017384<dl class="params"><dt>Parameters</dt><dd>
17385 <table class="params">
17386 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17387 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Type to output</td></tr>
17388 </table>
17389 </dd>
17390</dl>
17391<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017392
Jenkinsb9abeae2018-11-22 11:58:08 +000017393<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01546">1546</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 +000017394
Jenkinsb9abeae2018-11-22 11:58:08 +000017395<p class="reference">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>
17396<div class="fragment"><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;{</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</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="l01549"></a><span class="lineno"> 1549</span>&#160;</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017397</div>
17398</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017399<a id="a4228b490e13b79a60737929d9d9e5957"></a>
17400<h2 class="memtitle"><span class="permalink"><a href="#a4228b490e13b79a60737929d9d9e5957">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[41/49]</span></h2>
17401
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017402<div class="memitem">
17403<div class="memproto">
17404 <table class="memname">
17405 <tr>
17406 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17407 <td>(</td>
17408 <td class="paramtype">::std::ostream &amp;&#160;</td>
17409 <td class="paramname"><em>os</em>, </td>
17410 </tr>
17411 <tr>
17412 <td class="paramkey"></td>
17413 <td></td>
17414 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;&#160;</td>
17415 <td class="paramname"><em>hog_info</em>&#160;</td>
17416 </tr>
17417 <tr>
17418 <td></td>
17419 <td>)</td>
17420 <td></td><td></td>
17421 </tr>
17422 </table>
17423</div><div class="memdoc">
17424
Jenkinsb3a371b2018-05-23 11:36:53 +010017425<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>
17426<dl class="params"><dt>Parameters</dt><dd>
17427 <table class="params">
17428 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17429 <tr><td class="paramdir">[in]</td><td class="paramname">hog_info</td><td>Type to output</td></tr>
17430 </table>
17431 </dd>
17432</dl>
17433<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017434
Jenkinsb9abeae2018-11-22 11:58:08 +000017435<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01573">1573</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 +000017436
Jenkinsb9abeae2018-11-22 11:58:08 +000017437<p class="reference">References <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00096">HOGInfo::block_size()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00106">HOGInfo::block_stride()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00091">HOGInfo::cell_size()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00101">HOGInfo::detection_window_size()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00121">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00116">HOGInfo::normalization_type()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00111">HOGInfo::num_bins()</a>, and <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00126">HOGInfo::phase_type()</a>.</p>
17438<div class="fragment"><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;{</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</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="l01576"></a><span class="lineno"> 1576</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="l01577"></a><span class="lineno"> 1577</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="l01578"></a><span class="lineno"> 1578</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="l01579"></a><span class="lineno"> 1579</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="l01580"></a><span class="lineno"> 1580</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="l01581"></a><span class="lineno"> 1581</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="l01582"></a><span class="lineno"> 1582</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="l01583"></a><span class="lineno"> 1583</span>&#160;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000017439</div>
17440</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017441<a id="abd35c1c3fb716078b1f4a25981defac4"></a>
17442<h2 class="memtitle"><span class="permalink"><a href="#abd35c1c3fb716078b1f4a25981defac4">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[42/49]</span></h2>
17443
Anthony Barbier06ea0482018-02-22 15:45:35 +000017444<div class="memitem">
17445<div class="memproto">
17446 <table class="memname">
17447 <tr>
17448 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17449 <td>(</td>
17450 <td class="paramtype">::std::ostream &amp;&#160;</td>
17451 <td class="paramname"><em>os</em>, </td>
17452 </tr>
17453 <tr>
17454 <td class="paramkey"></td>
17455 <td></td>
17456 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;&#160;</td>
17457 <td class="paramname"><em>conv_method</em>&#160;</td>
17458 </tr>
17459 <tr>
17460 <td></td>
17461 <td>)</td>
17462 <td></td><td></td>
17463 </tr>
17464 </table>
17465</div><div class="memdoc">
17466
Jenkinsb3a371b2018-05-23 11:36:53 +010017467<p>Formatted output of the ConvolutionMethod type. </p>
17468<dl class="params"><dt>Parameters</dt><dd>
17469 <table class="params">
17470 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17471 <tr><td class="paramdir">[in]</td><td class="paramname">conv_method</td><td>Type to output</td></tr>
17472 </table>
17473 </dd>
17474</dl>
17475<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017476
Jenkinsb9abeae2018-11-22 11:58:08 +000017477<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01607">1607</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017478
Jenkinsb9abeae2018-11-22 11:58:08 +000017479<p class="reference">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>
17480<div class="fragment"><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;{</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keywordflow">switch</span>(conv_method)</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; <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GEMM&quot;</span>;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DIRECT&quot;</span>;</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WINOGRAD&quot;</span>;</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</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="l01622"></a><span class="lineno"> 1622</span>&#160; }</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</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 +000017481</div><!-- fragment -->
17482</div>
17483</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017484<a id="a1f4d95d65a62a085e929ab0a1a77add2"></a>
17485<h2 class="memtitle"><span class="permalink"><a href="#a1f4d95d65a62a085e929ab0a1a77add2">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[43/49]</span></h2>
17486
Anthony Barbier06ea0482018-02-22 15:45:35 +000017487<div class="memitem">
17488<div class="memproto">
17489 <table class="memname">
17490 <tr>
17491 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17492 <td>(</td>
17493 <td class="paramtype">::std::ostream &amp;&#160;</td>
17494 <td class="paramname"><em>os</em>, </td>
17495 </tr>
17496 <tr>
17497 <td class="paramkey"></td>
17498 <td></td>
17499 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;&#160;</td>
17500 <td class="paramname"><em>gpu_target</em>&#160;</td>
17501 </tr>
17502 <tr>
17503 <td></td>
17504 <td>)</td>
17505 <td></td><td></td>
17506 </tr>
17507 </table>
17508</div><div class="memdoc">
17509
Jenkinsb3a371b2018-05-23 11:36:53 +010017510<p>Formatted output of the GPUTarget type. </p>
17511<dl class="params"><dt>Parameters</dt><dd>
17512 <table class="params">
17513 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17514 <tr><td class="paramdir">[in]</td><td class="paramname">gpu_target</td><td>Type to output</td></tr>
17515 </table>
17516 </dd>
17517</dl>
17518<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017519
Jenkinsb9abeae2018-11-22 11:58:08 +000017520<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01647">1647</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017521
Jenkinsb9abeae2018-11-22 11:58:08 +000017522<p class="reference">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>
17523<div class="fragment"><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;{</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; {</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GPU_ARCH_MASK&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> GPUTarget::MIDGARD:</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIDGARD&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">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BIFROST&quot;</span>;</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T600&quot;</span>;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T700&quot;</span>;</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T800&quot;</span>;</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G71&quot;</span>;</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G72&quot;</span>;</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51&quot;</span>;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51BIG&quot;</span>;</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51LIT&quot;</span>;</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G76&quot;</span>;</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TTRX&quot;</span>;</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TBOX&quot;</span>;</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</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="l01695"></a><span class="lineno"> 1695</span>&#160; }</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</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 +010017524</div><!-- fragment -->
17525</div>
17526</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017527<a id="a907c93ba5daaabf6af7095f20340d024"></a>
17528<h2 class="memtitle"><span class="permalink"><a href="#a907c93ba5daaabf6af7095f20340d024">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[44/49]</span></h2>
17529
Jenkinsb3a371b2018-05-23 11:36:53 +010017530<div class="memitem">
17531<div class="memproto">
17532 <table class="memname">
17533 <tr>
17534 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17535 <td>(</td>
17536 <td class="paramtype">::std::ostream &amp;&#160;</td>
17537 <td class="paramname"><em>os</em>, </td>
17538 </tr>
17539 <tr>
17540 <td class="paramkey"></td>
17541 <td></td>
17542 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;&#160;</td>
17543 <td class="paramname"><em>detection_window</em>&#160;</td>
17544 </tr>
17545 <tr>
17546 <td></td>
17547 <td>)</td>
17548 <td></td><td></td>
17549 </tr>
17550 </table>
17551</div><div class="memdoc">
17552
17553<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>
17554<dl class="params"><dt>Parameters</dt><dd>
17555 <table class="params">
17556 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17557 <tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
17558 </table>
17559 </dd>
17560</dl>
17561<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
17562
Jenkinsb9abeae2018-11-22 11:58:08 +000017563<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01720">1720</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017564
Jenkinsb9abeae2018-11-22 11:58:08 +000017565<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00558">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00559">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00560">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00557">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00555">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00556">DetectionWindow::y</a>.</p>
17566<div class="fragment"><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;{</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</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="l01723"></a><span class="lineno"> 1723</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="l01724"></a><span class="lineno"> 1724</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="l01725"></a><span class="lineno"> 1725</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="l01726"></a><span class="lineno"> 1726</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="l01727"></a><span class="lineno"> 1727</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="l01728"></a><span class="lineno"> 1728</span>&#160;</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</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="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00053">types.h:53</a></div></div>
17567<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="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00050">types.h:50</a></div></div>
17568<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="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00054">types.h:54</a></div></div>
17569<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="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00052">types.h:52</a></div></div>
17570<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="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00049">types.h:49</a></div></div>
17571<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="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00051">types.h:51</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010017572</div><!-- fragment -->
17573</div>
17574</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017575<a id="a8cfa7d498e60be008d557d025fe62ff3"></a>
17576<h2 class="memtitle"><span class="permalink"><a href="#a8cfa7d498e60be008d557d025fe62ff3">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[45/49]</span></h2>
17577
Jenkinsb3a371b2018-05-23 11:36:53 +010017578<div class="memitem">
17579<div class="memproto">
17580 <table class="memname">
17581 <tr>
17582 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17583 <td>(</td>
17584 <td class="paramtype">::std::ostream &amp;&#160;</td>
17585 <td class="paramname"><em>os</em>, </td>
17586 </tr>
17587 <tr>
17588 <td class="paramkey"></td>
17589 <td></td>
17590 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;&#160;</td>
17591 <td class="paramname"><em>termination</em>&#160;</td>
17592 </tr>
17593 <tr>
17594 <td></td>
17595 <td>)</td>
17596 <td></td><td></td>
17597 </tr>
17598 </table>
17599</div><div class="memdoc">
17600
17601<p>Formatted output of the Termination type. </p>
17602<dl class="params"><dt>Parameters</dt><dd>
17603 <table class="params">
17604 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17605 <tr><td class="paramdir">[in]</td><td class="paramname">termination</td><td>Type to output</td></tr>
17606 </table>
17607 </dd>
17608</dl>
17609<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
17610
Jenkinsb9abeae2018-11-22 11:58:08 +000017611<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01752">1752</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017612
Jenkinsb9abeae2018-11-22 11:58:08 +000017613<p class="reference">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>
17614<div class="fragment"><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;{</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; {</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_EPSILON&quot;</span>;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_ITERATIONS&quot;</span>;</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_BOTH&quot;</span>;</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</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="l01767"></a><span class="lineno"> 1767</span>&#160; }</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</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 +010017615</div><!-- fragment -->
17616</div>
17617</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017618<a id="a2329ad899483ca80bbffd03a63da9f5d"></a>
17619<h2 class="memtitle"><span class="permalink"><a href="#a2329ad899483ca80bbffd03a63da9f5d">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[46/49]</span></h2>
17620
Jenkins52ba29e2018-08-29 15:32:11 +000017621<div class="memitem">
17622<div class="memproto">
17623 <table class="memname">
17624 <tr>
17625 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17626 <td>(</td>
17627 <td class="paramtype">::std::ostream &amp;&#160;</td>
17628 <td class="paramname"><em>os</em>, </td>
17629 </tr>
17630 <tr>
17631 <td class="paramkey"></td>
17632 <td></td>
17633 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;&#160;</td>
17634 <td class="paramname"><em>cpu_model</em>&#160;</td>
17635 </tr>
17636 <tr>
17637 <td></td>
17638 <td>)</td>
17639 <td></td><td></td>
17640 </tr>
17641 </table>
17642</div><div class="memdoc">
17643
17644<p>Formatted output of the CPUModel type. </p>
17645<dl class="params"><dt>Parameters</dt><dd>
17646 <table class="params">
17647 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17648 <tr><td class="paramdir">[in]</td><td class="paramname">cpu_model</td><td>Model to output</td></tr>
17649 </table>
17650 </dd>
17651</dl>
17652<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
17653
Jenkinsb9abeae2018-11-22 11:58:08 +000017654<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01792">1792</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000017655
Jenkinsb9abeae2018-11-22 11:58:08 +000017656<p class="reference">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>
17657<div class="fragment"><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;{</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; {</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GENERIC&quot;</span>;</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GENERIC_FP16&quot;</span>;</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GENERIC_FP16_DOT&quot;</span>;</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A53&quot;</span>;</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A55r0&quot;</span>;</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A55r1&quot;</span>;</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</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="l01816"></a><span class="lineno"> 1816</span>&#160; }</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</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>
Jenkins52ba29e2018-08-29 15:32:11 +000017658</div><!-- fragment -->
17659</div>
17660</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017661<a id="a29cd1c3e1b33d61a479fa49465c5a7e7"></a>
17662<h2 class="memtitle"><span class="permalink"><a href="#a29cd1c3e1b33d61a479fa49465c5a7e7">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[47/49]</span></h2>
17663
Jenkins52ba29e2018-08-29 15:32:11 +000017664<div class="memitem">
17665<div class="memproto">
17666 <table class="memname">
17667 <tr>
17668 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17669 <td>(</td>
17670 <td class="paramtype">::std::ostream &amp;&#160;</td>
17671 <td class="paramname"><em>os</em>, </td>
17672 </tr>
17673 <tr>
17674 <td class="paramkey"></td>
17675 <td></td>
17676 <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
17677 <td class="paramname"><em>args</em>&#160;</td>
17678 </tr>
17679 <tr>
17680 <td></td>
17681 <td>)</td>
17682 <td></td><td></td>
17683 </tr>
17684 </table>
17685</div><div class="memdoc">
17686
17687<p>Formatted output of a vector of objects. </p>
17688<dl class="params"><dt>Parameters</dt><dd>
17689 <table class="params">
17690 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
17691 <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>
17692 </table>
17693 </dd>
17694</dl>
17695<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
17696
Jenkinsb9abeae2018-11-22 11:58:08 +000017697<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01841">1841</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17698<div class="fragment"><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;{</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;arg : args)</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160; {</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160; <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; {</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160; first = <span class="keyword">false</span>;</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160; }</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160; {</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; }</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; os &lt;&lt; arg;</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; }</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000017699</div>
17700</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017701<a id="ae7393414bb7b814bf70e0399f2347847"></a>
17702<h2 class="memtitle"><span class="permalink"><a href="#ae7393414bb7b814bf70e0399f2347847">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[48/49]</span></h2>
17703
17704<div class="memitem">
17705<div class="memproto">
17706 <table class="memname">
17707 <tr>
17708 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17709 <td>(</td>
17710 <td class="paramtype">::std::ostream &amp;&#160;</td>
17711 <td class="paramname"><em>os</em>, </td>
17712 </tr>
17713 <tr>
17714 <td class="paramkey"></td>
17715 <td></td>
17716 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a> &amp;&#160;</td>
17717 <td class="paramname"><em>info</em>&#160;</td>
17718 </tr>
17719 <tr>
17720 <td></td>
17721 <td>)</td>
17722 <td></td><td></td>
17723 </tr>
17724 </table>
17725</div><div class="memdoc">
17726
17727<p>Formatted output of <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a>. </p>
17728<dl class="params"><dt>Parameters</dt><dd>
17729 <table class="params">
17730 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
17731 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17732 </table>
17733 </dd>
17734</dl>
17735<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
17736
17737<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01868">1868</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17738
17739<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00929">PriorBoxLayerInfo::clip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00924">PriorBoxLayerInfo::flip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00914">PriorBoxLayerInfo::img_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00934">PriorBoxLayerInfo::max_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00899">PriorBoxLayerInfo::min_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00919">PriorBoxLayerInfo::offset()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00909">PriorBoxLayerInfo::steps()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00904">PriorBoxLayerInfo::variances()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00464">Coordinates2D::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00465">Coordinates2D::y</a>.</p>
17740<div class="fragment"><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;{</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Clip:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.clip()</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Flip:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.flip()</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160; &lt;&lt; <span class="stringliteral">&quot;StepX:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[0]</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160; &lt;&lt; <span class="stringliteral">&quot;StepY:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[1]</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; &lt;&lt; <span class="stringliteral">&quot;MinSizes:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.min_sizes()</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; &lt;&lt; <span class="stringliteral">&quot;MaxSizes:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.max_sizes()</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; &lt;&lt; <span class="stringliteral">&quot;ImgSizeX:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().x</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; &lt;&lt; <span class="stringliteral">&quot;ImgSizeY:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().y</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.offset()</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Variances:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.variances();</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</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>
17741</div><!-- fragment -->
17742</div>
17743</div>
17744<a id="af3cba8a4493cee4c431d128eed565ffe"></a>
17745<h2 class="memtitle"><span class="permalink"><a href="#af3cba8a4493cee4c431d128eed565ffe">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[49/49]</span></h2>
17746
Jenkinsb3a371b2018-05-23 11:36:53 +010017747<div class="memitem">
17748<div class="memproto">
17749 <table class="memname">
17750 <tr>
17751 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
17752 <td>(</td>
17753 <td class="paramtype">::std::ostream &amp;&#160;</td>
17754 <td class="paramname"><em>os</em>, </td>
17755 </tr>
17756 <tr>
17757 <td class="paramkey"></td>
17758 <td></td>
17759 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;&#160;</td>
17760 <td class="paramname"><em>info</em>&#160;</td>
17761 </tr>
17762 <tr>
17763 <td></td>
17764 <td>)</td>
17765 <td></td><td></td>
17766 </tr>
17767 </table>
17768</div><div class="memdoc">
17769
17770<p>Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. </p>
17771
Jenkinsb9abeae2018-11-22 11:58:08 +000017772<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01899">1899</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017773
Jenkinsb9abeae2018-11-22 11:58:08 +000017774<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01730">WinogradInfo::convolution_info</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01728">WinogradInfo::kernel_size</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01731">WinogradInfo::output_data_layout</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01727">WinogradInfo::output_tile_size</a>.</p>
17775<div class="fragment"><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;{</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</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="l01902"></a><span class="lineno"> 1902</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="l01903"></a><span class="lineno"> 1903</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="l01904"></a><span class="lineno"> 1904</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="l01905"></a><span class="lineno"> 1905</span>&#160;</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</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 +000017776</div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000017777</div>
17778</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017779<a id="a096590f2456b9e9bcb8db98175720b60"></a>
17780<h2 class="memtitle"><span class="permalink"><a href="#a096590f2456b9e9bcb8db98175720b60">&#9670;&nbsp;</a></span>operator==()</h2>
17781
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017782<div class="memitem">
17783<div class="memproto">
17784<table class="mlabels">
17785 <tr>
17786 <td class="mlabels-left">
17787 <table class="memname">
17788 <tr>
17789 <td class="memname">bool arm_compute::operator== </td>
17790 <td>(</td>
17791 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
17792 <td class="paramname"><em>lhs</em>, </td>
17793 </tr>
17794 <tr>
17795 <td class="paramkey"></td>
17796 <td></td>
17797 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
17798 <td class="paramname"><em>rhs</em>&#160;</td>
17799 </tr>
17800 <tr>
17801 <td></td>
17802 <td>)</td>
17803 <td></td><td></td>
17804 </tr>
17805 </table>
17806 </td>
17807 <td class="mlabels-right">
17808<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17809 </tr>
17810</table>
17811</div><div class="memdoc">
17812
Jenkinsb3a371b2018-05-23 11:36:53 +010017813<p>Check that given dimensions are equal. </p>
17814<dl class="params"><dt>Parameters</dt><dd>
17815 <table class="params">
17816 <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>
17817 <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>
17818 </table>
17819 </dd>
17820</dl>
17821<dl class="section return"><dt>Returns</dt><dd>True if the given dimensions are equal. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017822
Jenkinsb9abeae2018-11-22 11:58:08 +000017823<p class="definition">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010017824
Jenkinsb9abeae2018-11-22 11:58:08 +000017825<p class="reference">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010017826<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 +000017827</div>
17828</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017829<a id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
17830<h2 class="memtitle"><span class="permalink"><a href="#a1379e5f8a8b4640d7a52d901f0539ccd">&#9670;&nbsp;</a></span>operator>>() <span class="overload">[1/3]</span></h2>
17831
Anthony Barbierdbdab852017-06-23 15:42:00 +010017832<div class="memitem">
17833<div class="memproto">
17834 <table class="memname">
17835 <tr>
17836 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
17837 <td>(</td>
17838 <td class="paramtype">::std::istream &amp;&#160;</td>
17839 <td class="paramname"><em>is</em>, </td>
17840 </tr>
17841 <tr>
17842 <td class="paramkey"></td>
17843 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017844 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017845 <td class="paramname"><em>mode</em>&#160;</td>
17846 </tr>
17847 <tr>
17848 <td></td>
17849 <td>)</td>
17850 <td></td><td></td>
17851 </tr>
17852 </table>
17853</div><div class="memdoc">
17854
17855<p>Formatted input of the BorderMode type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017856<dl class="params"><dt>Parameters</dt><dd>
17857 <table class="params">
17858 <tr><td class="paramdir">[out]</td><td class="paramname">is</td><td>Input stream. </td></tr>
17859 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Border mode.</td></tr>
17860 </table>
17861 </dd>
17862</dl>
17863<dl class="section return"><dt>Returns</dt><dd>the modified input stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017864
Jenkinsb9abeae2018-11-22 11:58:08 +000017865<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000017866<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>
17867</div><!-- fragment -->
17868</div>
17869</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017870<a id="a7cec6ed141f3eb1d6330533a90bba9e1"></a>
17871<h2 class="memtitle"><span class="permalink"><a href="#a7cec6ed141f3eb1d6330533a90bba9e1">&#9670;&nbsp;</a></span>operator>>() <span class="overload">[2/3]</span></h2>
17872
Jenkins52ba29e2018-08-29 15:32:11 +000017873<div class="memitem">
17874<div class="memproto">
17875 <table class="memname">
17876 <tr>
17877 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
17878 <td>(</td>
17879 <td class="paramtype">::std::istream &amp;&#160;</td>
17880 <td class="paramname"><em>stream</em>, </td>
17881 </tr>
17882 <tr>
17883 <td class="paramkey"></td>
17884 <td></td>
17885 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
17886 <td class="paramname"><em>data_type</em>&#160;</td>
17887 </tr>
17888 <tr>
17889 <td></td>
17890 <td>)</td>
17891 <td></td><td></td>
17892 </tr>
17893 </table>
17894</div><div class="memdoc">
17895
17896<p>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
17897<dl class="params"><dt>Parameters</dt><dd>
17898 <table class="params">
17899 <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Stream to parse </td></tr>
17900 <tr><td class="paramdir">[out]</td><td class="paramname">data_type</td><td>Output data type</td></tr>
17901 </table>
17902 </dd>
17903</dl>
17904<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
17905
Jenkinsb9abeae2018-11-22 11:58:08 +000017906<p class="definition">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>
17907<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#a307a55b07dc70dc9177ff26543b1c66f">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_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
17908<div class="ttc" id="namespacearm__compute_xhtml_a307a55b07dc70dc9177ff26543b1c66f"><div class="ttname"><a href="namespacearm__compute.xhtml#a307a55b07dc70dc9177ff26543b1c66f">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 class="ttdef"><b>Definition:</b> <a href="_type_loader_8cpp_source.xhtml#l00032">TypeLoader.cpp:32</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000017909</div><!-- fragment -->
17910</div>
17911</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017912<a id="a9c4a3d0e80938810dd7b22b16785f5c8"></a>
17913<h2 class="memtitle"><span class="permalink"><a href="#a9c4a3d0e80938810dd7b22b16785f5c8">&#9670;&nbsp;</a></span>operator>>() <span class="overload">[3/3]</span></h2>
17914
Jenkins52ba29e2018-08-29 15:32:11 +000017915<div class="memitem">
17916<div class="memproto">
17917 <table class="memname">
17918 <tr>
17919 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
17920 <td>(</td>
17921 <td class="paramtype">::std::istream &amp;&#160;</td>
17922 <td class="paramname"><em>stream</em>, </td>
17923 </tr>
17924 <tr>
17925 <td class="paramkey"></td>
17926 <td></td>
17927 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;&#160;</td>
17928 <td class="paramname"><em>data_layout</em>&#160;</td>
17929 </tr>
17930 <tr>
17931 <td></td>
17932 <td>)</td>
17933 <td></td><td></td>
17934 </tr>
17935 </table>
17936</div><div class="memdoc">
17937
17938<p>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. </p>
17939<dl class="params"><dt>Parameters</dt><dd>
17940 <table class="params">
17941 <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Stream to parse </td></tr>
17942 <tr><td class="paramdir">[out]</td><td class="paramname">data_layout</td><td>Output data layout</td></tr>
17943 </table>
17944 </dd>
17945</dl>
17946<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
17947
Jenkinsb9abeae2018-11-22 11:58:08 +000017948<p class="definition">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>
17949<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#a834b76c7d21af898f39def3b787d7530">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#l00251">Winograd.cpp:251</a></div></div>
17950<div class="ttc" id="namespacearm__compute_xhtml_a834b76c7d21af898f39def3b787d7530"><div class="ttname"><a href="namespacearm__compute.xhtml#a834b76c7d21af898f39def3b787d7530">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 class="ttdef"><b>Definition:</b> <a href="_type_loader_8cpp_source.xhtml#l00051">TypeLoader.cpp:51</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017951</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017952</div>
17953</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000017954<a id="a21c3e11887f3acf9284ca763372c7da0"></a>
17955<h2 class="memtitle"><span class="permalink"><a href="#a21c3e11887f3acf9284ca763372c7da0">&#9670;&nbsp;</a></span>permute() <span class="overload">[1/2]</span></h2>
17956
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017957<div class="memitem">
17958<div class="memproto">
17959<table class="mlabels">
17960 <tr>
17961 <td class="mlabels-left">
17962 <table class="memname">
17963 <tr>
17964 <td class="memname">void arm_compute::permute </td>
17965 <td>(</td>
17966 <td class="paramtype"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
17967 <td class="paramname"><em>dimensions</em>, </td>
17968 </tr>
17969 <tr>
17970 <td class="paramkey"></td>
17971 <td></td>
17972 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;&#160;</td>
17973 <td class="paramname"><em>perm</em>&#160;</td>
17974 </tr>
17975 <tr>
17976 <td></td>
17977 <td>)</td>
17978 <td></td><td></td>
17979 </tr>
17980 </table>
17981 </td>
17982 <td class="mlabels-right">
17983<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17984 </tr>
17985</table>
17986</div><div class="memdoc">
17987
17988<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>
17989<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
17990<dl class="params"><dt>Parameters</dt><dd>
17991 <table class="params">
17992 <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>
17993 <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
17994 </table>
17995 </dd>
17996</dl>
17997
Jenkinsb9abeae2018-11-22 11:58:08 +000017998<p class="definition">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 +000017999
Jenkinsb9abeae2018-11-22 11:58:08 +000018000<p class="reference">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 +000018001
Jenkinsb9abeae2018-11-22 11:58:08 +000018002<p class="reference">Referenced by <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00039">CLPermuteKernel::CLPermuteKernel()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00055">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00045">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_permute_layer_node_8cpp_source.xhtml#l00059">PermuteLayerNode::configure_output()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00453">AssetsLibrary::fill()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00396">NPYLoader::fill_tensor()</a>, <a class="el" href="_graph_utils_8h_source.xhtml#l00506">arm_compute::graph_utils::permute_shape()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010018003<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 +000018004</div>
18005</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018006<a id="a5045aaec85553032a782c44ab8d26341"></a>
18007<h2 class="memtitle"><span class="permalink"><a href="#a5045aaec85553032a782c44ab8d26341">&#9670;&nbsp;</a></span>permute() <span class="overload">[2/2]</span></h2>
18008
Anthony Barbier06ea0482018-02-22 15:45:35 +000018009<div class="memitem">
18010<div class="memproto">
18011<table class="mlabels">
18012 <tr>
18013 <td class="mlabels-left">
18014 <table class="memname">
18015 <tr>
18016 <td class="memname">void arm_compute::permute </td>
18017 <td>(</td>
18018 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
18019 <td class="paramname"><em>shape</em>, </td>
18020 </tr>
18021 <tr>
18022 <td class="paramkey"></td>
18023 <td></td>
18024 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;&#160;</td>
18025 <td class="paramname"><em>perm</em>&#160;</td>
18026 </tr>
18027 <tr>
18028 <td></td>
18029 <td>)</td>
18030 <td></td><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
18040<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>
18041<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
18042<dl class="params"><dt>Parameters</dt><dd>
18043 <table class="params">
18044 <tr><td class="paramdir">[in,out]</td><td class="paramname">shape</td><td>Shape to permute </td></tr>
18045 <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
18046 </table>
18047 </dd>
18048</dl>
18049
Jenkinsb9abeae2018-11-22 11:58:08 +000018050<p class="definition">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 +000018051
Jenkinsb9abeae2018-11-22 11:58:08 +000018052<p class="reference">References <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">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#l00251">arm_compute::test::validation::data_layout</a>, <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">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>
Jenkins52ba29e2018-08-29 15:32:11 +000018053<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 +000018054</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018055</div>
18056</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018057<a id="ab7b3af731907e85fcaf72555c446176b"></a>
18058<h2 class="memtitle"><span class="permalink"><a href="#ab7b3af731907e85fcaf72555c446176b">&#9670;&nbsp;</a></span>pixel_area_c1u8_clamp()</h2>
18059
Anthony Barbierdbdab852017-06-23 15:42:00 +010018060<div class="memitem">
18061<div class="memproto">
18062<table class="mlabels">
18063 <tr>
18064 <td class="mlabels-left">
18065 <table class="memname">
18066 <tr>
18067 <td class="memname">uint8_t pixel_area_c1u8_clamp </td>
18068 <td>(</td>
18069 <td class="paramtype">const uint8_t *&#160;</td>
18070 <td class="paramname"><em>first_pixel_ptr</em>, </td>
18071 </tr>
18072 <tr>
18073 <td class="paramkey"></td>
18074 <td></td>
18075 <td class="paramtype">size_t&#160;</td>
18076 <td class="paramname"><em>stride</em>, </td>
18077 </tr>
18078 <tr>
18079 <td class="paramkey"></td>
18080 <td></td>
18081 <td class="paramtype">size_t&#160;</td>
18082 <td class="paramname"><em>width</em>, </td>
18083 </tr>
18084 <tr>
18085 <td class="paramkey"></td>
18086 <td></td>
18087 <td class="paramtype">size_t&#160;</td>
18088 <td class="paramname"><em>height</em>, </td>
18089 </tr>
18090 <tr>
18091 <td class="paramkey"></td>
18092 <td></td>
18093 <td class="paramtype">float&#160;</td>
18094 <td class="paramname"><em>wr</em>, </td>
18095 </tr>
18096 <tr>
18097 <td class="paramkey"></td>
18098 <td></td>
18099 <td class="paramtype">float&#160;</td>
18100 <td class="paramname"><em>hr</em>, </td>
18101 </tr>
18102 <tr>
18103 <td class="paramkey"></td>
18104 <td></td>
18105 <td class="paramtype">int&#160;</td>
18106 <td class="paramname"><em>x</em>, </td>
18107 </tr>
18108 <tr>
18109 <td class="paramkey"></td>
18110 <td></td>
18111 <td class="paramtype">int&#160;</td>
18112 <td class="paramname"><em>y</em>&#160;</td>
18113 </tr>
18114 <tr>
18115 <td></td>
18116 <td>)</td>
18117 <td></td><td></td>
18118 </tr>
18119 </table>
18120 </td>
18121 <td class="mlabels-right">
18122<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18123 </tr>
18124</table>
18125</div><div class="memdoc">
18126
18127<p>Return the pixel at (x,y) using area interpolation by clamping when out of borders. </p>
18128<p>The image must be single channel U8</p>
18129<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>
18130<dd>
18131Currently average of the contributing pixels is calculated</dd></dl>
18132<dl class="params"><dt>Parameters</dt><dd>
18133 <table class="params">
18134 <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>
18135 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
18136 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
18137 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
18138 <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>
18139 <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>
18140 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
18141 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
18142 </table>
18143 </dd>
18144</dl>
18145<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using area interpolation. </dd></dl>
18146
Jenkinsb9abeae2018-11-22 11:58:08 +000018147<p class="definition">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 +010018148
Jenkinsb9abeae2018-11-22 11:58:08 +000018149<p class="reference">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 +000018150
Jenkinsb9abeae2018-11-22 11:58:08 +000018151<p class="reference">Referenced by <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</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 +000018152<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>
18153<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 +010018154<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 +010018155</div><!-- fragment -->
18156</div>
18157</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018158<a id="a1c8d639ec2b3086a9506e72605a32333"></a>
18159<h2 class="memtitle"><span class="permalink"><a href="#a1c8d639ec2b3086a9506e72605a32333">&#9670;&nbsp;</a></span>pixel_bilinear_c1()</h2>
18160
Anthony Barbierdbdab852017-06-23 15:42:00 +010018161<div class="memitem">
18162<div class="memproto">
18163<table class="mlabels">
18164 <tr>
18165 <td class="mlabels-left">
18166 <table class="memname">
18167 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010018168 <td class="memname">T arm_compute::pixel_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018169 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018170 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018171 <td class="paramname"><em>first_pixel_ptr</em>, </td>
18172 </tr>
18173 <tr>
18174 <td class="paramkey"></td>
18175 <td></td>
18176 <td class="paramtype">size_t&#160;</td>
18177 <td class="paramname"><em>stride</em>, </td>
18178 </tr>
18179 <tr>
18180 <td class="paramkey"></td>
18181 <td></td>
18182 <td class="paramtype">float&#160;</td>
18183 <td class="paramname"><em>x</em>, </td>
18184 </tr>
18185 <tr>
18186 <td class="paramkey"></td>
18187 <td></td>
18188 <td class="paramtype">float&#160;</td>
18189 <td class="paramname"><em>y</em>&#160;</td>
18190 </tr>
18191 <tr>
18192 <td></td>
18193 <td>)</td>
18194 <td></td><td></td>
18195 </tr>
18196 </table>
18197 </td>
18198 <td class="mlabels-right">
18199<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18200 </tr>
18201</table>
18202</div><div class="memdoc">
18203
18204<p>Return the pixel at (x,y) using bilinear interpolation. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018205<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
18206<dl class="params"><dt>Parameters</dt><dd>
18207 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010018208 <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 +010018209 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image; </td></tr>
18210 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
18211 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
18212 </table>
18213 </dd>
18214</dl>
18215<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
18216
Jenkinsb9abeae2018-11-22 11:58:08 +000018217<p class="definition">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 +010018218
Jenkinsb9abeae2018-11-22 11:58:08 +000018219<p class="reference">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>
18220
18221<p class="reference">Referenced by <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000018222<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 +010018223<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 +010018224</div><!-- fragment -->
18225</div>
18226</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018227<a id="afa55519774605e5b840fb031fdd7b196"></a>
18228<h2 class="memtitle"><span class="permalink"><a href="#afa55519774605e5b840fb031fdd7b196">&#9670;&nbsp;</a></span>pixel_bilinear_c1_clamp()</h2>
18229
Anthony Barbierdbdab852017-06-23 15:42:00 +010018230<div class="memitem">
18231<div class="memproto">
18232<table class="mlabels">
18233 <tr>
18234 <td class="mlabels-left">
18235 <table class="memname">
18236 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010018237 <td class="memname">uint8_t arm_compute::pixel_bilinear_c1_clamp </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018238 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018239 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018240 <td class="paramname"><em>first_pixel_ptr</em>, </td>
18241 </tr>
18242 <tr>
18243 <td class="paramkey"></td>
18244 <td></td>
18245 <td class="paramtype">size_t&#160;</td>
18246 <td class="paramname"><em>stride</em>, </td>
18247 </tr>
18248 <tr>
18249 <td class="paramkey"></td>
18250 <td></td>
18251 <td class="paramtype">size_t&#160;</td>
18252 <td class="paramname"><em>width</em>, </td>
18253 </tr>
18254 <tr>
18255 <td class="paramkey"></td>
18256 <td></td>
18257 <td class="paramtype">size_t&#160;</td>
18258 <td class="paramname"><em>height</em>, </td>
18259 </tr>
18260 <tr>
18261 <td class="paramkey"></td>
18262 <td></td>
18263 <td class="paramtype">float&#160;</td>
18264 <td class="paramname"><em>x</em>, </td>
18265 </tr>
18266 <tr>
18267 <td class="paramkey"></td>
18268 <td></td>
18269 <td class="paramtype">float&#160;</td>
18270 <td class="paramname"><em>y</em>&#160;</td>
18271 </tr>
18272 <tr>
18273 <td></td>
18274 <td>)</td>
18275 <td></td><td></td>
18276 </tr>
18277 </table>
18278 </td>
18279 <td class="mlabels-right">
18280<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18281 </tr>
18282</table>
18283</div><div class="memdoc">
18284
18285<p>Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. </p>
Kaizen8938bd32017-09-28 14:38:23 +010018286<p>The image must be single channel input</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018287<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
18288<dl class="params"><dt>Parameters</dt><dd>
18289 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010018290 <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 +010018291 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
18292 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
18293 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
18294 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
18295 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
18296 </table>
18297 </dd>
18298</dl>
18299<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
18300
Jenkinsb9abeae2018-11-22 11:58:08 +000018301<p class="definition">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 +010018302
Jenkinsb9abeae2018-11-22 11:58:08 +000018303<p class="reference">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>
18304
18305<p class="reference">Referenced by <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000018306<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>
18307<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 +010018308<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>
18309<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 +010018310</div><!-- fragment -->
18311</div>
18312</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018313<a id="a4823543d67a2520c98669e2a5608ef6a"></a>
18314<h2 class="memtitle"><span class="permalink"><a href="#a4823543d67a2520c98669e2a5608ef6a">&#9670;&nbsp;</a></span>pixel_size_from_format()</h2>
18315
Anthony Barbier871448e2017-03-24 14:54:29 +000018316<div class="memitem">
18317<div class="memproto">
18318<table class="mlabels">
18319 <tr>
18320 <td class="mlabels-left">
18321 <table class="memname">
18322 <tr>
18323 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
18324 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018325 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018326 <td class="paramname"><em>format</em></td><td>)</td>
18327 <td></td>
18328 </tr>
18329 </table>
18330 </td>
18331 <td class="mlabels-right">
18332<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18333 </tr>
18334</table>
18335</div><div class="memdoc">
18336
18337<p>The size in bytes of the pixel format. </p>
18338<dl class="params"><dt>Parameters</dt><dd>
18339 <table class="params">
18340 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
18341 </table>
18342 </dd>
18343</dl>
18344<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
18345
Jenkinsb9abeae2018-11-22 11:58:08 +000018346<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00142">142</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 +000018347
Jenkinsb9abeae2018-11-22 11:58:08 +000018348<p class="reference">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>
18349
18350<p class="reference">Referenced by <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00678">NEHOGOrientationBinningKernel::run()</a>, and <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00355">NESobel7x7VertKernel::run()</a>.</p>
18351<div class="fragment"><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">switch</span>(format)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</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 +000018352</div><!-- fragment -->
18353</div>
18354</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018355<a id="a4f6fe18760340bcec02d095b7099e923"></a>
18356<h2 class="memtitle"><span class="permalink"><a href="#a4f6fe18760340bcec02d095b7099e923">&#9670;&nbsp;</a></span>plane_idx_from_channel()</h2>
18357
Anthony Barbier871448e2017-03-24 14:54:29 +000018358<div class="memitem">
18359<div class="memproto">
18360<table class="mlabels">
18361 <tr>
18362 <td class="mlabels-left">
18363 <table class="memname">
18364 <tr>
18365 <td class="memname">int arm_compute::plane_idx_from_channel </td>
18366 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018367 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018368 <td class="paramname"><em>format</em>, </td>
18369 </tr>
18370 <tr>
18371 <td class="paramkey"></td>
18372 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018373 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018374 <td class="paramname"><em>channel</em>&#160;</td>
18375 </tr>
18376 <tr>
18377 <td></td>
18378 <td>)</td>
18379 <td></td><td></td>
18380 </tr>
18381 </table>
18382 </td>
18383 <td class="mlabels-right">
18384<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18385 </tr>
18386</table>
18387</div><div class="memdoc">
18388
18389<p>Return the plane index of a given channel given an input format. </p>
18390<dl class="params"><dt>Parameters</dt><dd>
18391 <table class="params">
18392 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
18393 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
18394 </table>
18395 </dd>
18396</dl>
18397<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
18398
Jenkinsb9abeae2018-11-22 11:58:08 +000018399<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00249">249</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 +000018400
Jenkinsb9abeae2018-11-22 11:58:08 +000018401<p class="reference">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 +000018402
Jenkinsb9abeae2018-11-22 11:58:08 +000018403<p class="reference">Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00107">CLChannelExtractKernel::configure()</a>, and <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00126">NEChannelExtractKernel::configure()</a>.</p>
18404<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;{</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">switch</span>(format)</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="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</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="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</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="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</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="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> 0;</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="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 +000018405</div><!-- fragment -->
18406</div>
18407</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018408<a id="ab345de887f15705698d993b97d848bdc"></a>
18409<h2 class="memtitle"><span class="permalink"><a href="#ab345de887f15705698d993b97d848bdc">&#9670;&nbsp;</a></span>print_consecutive_elements()</h2>
18410
Anthony Barbiera4376382017-04-12 15:12:46 +010018411<div class="memitem">
18412<div class="memproto">
18413 <table class="memname">
18414 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000018415 <td class="memname">void print_consecutive_elements </td>
Anthony Barbiera4376382017-04-12 15:12:46 +010018416 <td>(</td>
18417 <td class="paramtype">std::ostream &amp;&#160;</td>
18418 <td class="paramname"><em>s</em>, </td>
18419 </tr>
18420 <tr>
18421 <td class="paramkey"></td>
18422 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018423 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010018424 <td class="paramname"><em>dt</em>, </td>
18425 </tr>
18426 <tr>
18427 <td class="paramkey"></td>
18428 <td></td>
18429 <td class="paramtype">const uint8_t *&#160;</td>
18430 <td class="paramname"><em>ptr</em>, </td>
18431 </tr>
18432 <tr>
18433 <td class="paramkey"></td>
18434 <td></td>
18435 <td class="paramtype">unsigned int&#160;</td>
18436 <td class="paramname"><em>n</em>, </td>
18437 </tr>
18438 <tr>
18439 <td class="paramkey"></td>
18440 <td></td>
18441 <td class="paramtype">int&#160;</td>
18442 <td class="paramname"><em>stream_width</em>, </td>
18443 </tr>
18444 <tr>
18445 <td class="paramkey"></td>
18446 <td></td>
18447 <td class="paramtype">const std::string &amp;&#160;</td>
18448 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
18449 </tr>
18450 <tr>
18451 <td></td>
18452 <td>)</td>
18453 <td></td><td></td>
18454 </tr>
18455 </table>
18456</div><div class="memdoc">
18457
18458<p>Print consecutive elements to an output stream. </p>
18459<dl class="params"><dt>Parameters</dt><dd>
18460 <table class="params">
18461 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
18462 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
18463 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
18464 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
18465 <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>
18466 <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>
18467 </table>
18468 </dd>
18469</dl>
18470
Jenkinsb9abeae2018-11-22 11:58:08 +000018471<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00394">394</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018472
Jenkinsb9abeae2018-11-22 11:58:08 +000018473<p class="reference">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>
18474
18475<p class="reference">Referenced by <a class="el" href="_i_tensor_8cpp_source.xhtml#l00074">ITensor::print()</a>.</p>
18476<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; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; print_consecutive_elements_impl&lt;uint8_t&gt;(s, ptr, n, stream_width, element_delim);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; print_consecutive_elements_impl&lt;int8_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>int8_t *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; print_consecutive_elements_impl&lt;uint16_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint16_t *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; print_consecutive_elements_impl&lt;int16_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>int16_t *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; print_consecutive_elements_impl&lt;uint32_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint32_t *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; print_consecutive_elements_impl&lt;int32_t&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>int32_t *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; print_consecutive_elements_impl&lt;float&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">float</span> *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; print_consecutive_elements_impl&lt;half&gt;(s, <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> *<span class="keyword">&gt;</span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</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="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</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>
18477<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>
18478</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010018479</div>
18480</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018481<a id="aa3a28b8acd21301990e06377c64e1276"></a>
18482<h2 class="memtitle"><span class="permalink"><a href="#aa3a28b8acd21301990e06377c64e1276">&#9670;&nbsp;</a></span>print_consecutive_elements_impl()</h2>
18483
Anthony Barbiera4376382017-04-12 15:12:46 +010018484<div class="memitem">
18485<div class="memproto">
18486 <table class="memname">
18487 <tr>
18488 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
18489 <td>(</td>
18490 <td class="paramtype">std::ostream &amp;&#160;</td>
18491 <td class="paramname"><em>s</em>, </td>
18492 </tr>
18493 <tr>
18494 <td class="paramkey"></td>
18495 <td></td>
18496 <td class="paramtype">const T *&#160;</td>
18497 <td class="paramname"><em>ptr</em>, </td>
18498 </tr>
18499 <tr>
18500 <td class="paramkey"></td>
18501 <td></td>
18502 <td class="paramtype">unsigned int&#160;</td>
18503 <td class="paramname"><em>n</em>, </td>
18504 </tr>
18505 <tr>
18506 <td class="paramkey"></td>
18507 <td></td>
18508 <td class="paramtype">int&#160;</td>
18509 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
18510 </tr>
18511 <tr>
18512 <td class="paramkey"></td>
18513 <td></td>
18514 <td class="paramtype">const std::string &amp;&#160;</td>
18515 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
18516 </tr>
18517 <tr>
18518 <td></td>
18519 <td>)</td>
18520 <td></td><td></td>
18521 </tr>
18522 </table>
18523</div><div class="memdoc">
18524
18525<p>Print consecutive elements to an output stream. </p>
18526<dl class="params"><dt>Parameters</dt><dd>
18527 <table class="params">
18528 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
18529 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
18530 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
18531 <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>
18532 <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>
18533 </table>
18534 </dd>
18535</dl>
18536
Jenkinsb9abeae2018-11-22 11:58:08 +000018537<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01036">1036</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
18538<div class="fragment"><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="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="l01039"></a><span class="lineno"> 1039</span>&#160;</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</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="l01041"></a><span class="lineno"> 1041</span>&#160; {</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</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="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">if</span>(stream_width != 0)</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.width(stream_width);</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; <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="l01049"></a><span class="lineno"> 1049</span>&#160; {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</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="l01051"></a><span class="lineno"> 1051</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="l01052"></a><span class="lineno"> 1052</span>&#160; }</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; {</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</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="l01056"></a><span class="lineno"> 1056</span>&#160; }</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; }</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</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 +010018539</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010018540</div>
18541</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018542<a id="ae0d288429eb20baf6da6109f3a21e6bb"></a>
18543<h2 class="memtitle"><span class="permalink"><a href="#ae0d288429eb20baf6da6109f3a21e6bb">&#9670;&nbsp;</a></span>read_file()</h2>
18544
Anthony Barbier871448e2017-03-24 14:54:29 +000018545<div class="memitem">
18546<div class="memproto">
18547 <table class="memname">
18548 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000018549 <td class="memname">std::string read_file </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018550 <td>(</td>
18551 <td class="paramtype">const std::string &amp;&#160;</td>
18552 <td class="paramname"><em>filename</em>, </td>
18553 </tr>
18554 <tr>
18555 <td class="paramkey"></td>
18556 <td></td>
18557 <td class="paramtype">bool&#160;</td>
18558 <td class="paramname"><em>binary</em>&#160;</td>
18559 </tr>
18560 <tr>
18561 <td></td>
18562 <td>)</td>
18563 <td></td><td></td>
18564 </tr>
18565 </table>
18566</div><div class="memdoc">
18567
18568<p>Load an entire file in memory. </p>
18569<dl class="params"><dt>Parameters</dt><dd>
18570 <table class="params">
18571 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
18572 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
18573 </table>
18574 </dd>
18575</dl>
18576<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
18577
Jenkinsb9abeae2018-11-22 11:58:08 +000018578<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00046">46</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018579
Jenkinsb9abeae2018-11-22 11:58:08 +000018580<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, and <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>.</p>
18581
18582<p class="reference">Referenced by <a class="el" href="_g_c_kernel_library_8cpp_source.xhtml#l00340">GCKernelLibrary::create_kernel()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00979">CLKernelLibrary::int64_base_atomics_supported()</a>.</p>
18583<div class="fragment"><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::string <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; std::ifstream fs;</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">try</span></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; fs.exceptions(std::ifstream::failbit | std::ifstream::badbit);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; std::ios_base::openmode mode = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">std::ios::in</a>;</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="keywordflow">if</span>(binary)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; mode |= std::ios::binary;</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;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; fs.open(filename, mode);</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; <span class="comment">// Go to the end of the file</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; fs.seekg(0, std::ios::end);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Reserve the memory required to store the file&#39;s content</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; out.reserve(fs.tellg());</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Go back to the beginning of the file</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; fs.seekg(0, std::ios::beg);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Copy the content of the file</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; out.assign(std::istreambuf_iterator&lt;char&gt;(fs), std::istreambuf_iterator&lt;char&gt;());</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; <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::ifstream::failure &amp;e)</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; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Accessing %s: %s&quot;</span>, filename.c_str(), e.what());</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;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</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>
18584<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#l00265">Winograd.cpp:265</a></div></div>
18585<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#l00266">Winograd.cpp:266</a></div></div>
18586</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018587</div>
18588</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018589<a id="aaae2b6b1c3f4404121346a4c27b22647"></a>
18590<h2 class="memtitle"><span class="permalink"><a href="#aaae2b6b1c3f4404121346a4c27b22647">&#9670;&nbsp;</a></span>round()</h2>
18591
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018592<div class="memitem">
18593<div class="memproto">
18594 <table class="memname">
18595 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000018596 <td class="memname">int round </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018597 <td>(</td>
18598 <td class="paramtype">float&#160;</td>
18599 <td class="paramname"><em>x</em>, </td>
18600 </tr>
18601 <tr>
18602 <td class="paramkey"></td>
18603 <td></td>
18604 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>&#160;</td>
18605 <td class="paramname"><em>rounding_policy</em>&#160;</td>
18606 </tr>
18607 <tr>
18608 <td></td>
18609 <td>)</td>
18610 <td></td><td></td>
18611 </tr>
18612 </table>
18613</div><div class="memdoc">
18614
18615<p>Return a rounded value of x. </p>
18616<p>Rounding is done according to the rounding_policy.</p>
18617<dl class="params"><dt>Parameters</dt><dd>
18618 <table class="params">
18619 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Float value to be rounded. </td></tr>
18620 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Policy determining how rounding is done.</td></tr>
18621 </table>
18622 </dd>
18623</dl>
18624<dl class="section return"><dt>Returns</dt><dd>Rounded value of the argument x. </dd></dl>
18625
Jenkinsb9abeae2018-11-22 11:58:08 +000018626<p class="definition">Definition at line <a class="el" href="_rounding_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="_rounding_8cpp_source.xhtml">Rounding.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018627
Jenkinsb9abeae2018-11-22 11:58:08 +000018628<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00240">arm_compute::support::cpp11::round()</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>
18629
18630<p class="reference">Referenced by <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00073">arm_compute::quantization::calculate_quantized_multiplier_greater_than_one()</a>, <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00035">arm_compute::quantization::calculate_quantized_multiplier_less_than_one()</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#l00174">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
18631<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacestd.xhtml">std</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">int</span> rounded = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</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="l00040"></a><span class="lineno"> 40</span>&#160; {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><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; rounded = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(x);</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; }</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</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; rounded = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">support::cpp11::round</a>(x));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">break</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">case</span> RoundingPolicy::TO_NEAREST_EVEN:</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; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;TO_NEAREST_EVEN rounding policy is not supported.&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">break</span>;</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="keywordflow">default</span>:</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported rounding policy.&quot;</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">break</span>;</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="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; <span class="keywordflow">return</span> rounded;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</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>
18632<div class="ttc" id="namespacestd_xhtml"><div class="ttname"><a href="namespacestd.xhtml">std</a></div></div>
18633<div class="ttc" id="namespacearm__compute_xhtml_aaae2b6b1c3f4404121346a4c27b22647"><div class="ttname"><a href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a></div><div class="ttdeci">int round(float x, RoundingPolicy rounding_policy)</div><div class="ttdoc">Return a rounded value of x. </div><div class="ttdef"><b>Definition:</b> <a href="_rounding_8cpp_source.xhtml#l00035">Rounding.cpp:35</a></div></div>
18634<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>
18635</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018636</div>
18637</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018638<a id="a5e28a3911204ac952601f512c82b48f1"></a>
18639<h2 class="memtitle"><span class="permalink"><a href="#a5e28a3911204ac952601f512c82b48f1">&#9670;&nbsp;</a></span>rounding_divide_by_pow2()</h2>
18640
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018641<div class="memitem">
18642<div class="memproto">
18643<table class="mlabels">
18644 <tr>
18645 <td class="mlabels-left">
18646 <table class="memname">
18647 <tr>
18648 <td class="memname">int32x4_t rounding_divide_by_pow2 </td>
18649 <td>(</td>
18650 <td class="paramtype">int32x4_t&#160;</td>
18651 <td class="paramname"><em>x</em>, </td>
18652 </tr>
18653 <tr>
18654 <td class="paramkey"></td>
18655 <td></td>
18656 <td class="paramtype">int&#160;</td>
18657 <td class="paramname"><em>exponent</em>&#160;</td>
18658 </tr>
18659 <tr>
18660 <td></td>
18661 <td>)</td>
18662 <td></td><td></td>
18663 </tr>
18664 </table>
18665 </td>
18666 <td class="mlabels-right">
18667<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18668 </tr>
18669</table>
18670</div><div class="memdoc">
18671
18672<p>Round to the nearest division by a power-of-two using exponent. </p>
18673<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>
18674<dl class="params"><dt>Parameters</dt><dd>
18675 <table class="params">
18676 <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>
18677 <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>
18678 </table>
18679 </dd>
18680</dl>
18681<dl class="section return"><dt>Returns</dt><dd>the nearest division by a power-of-two using exponent </dd></dl>
18682
Jenkinsb9abeae2018-11-22 11:58:08 +000018683<p class="definition">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 +000018684
Jenkinsb9abeae2018-11-22 11:58:08 +000018685<p class="reference">Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">finalize_quantization()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018686<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 +010018687</div>
18688</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018689<a id="a546c6bed3c307414e8d0934bc13259e5"></a>
18690<h2 class="memtitle"><span class="permalink"><a href="#a546c6bed3c307414e8d0934bc13259e5">&#9670;&nbsp;</a></span>scaled_dimensions()</h2>
18691
Anthony Barbier871448e2017-03-24 14:54:29 +000018692<div class="memitem">
18693<div class="memproto">
18694 <table class="memname">
18695 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000018696 <td class="memname">const std::pair&lt; unsigned int, unsigned int &gt; scaled_dimensions </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018697 <td>(</td>
18698 <td class="paramtype">unsigned int&#160;</td>
18699 <td class="paramname"><em>width</em>, </td>
18700 </tr>
18701 <tr>
18702 <td class="paramkey"></td>
18703 <td></td>
18704 <td class="paramtype">unsigned int&#160;</td>
18705 <td class="paramname"><em>height</em>, </td>
18706 </tr>
18707 <tr>
18708 <td class="paramkey"></td>
18709 <td></td>
18710 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018711 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018712 </tr>
18713 <tr>
18714 <td class="paramkey"></td>
18715 <td></td>
18716 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018717 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018718 </tr>
18719 <tr>
18720 <td class="paramkey"></td>
18721 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018722 <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 +010018723 <td class="paramname"><em>pad_stride_info</em>, </td>
18724 </tr>
18725 <tr>
18726 <td class="paramkey"></td>
18727 <td></td>
18728 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
18729 <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 +000018730 </tr>
18731 <tr>
18732 <td></td>
18733 <td>)</td>
18734 <td></td><td></td>
18735 </tr>
18736 </table>
18737</div><div class="memdoc">
18738
18739<p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
18740<dl class="params"><dt>Parameters</dt><dd>
18741 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018742 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
18743 <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 +010018744 <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>
18745 <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 +010018746 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Pad and stride information. </td></tr>
18747 <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 +000018748 </table>
18749 </dd>
18750</dl>
18751<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>
18752
Jenkinsb9abeae2018-11-22 11:58:08 +000018753<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00352">352</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018754
Jenkinsb9abeae2018-11-22 11:58:08 +000018755<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00764">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::pad_top()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00780">PadStrideInfo::round()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00733">PadStrideInfo::stride()</a>, <a class="el" href="_size2_d_8h_source.xhtml#l00077">Size2D::x()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00086">Size2D::y()</a>.</p>
18756
18757<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00460">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00216">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00283">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_pooling_layer_node_8cpp_source.xhtml#l00047">PoolingLayerNode::compute_output_descriptor()</a>, <a class="el" href="_depthwise_convolution_layer_node_8cpp_source.xhtml#l00067">DepthwiseConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_convolution_layer_node_8cpp_source.xhtml#l00086">ConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00496">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00433">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00130">CLLocallyConnectedLayer::configure()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00124">NELocallyConnectedLayer::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00333">NEIm2ColKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00090">GCConvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00164">CLGEMMConvolutionLayer::configure()</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#l00762">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#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l02030">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00086">CLLocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00080">NELocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>.</p>
18758<div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_left = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a7144874ab401f5c4e249a1115dfb5166">pad_left</a>();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_top = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a3fea0ce4e6eeee7bf3a511c31b51d44f">pad_top</a>();</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_right = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a3860caeeaa259d59ccf69c3aea23f549">pad_right</a>();</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_bottom = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#ac49df0924d183da42cffc04cf9aba1f8">pad_bottom</a>();</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride_x = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>().first;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride_y = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>().second;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w = 0;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h = 0;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">switch</span>(pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a711b72c2817604dfbb9d20d142882bab">round</a>())</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> DimensionRoundingType::FLOOR:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; w = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(std::floor((static_cast&lt;float&gt;(width + pad_left + pad_right - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#a94b8468af876f5ab54020d5e9787a4f0">x</a>() * (kernel_width - 1) + 1)) / stride_x) + 1));</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; h = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(std::floor((static_cast&lt;float&gt;(height + pad_top + pad_bottom - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#aaaeb4853150b7d0e8b685fd08052924f">y</a>() * (kernel_height - 1) + 1)) / stride_y) + 1));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">case</span> DimensionRoundingType::CEIL:</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; w = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(std::ceil((static_cast&lt;float&gt;(width + pad_left + pad_right - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#a94b8468af876f5ab54020d5e9787a4f0">x</a>() * (kernel_width - 1) + 1)) / stride_x) + 1));</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; h = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(std::ceil((static_cast&lt;float&gt;(height + pad_top + pad_bottom - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#aaaeb4853150b7d0e8b685fd08052924f">y</a>() * (kernel_height - 1) + 1)) / stride_y) + 1));</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported rounding type&quot;</span>);</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;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="comment">// Make sure that border operations will start from inside the input and not the padded area</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">if</span>(((w - 1) * stride_x) &gt;= (width + pad_left))</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; --w;</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; <span class="keywordflow">if</span>(((h - 1) * stride_y) &gt;= (height + pad_top))</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; --h;</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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((w - 1) * stride_x) &gt;= (width + pad_left));</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((h - 1) * stride_y) &gt;= (height + pad_top));</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> std::make_pair(w, h);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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>
18759<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a711b72c2817604dfbb9d20d142882bab"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a711b72c2817604dfbb9d20d142882bab">arm_compute::PadStrideInfo::round</a></div><div class="ttdeci">DimensionRoundingType round() const</div><div class="ttdoc">Get the rounding type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00780">Types.h:780</a></div></div>
18760<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>
18761<div class="ttc" id="classarm__compute_1_1_size2_d_xhtml_a94b8468af876f5ab54020d5e9787a4f0"><div class="ttname"><a href="classarm__compute_1_1_size2_d.xhtml#a94b8468af876f5ab54020d5e9787a4f0">arm_compute::Size2D::x</a></div><div class="ttdeci">size_t x() const</div><div class="ttdoc">Semantic accessor for width as x. </div><div class="ttdef"><b>Definition:</b> <a href="_size2_d_8h_source.xhtml#l00077">Size2D.h:77</a></div></div>
18762<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a3fea0ce4e6eeee7bf3a511c31b51d44f"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a3fea0ce4e6eeee7bf3a511c31b51d44f">arm_compute::PadStrideInfo::pad_top</a></div><div class="ttdeci">unsigned int pad_top() const</div><div class="ttdoc">Get the top padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00769">Types.h:769</a></div></div>
18763<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a6e324c1bd1111876469ea247da156147"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">arm_compute::PadStrideInfo::stride</a></div><div class="ttdeci">std::pair&lt; unsigned int, unsigned int &gt; stride() const</div><div class="ttdoc">Get the stride. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00733">Types.h:733</a></div></div>
18764<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a3860caeeaa259d59ccf69c3aea23f549"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a3860caeeaa259d59ccf69c3aea23f549">arm_compute::PadStrideInfo::pad_right</a></div><div class="ttdeci">unsigned int pad_right() const</div><div class="ttdoc">Get the right padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00764">Types.h:764</a></div></div>
18765<div class="ttc" id="classarm__compute_1_1_size2_d_xhtml_aaaeb4853150b7d0e8b685fd08052924f"><div class="ttname"><a href="classarm__compute_1_1_size2_d.xhtml#aaaeb4853150b7d0e8b685fd08052924f">arm_compute::Size2D::y</a></div><div class="ttdeci">size_t y() const</div><div class="ttdoc">Semantic accessor for height as y. </div><div class="ttdef"><b>Definition:</b> <a href="_size2_d_8h_source.xhtml#l00086">Size2D.h:86</a></div></div>
18766<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_ac49df0924d183da42cffc04cf9aba1f8"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#ac49df0924d183da42cffc04cf9aba1f8">arm_compute::PadStrideInfo::pad_bottom</a></div><div class="ttdeci">unsigned int pad_bottom() const</div><div class="ttdoc">Get the bottom padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00774">Types.h:774</a></div></div>
18767<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a7144874ab401f5c4e249a1115dfb5166"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a7144874ab401f5c4e249a1115dfb5166">arm_compute::PadStrideInfo::pad_left</a></div><div class="ttdeci">unsigned int pad_left() const</div><div class="ttdoc">Get the left padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00759">Types.h:759</a></div></div>
18768</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018769</div>
18770</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018771<a id="a18ec57dffc5c26864be77318111dfb2a"></a>
18772<h2 class="memtitle"><span class="permalink"><a href="#a18ec57dffc5c26864be77318111dfb2a">&#9670;&nbsp;</a></span>separate_matrix()</h2>
18773
Anthony Barbier871448e2017-03-24 14:54:29 +000018774<div class="memitem">
18775<div class="memproto">
18776<table class="mlabels">
18777 <tr>
18778 <td class="mlabels-left">
18779 <table class="memname">
18780 <tr>
18781 <td class="memname">bool arm_compute::separate_matrix </td>
18782 <td>(</td>
18783 <td class="paramtype">const int16_t *&#160;</td>
18784 <td class="paramname"><em>conv</em>, </td>
18785 </tr>
18786 <tr>
18787 <td class="paramkey"></td>
18788 <td></td>
18789 <td class="paramtype">int16_t *&#160;</td>
18790 <td class="paramname"><em>conv_col</em>, </td>
18791 </tr>
18792 <tr>
18793 <td class="paramkey"></td>
18794 <td></td>
18795 <td class="paramtype">int16_t *&#160;</td>
18796 <td class="paramname"><em>conv_row</em>, </td>
18797 </tr>
18798 <tr>
18799 <td class="paramkey"></td>
18800 <td></td>
18801 <td class="paramtype">uint8_t&#160;</td>
18802 <td class="paramname"><em>size</em>&#160;</td>
18803 </tr>
18804 <tr>
18805 <td></td>
18806 <td>)</td>
18807 <td></td><td></td>
18808 </tr>
18809 </table>
18810 </td>
18811 <td class="mlabels-right">
18812<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18813 </tr>
18814</table>
18815</div><div class="memdoc">
18816
18817<p>Separate a 2D convolution into two 1D convolutions. </p>
18818<dl class="params"><dt>Parameters</dt><dd>
18819 <table class="params">
18820 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
18821 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
18822 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
18823 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
18824 </table>
18825 </dd>
18826</dl>
18827<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
18828
Jenkinsb9abeae2018-11-22 11:58:08 +000018829<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00567">567</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
18830
18831<p class="reference">Referenced by <a class="el" href="_c_l_convolution_8cpp_source.xhtml#l00056">CLConvolutionSquare&lt; matrix_size &gt;::configure()</a>, and <a class="el" href="_n_e_convolution_8cpp_source.xhtml#l00057">NEConvolutionSquare&lt; matrix_size &gt;::configure()</a>.</p>
18832<div class="fragment"><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; int32_t min_col = -1;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; int16_t min_col_val = -1;</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; <span class="keywordflow">for</span>(int32_t i = 0; i &lt; size; ++i)</div><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; <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="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; min_col = i;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</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="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;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">if</span>(min_col &lt; 0)</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="keywordflow">return</span> <span class="keyword">false</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;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; size; ++j)</div><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; 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="l00589"></a><span class="lineno"> 589</span>&#160; }</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; <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; size; i++)</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; {</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; {</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; conv_row[i] = 1;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; }</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</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="l00600"></a><span class="lineno"> 600</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; size; ++j)</div><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; <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="l00604"></a><span class="lineno"> 604</span>&#160; {</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; conv_row[i] = coeff;</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;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</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 +010018833</div><!-- fragment -->
18834</div>
18835</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018836<a id="aafd98bfd4651f36d691ddd2631a6e5a0"></a>
18837<h2 class="memtitle"><span class="permalink"><a href="#aafd98bfd4651f36d691ddd2631a6e5a0">&#9670;&nbsp;</a></span>set_data_layout_if_unknown()</h2>
18838
Jenkinsb3a371b2018-05-23 11:36:53 +010018839<div class="memitem">
18840<div class="memproto">
18841<table class="mlabels">
18842 <tr>
18843 <td class="mlabels-left">
18844 <table class="memname">
18845 <tr>
18846 <td class="memname">bool set_data_layout_if_unknown </td>
18847 <td>(</td>
18848 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
18849 <td class="paramname"><em>info</em>, </td>
18850 </tr>
18851 <tr>
18852 <td class="paramkey"></td>
18853 <td></td>
18854 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
18855 <td class="paramname"><em>data_layout</em>&#160;</td>
18856 </tr>
18857 <tr>
18858 <td></td>
18859 <td>)</td>
18860 <td></td><td></td>
18861 </tr>
18862 </table>
18863 </td>
18864 <td class="mlabels-right">
18865<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18866 </tr>
18867</table>
18868</div><div class="memdoc">
18869
18870<p>Set the data layout to the specified value if the current data layout is unknown. </p>
18871<dl class="params"><dt>Parameters</dt><dd>
18872 <table class="params">
18873 <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>
18874 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>New data layout.</td></tr>
18875 </table>
18876 </dd>
18877</dl>
18878<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
18879
Jenkinsb9abeae2018-11-22 11:58:08 +000018880<p class="definition">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 +010018881
Jenkinsb9abeae2018-11-22 11:58:08 +000018882<p class="reference">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>
Jenkinsb3a371b2018-05-23 11:36:53 +010018883
Jenkinsb9abeae2018-11-22 11:58:08 +000018884<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
18885<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#l00251">Winograd.cpp:251</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000018886<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 +010018887</div><!-- fragment -->
18888</div>
18889</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018890<a id="ad19446be52c2c162fa678b9ae236f445"></a>
18891<h2 class="memtitle"><span class="permalink"><a href="#ad19446be52c2c162fa678b9ae236f445">&#9670;&nbsp;</a></span>set_data_type_if_unknown()</h2>
18892
Anthony Barbierdbdab852017-06-23 15:42:00 +010018893<div class="memitem">
18894<div class="memproto">
18895<table class="mlabels">
18896 <tr>
18897 <td class="mlabels-left">
18898 <table class="memname">
18899 <tr>
18900 <td class="memname">bool set_data_type_if_unknown </td>
18901 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018902 <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 +010018903 <td class="paramname"><em>info</em>, </td>
18904 </tr>
18905 <tr>
18906 <td class="paramkey"></td>
18907 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018908 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018909 <td class="paramname"><em>data_type</em>&#160;</td>
18910 </tr>
18911 <tr>
18912 <td></td>
18913 <td>)</td>
18914 <td></td><td></td>
18915 </tr>
18916 </table>
18917 </td>
18918 <td class="mlabels-right">
18919<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18920 </tr>
18921</table>
18922</div><div class="memdoc">
18923
Jenkinsb3a371b2018-05-23 11:36:53 +010018924<p>Set the data type and number of channels to the specified value if the current data type is unknown. </p>
18925<dl class="params"><dt>Parameters</dt><dd>
18926 <table class="params">
18927 <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>
18928 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type.</td></tr>
18929 </table>
18930 </dd>
18931</dl>
18932<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
18933
Jenkinsb9abeae2018-11-22 11:58:08 +000018934<p class="definition">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 +010018935
Jenkinsb9abeae2018-11-22 11:58:08 +000018936<p class="reference">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018937
Jenkinsb9abeae2018-11-22 11:58:08 +000018938<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000018939<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000018940<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018941</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018942</div>
18943</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018944<a id="a8076ba239b6681067b6cfea7f773a39f"></a>
18945<h2 class="memtitle"><span class="permalink"><a href="#a8076ba239b6681067b6cfea7f773a39f">&#9670;&nbsp;</a></span>set_format_if_unknown()</h2>
18946
Anthony Barbierdbdab852017-06-23 15:42:00 +010018947<div class="memitem">
18948<div class="memproto">
18949<table class="mlabels">
18950 <tr>
18951 <td class="mlabels-left">
18952 <table class="memname">
18953 <tr>
18954 <td class="memname">bool set_format_if_unknown </td>
18955 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018956 <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 +010018957 <td class="paramname"><em>info</em>, </td>
18958 </tr>
18959 <tr>
18960 <td class="paramkey"></td>
18961 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018962 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018963 <td class="paramname"><em>format</em>&#160;</td>
18964 </tr>
18965 <tr>
18966 <td></td>
18967 <td>)</td>
18968 <td></td><td></td>
18969 </tr>
18970 </table>
18971 </td>
18972 <td class="mlabels-right">
18973<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18974 </tr>
18975</table>
18976</div><div class="memdoc">
18977
Jenkinsb3a371b2018-05-23 11:36:53 +010018978<p>Set the format, data type and number of channels to the specified value if the current data type is unknown. </p>
18979<dl class="params"><dt>Parameters</dt><dd>
18980 <table class="params">
18981 <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>
18982 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>New format.</td></tr>
18983 </table>
18984 </dd>
18985</dl>
18986<dl class="section return"><dt>Returns</dt><dd>True if the format has been changed. </dd></dl>
18987
Jenkinsb9abeae2018-11-22 11:58:08 +000018988<p class="definition">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 +010018989
Jenkinsb9abeae2018-11-22 11:58:08 +000018990<p class="reference">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018991
Jenkinsb9abeae2018-11-22 11:58:08 +000018992<p class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00250">NEAccumulateKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_cumulative_distribution_kernel_8cpp_source.xhtml#l00050">NECumulativeDistributionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00286">NEAccumulateWeightedKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00329">NEAccumulateSquaredKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000018993<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 +000018994</div><!-- fragment -->
18995</div>
18996</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000018997<a id="a75509469ec2689ec143f4a37bbcb4437"></a>
18998<h2 class="memtitle"><span class="permalink"><a href="#a75509469ec2689ec143f4a37bbcb4437">&#9670;&nbsp;</a></span>set_quantization_info_if_empty()</h2>
18999
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019000<div class="memitem">
19001<div class="memproto">
19002<table class="mlabels">
19003 <tr>
19004 <td class="mlabels-left">
19005 <table class="memname">
19006 <tr>
19007 <td class="memname">bool set_quantization_info_if_empty </td>
19008 <td>(</td>
19009 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
19010 <td class="paramname"><em>info</em>, </td>
19011 </tr>
19012 <tr>
19013 <td class="paramkey"></td>
19014 <td></td>
19015 <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
19016 <td class="paramname"><em>quantization_info</em>&#160;</td>
19017 </tr>
19018 <tr>
19019 <td></td>
19020 <td>)</td>
19021 <td></td><td></td>
19022 </tr>
19023 </table>
19024 </td>
19025 <td class="mlabels-right">
19026<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19027 </tr>
19028</table>
19029</div><div class="memdoc">
19030
Jenkinsb3a371b2018-05-23 11:36:53 +010019031<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>
19032<dl class="params"><dt>Parameters</dt><dd>
19033 <table class="params">
19034 <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>
19035 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Quantization info</td></tr>
19036 </table>
19037 </dd>
19038</dl>
19039<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 +000019040
Jenkinsb9abeae2018-11-22 11:58:08 +000019041<p class="definition">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 +000019042
Jenkinsb9abeae2018-11-22 11:58:08 +000019043<p class="reference">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#l00202">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00996">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 +010019044
Jenkinsb9abeae2018-11-22 11:58:08 +000019045<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000019046<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>
Jenkinsb9abeae2018-11-22 11:58:08 +000019047<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#l00996">Utils.h:996</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019048</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019049</div>
19050</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019051<a id="a9d1a839c51134b2ae171a2264c541b6f"></a>
19052<h2 class="memtitle"><span class="permalink"><a href="#a9d1a839c51134b2ae171a2264c541b6f">&#9670;&nbsp;</a></span>set_shape_if_empty()</h2>
19053
Anthony Barbierdbdab852017-06-23 15:42:00 +010019054<div class="memitem">
19055<div class="memproto">
19056<table class="mlabels">
19057 <tr>
19058 <td class="mlabels-left">
19059 <table class="memname">
19060 <tr>
19061 <td class="memname">bool set_shape_if_empty </td>
19062 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019063 <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 +010019064 <td class="paramname"><em>info</em>, </td>
19065 </tr>
19066 <tr>
19067 <td class="paramkey"></td>
19068 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019069 <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 +010019070 <td class="paramname"><em>shape</em>&#160;</td>
19071 </tr>
19072 <tr>
19073 <td></td>
19074 <td>)</td>
19075 <td></td><td></td>
19076 </tr>
19077 </table>
19078 </td>
19079 <td class="mlabels-right">
19080<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19081 </tr>
19082</table>
19083</div><div class="memdoc">
19084
Jenkinsb3a371b2018-05-23 11:36:53 +010019085<p>Set the shape to the specified value if the current assignment is empty. </p>
19086<dl class="params"><dt>Parameters</dt><dd>
19087 <table class="params">
19088 <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>
19089 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape.</td></tr>
19090 </table>
19091 </dd>
19092</dl>
19093<dl class="section return"><dt>Returns</dt><dd>True if the shape has been changed. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019094
Jenkinsb9abeae2018-11-22 11:58:08 +000019095<p class="definition">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 +000019096
Jenkinsb9abeae2018-11-22 11:58:08 +000019097<p class="reference">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 +010019098
Jenkinsb9abeae2018-11-22 11:58:08 +000019099<p class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00250">NEAccumulateKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00096">NEDepthConvertLayerKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00286">NEAccumulateWeightedKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00329">NEAccumulateSquaredKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000019100<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 +010019101<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>
19102</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019103</div>
19104</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019105<a id="a671b1da70aa3efc02c508648ae2d81b5"></a>
19106<h2 class="memtitle"><span class="permalink"><a href="#a671b1da70aa3efc02c508648ae2d81b5">&#9670;&nbsp;</a></span>sqadd()</h2>
19107
Anthony Barbier871448e2017-03-24 14:54:29 +000019108<div class="memitem">
19109<div class="memproto">
19110 <table class="memname">
19111 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019112 <td class="memname">T arm_compute::sqadd </td>
19113 <td>(</td>
19114 <td class="paramtype">T&#160;</td>
19115 <td class="paramname"><em>a</em>, </td>
19116 </tr>
19117 <tr>
19118 <td class="paramkey"></td>
19119 <td></td>
19120 <td class="paramtype">T&#160;</td>
19121 <td class="paramname"><em>b</em>&#160;</td>
19122 </tr>
19123 <tr>
19124 <td></td>
19125 <td>)</td>
19126 <td></td><td></td>
19127 </tr>
19128 </table>
19129</div><div class="memdoc">
19130
19131</div>
19132</div>
19133<a id="a705ed42150ffbe645f7ba2fb5d0a5bb6"></a>
19134<h2 class="memtitle"><span class="permalink"><a href="#a705ed42150ffbe645f7ba2fb5d0a5bb6">&#9670;&nbsp;</a></span>sqmul()</h2>
19135
19136<div class="memitem">
19137<div class="memproto">
19138 <table class="memname">
19139 <tr>
19140 <td class="memname">T arm_compute::sqmul </td>
19141 <td>(</td>
19142 <td class="paramtype">T&#160;</td>
19143 <td class="paramname"><em>a</em>, </td>
19144 </tr>
19145 <tr>
19146 <td class="paramkey"></td>
19147 <td></td>
19148 <td class="paramtype">T&#160;</td>
19149 <td class="paramname"><em>b</em>&#160;</td>
19150 </tr>
19151 <tr>
19152 <td></td>
19153 <td>)</td>
19154 <td></td><td></td>
19155 </tr>
19156 </table>
19157</div><div class="memdoc">
19158
19159</div>
19160</div>
19161<a id="a7462bb232b41864413a4d8603a660d16"></a>
19162<h2 class="memtitle"><span class="permalink"><a href="#a7462bb232b41864413a4d8603a660d16">&#9670;&nbsp;</a></span>sqsub()</h2>
19163
19164<div class="memitem">
19165<div class="memproto">
19166 <table class="memname">
19167 <tr>
19168 <td class="memname">T arm_compute::sqsub </td>
19169 <td>(</td>
19170 <td class="paramtype">T&#160;</td>
19171 <td class="paramname"><em>a</em>, </td>
19172 </tr>
19173 <tr>
19174 <td class="paramkey"></td>
19175 <td></td>
19176 <td class="paramtype">T&#160;</td>
19177 <td class="paramname"><em>b</em>&#160;</td>
19178 </tr>
19179 <tr>
19180 <td></td>
19181 <td>)</td>
19182 <td></td><td></td>
19183 </tr>
19184 </table>
19185</div><div class="memdoc">
19186
19187</div>
19188</div>
19189<a id="a635f1895d94050329b7da12850d1a056"></a>
19190<h2 class="memtitle"><span class="permalink"><a href="#a635f1895d94050329b7da12850d1a056">&#9670;&nbsp;</a></span>string_from_activation_func()</h2>
19191
19192<div class="memitem">
19193<div class="memproto">
19194 <table class="memname">
19195 <tr>
19196 <td class="memname">const std::string &amp; string_from_activation_func </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019197 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019198 <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 +000019199 <td class="paramname"><em>act</em></td><td>)</td>
19200 <td></td>
19201 </tr>
19202 </table>
19203</div><div class="memdoc">
19204
19205<p>Translates a given activation function to a string. </p>
19206<dl class="params"><dt>Parameters</dt><dd>
19207 <table class="params">
19208 <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>
19209 </table>
19210 </dd>
19211</dl>
19212<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
19213
Jenkinsb9abeae2018-11-22 11:58:08 +000019214<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00162">162</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019215
Jenkinsb9abeae2018-11-22 11:58:08 +000019216<p class="reference">References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</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>
19217
19218<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19219<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;{</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">static</span> std::map&lt;ActivationLayerInfo::ActivationFunction, const std::string&gt; act_map =</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; { ActivationLayerInfo::ActivationFunction::ABS, <span class="stringliteral">&quot;ABS&quot;</span> },</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; { ActivationLayerInfo::ActivationFunction::LINEAR, <span class="stringliteral">&quot;LINEAR&quot;</span> },</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; { ActivationLayerInfo::ActivationFunction::LOGISTIC, <span class="stringliteral">&quot;LOGISTIC&quot;</span> },</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; { ActivationLayerInfo::ActivationFunction::RELU, <span class="stringliteral">&quot;RELU&quot;</span> },</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; { ActivationLayerInfo::ActivationFunction::BOUNDED_RELU, <span class="stringliteral">&quot;BRELU&quot;</span> },</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; { ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, <span class="stringliteral">&quot;LU_BRELU&quot;</span> },</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; { ActivationLayerInfo::ActivationFunction::LEAKY_RELU, <span class="stringliteral">&quot;LRELU&quot;</span> },</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; { ActivationLayerInfo::ActivationFunction::SOFT_RELU, <span class="stringliteral">&quot;SRELU&quot;</span> },</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; { ActivationLayerInfo::ActivationFunction::SQRT, <span class="stringliteral">&quot;SQRT&quot;</span> },</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; { ActivationLayerInfo::ActivationFunction::SQUARE, <span class="stringliteral">&quot;SQUARE&quot;</span> },</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; { ActivationLayerInfo::ActivationFunction::TANH, <span class="stringliteral">&quot;TANH&quot;</span> },</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; };</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> act_map[act];</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019220</div>
19221</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019222<a id="ae0204b49ec236bbaedb1cf96def276d4"></a>
19223<h2 class="memtitle"><span class="permalink"><a href="#ae0204b49ec236bbaedb1cf96def276d4">&#9670;&nbsp;</a></span>string_from_border_mode()</h2>
19224
Anthony Barbier871448e2017-03-24 14:54:29 +000019225<div class="memitem">
19226<div class="memproto">
19227 <table class="memname">
19228 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019229 <td class="memname">const std::string &amp; string_from_border_mode </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019230 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019231 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019232 <td class="paramname"><em>border_mode</em></td><td>)</td>
19233 <td></td>
19234 </tr>
19235 </table>
19236</div><div class="memdoc">
19237
19238<p>Translates a given border mode policy to a string. </p>
19239<dl class="params"><dt>Parameters</dt><dd>
19240 <table class="params">
19241 <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>
19242 </table>
19243 </dd>
19244</dl>
19245<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
19246
Jenkinsb9abeae2018-11-22 11:58:08 +000019247<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019248
Jenkinsb9abeae2018-11-22 11:58:08 +000019249<p class="reference">References <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#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>
19250
19251<p class="reference">Referenced by <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19252<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="keyword">static</span> std::map&lt;BorderMode, const std::string&gt; border_mode_map =</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; { BorderMode::UNDEFINED, <span class="stringliteral">&quot;UNDEFINED&quot;</span> },</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; { BorderMode::CONSTANT, <span class="stringliteral">&quot;CONSTANT&quot;</span> },</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; { BorderMode::REPLICATE, <span class="stringliteral">&quot;REPLICATE&quot;</span> },</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; };</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> border_mode_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">border_mode</a>];</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5471e46933e7a9c4709972d91fc4ea65"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">arm_compute::test::validation::border_mode</a></div><div class="ttdeci">border_mode</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
19253</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019254</div>
19255</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019256<a id="af0dfcd19fb6510cd3c303db6c4583ee6"></a>
19257<h2 class="memtitle"><span class="permalink"><a href="#af0dfcd19fb6510cd3c303db6c4583ee6">&#9670;&nbsp;</a></span>string_from_channel()</h2>
19258
Anthony Barbier871448e2017-03-24 14:54:29 +000019259<div class="memitem">
19260<div class="memproto">
19261 <table class="memname">
19262 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019263 <td class="memname">const std::string &amp; string_from_channel </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019264 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019265 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019266 <td class="paramname"><em>channel</em></td><td>)</td>
19267 <td></td>
19268 </tr>
19269 </table>
19270</div><div class="memdoc">
19271
19272<p>Convert a channel identity into a string. </p>
19273<dl class="params"><dt>Parameters</dt><dd>
19274 <table class="params">
19275 <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>
19276 </table>
19277 </dd>
19278</dl>
19279<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
19280
Jenkinsb9abeae2018-11-22 11:58:08 +000019281<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00106">106</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010019282
Jenkinsb9abeae2018-11-22 11:58:08 +000019283<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="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>
19284
19285<p class="reference">Referenced by <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19286<div class="fragment"><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; <span class="keyword">static</span> std::map&lt;Channel, const std::string&gt; channels_map =</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; { Channel::UNKNOWN, <span class="stringliteral">&quot;UNKNOWN&quot;</span> },</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; { Channel::R, <span class="stringliteral">&quot;R&quot;</span> },</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; { Channel::G, <span class="stringliteral">&quot;G&quot;</span> },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; { Channel::B, <span class="stringliteral">&quot;B&quot;</span> },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; { Channel::A, <span class="stringliteral">&quot;A&quot;</span> },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; { Channel::Y, <span class="stringliteral">&quot;Y&quot;</span> },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; { Channel::U, <span class="stringliteral">&quot;U&quot;</span> },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; { Channel::V, <span class="stringliteral">&quot;V&quot;</span> },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; { Channel::C0, <span class="stringliteral">&quot;C0&quot;</span> },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; { Channel::C1, <span class="stringliteral">&quot;C1&quot;</span> },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; { Channel::C2, <span class="stringliteral">&quot;C2&quot;</span> },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; { Channel::C3, <span class="stringliteral">&quot;C3&quot;</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; };</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> channels_map[channel];</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010019287</div>
19288</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019289<a id="a56b9e25c2e8731ca5488e7b3ccd66f58"></a>
19290<h2 class="memtitle"><span class="permalink"><a href="#a56b9e25c2e8731ca5488e7b3ccd66f58">&#9670;&nbsp;</a></span>string_from_data_layout()</h2>
19291
Jenkinsb3a371b2018-05-23 11:36:53 +010019292<div class="memitem">
19293<div class="memproto">
19294 <table class="memname">
19295 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019296 <td class="memname">const std::string &amp; string_from_data_layout </td>
Jenkinsb3a371b2018-05-23 11:36:53 +010019297 <td>(</td>
19298 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
19299 <td class="paramname"><em>dl</em></td><td>)</td>
19300 <td></td>
19301 </tr>
19302 </table>
19303</div><div class="memdoc">
19304
19305<p>Convert a data layout identity into a string. </p>
19306<dl class="params"><dt>Parameters</dt><dd>
19307 <table class="params">
19308 <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>
19309 </table>
19310 </dd>
19311</dl>
19312<dl class="section return"><dt>Returns</dt><dd>The string describing the data layout. </dd></dl>
19313
Jenkinsb9abeae2018-11-22 11:58:08 +000019314<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019315
Jenkinsb9abeae2018-11-22 11:58:08 +000019316<p class="reference">References <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>
19317
19318<p class="reference">Referenced by <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00708">error_on_data_layout_not_in()</a>.</p>
19319<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; <span class="keyword">static</span> std::map&lt;DataLayout, const std::string&gt; dl_map =</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; { DataLayout::UNKNOWN, <span class="stringliteral">&quot;UNKNOWN&quot;</span> },</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; { DataLayout::NCHW, <span class="stringliteral">&quot;NCHW&quot;</span> },</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; { DataLayout::NHWC, <span class="stringliteral">&quot;NHWC&quot;</span> },</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; };</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> dl_map[dl];</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019320</div>
19321</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019322<a id="a142b55a483cadf4e1068a1a09a55e8e9"></a>
19323<h2 class="memtitle"><span class="permalink"><a href="#a142b55a483cadf4e1068a1a09a55e8e9">&#9670;&nbsp;</a></span>string_from_data_type()</h2>
19324
Anthony Barbier871448e2017-03-24 14:54:29 +000019325<div class="memitem">
19326<div class="memproto">
19327 <table class="memname">
19328 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019329 <td class="memname">const std::string &amp; string_from_data_type </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019330 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019331 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019332 <td class="paramname"><em>dt</em></td><td>)</td>
19333 <td></td>
19334 </tr>
19335 </table>
19336</div><div class="memdoc">
19337
19338<p>Convert a data type identity into a string. </p>
19339<dl class="params"><dt>Parameters</dt><dd>
19340 <table class="params">
19341 <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>
19342 </table>
19343 </dd>
19344</dl>
19345<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
19346
Jenkinsb9abeae2018-11-22 11:58:08 +000019347<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00139">139</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019348
Jenkinsb9abeae2018-11-22 11:58:08 +000019349<p class="reference">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#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>
19350
19351<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00085">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00095">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00101">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00401">NEArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_addition_kernel_8cpp_source.xhtml#l00410">NEArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00118">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>.</p>
19352<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;{</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">static</span> std::map&lt;DataType, const std::string&gt; dt_map =</div><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; { DataType::UNKNOWN, <span class="stringliteral">&quot;UNKNOWN&quot;</span> },</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; { DataType::S8, <span class="stringliteral">&quot;S8&quot;</span> },</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; { DataType::U8, <span class="stringliteral">&quot;U8&quot;</span> },</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; { DataType::S16, <span class="stringliteral">&quot;S16&quot;</span> },</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; { DataType::U16, <span class="stringliteral">&quot;U16&quot;</span> },</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; { DataType::S32, <span class="stringliteral">&quot;S32&quot;</span> },</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; { DataType::U32, <span class="stringliteral">&quot;U32&quot;</span> },</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; { DataType::S64, <span class="stringliteral">&quot;S64&quot;</span> },</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; { DataType::U64, <span class="stringliteral">&quot;U64&quot;</span> },</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; { DataType::F16, <span class="stringliteral">&quot;F16&quot;</span> },</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; { DataType::F32, <span class="stringliteral">&quot;F32&quot;</span> },</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; { DataType::F64, <span class="stringliteral">&quot;F64&quot;</span> },</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; { DataType::SIZET, <span class="stringliteral">&quot;SIZET&quot;</span> },</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; { DataType::QASYMM8, <span class="stringliteral">&quot;QASYMM8&quot;</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;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> dt_map[dt];</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019353</div>
19354</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019355<a id="a8b82da7b5e0f6192f415ac347c9e0555"></a>
19356<h2 class="memtitle"><span class="permalink"><a href="#a8b82da7b5e0f6192f415ac347c9e0555">&#9670;&nbsp;</a></span>string_from_format()</h2>
19357
Anthony Barbier871448e2017-03-24 14:54:29 +000019358<div class="memitem">
19359<div class="memproto">
19360 <table class="memname">
19361 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019362 <td class="memname">const std::string &amp; string_from_format </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019363 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019364 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019365 <td class="paramname"><em>format</em></td><td>)</td>
19366 <td></td>
19367 </tr>
19368 </table>
19369</div><div class="memdoc">
19370
19371<p>Convert a tensor format into a string. </p>
19372<dl class="params"><dt>Parameters</dt><dd>
19373 <table class="params">
19374 <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>
19375 </table>
19376 </dd>
19377</dl>
19378<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
19379
Jenkinsb9abeae2018-11-22 11:58:08 +000019380<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00080">80</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019381
Jenkinsb9abeae2018-11-22 11:58:08 +000019382<p class="reference">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#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>
19383
19384<p class="reference">Referenced by <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00623">error_on_format_not_in()</a>.</p>
19385<div class="fragment"><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="keyword">static</span> std::map&lt;Format, const std::string&gt; formats_map =</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; { Format::UNKNOWN, <span class="stringliteral">&quot;UNKNOWN&quot;</span> },</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; { Format::U8, <span class="stringliteral">&quot;U8&quot;</span> },</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; { Format::S16, <span class="stringliteral">&quot;S16&quot;</span> },</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; { Format::U16, <span class="stringliteral">&quot;U16&quot;</span> },</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; { Format::S32, <span class="stringliteral">&quot;S32&quot;</span> },</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; { Format::U32, <span class="stringliteral">&quot;U32&quot;</span> },</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; { Format::F16, <span class="stringliteral">&quot;F16&quot;</span> },</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; { Format::F32, <span class="stringliteral">&quot;F32&quot;</span> },</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; { Format::UV88, <span class="stringliteral">&quot;UV88&quot;</span> },</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; { Format::RGB888, <span class="stringliteral">&quot;RGB888&quot;</span> },</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; { Format::RGBA8888, <span class="stringliteral">&quot;RGBA8888&quot;</span> },</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; { Format::YUV444, <span class="stringliteral">&quot;YUV444&quot;</span> },</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; { Format::YUYV422, <span class="stringliteral">&quot;YUYV422&quot;</span> },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; { Format::NV12, <span class="stringliteral">&quot;NV12&quot;</span> },</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; { Format::NV21, <span class="stringliteral">&quot;NV21&quot;</span> },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; { Format::IYUV, <span class="stringliteral">&quot;IYUV&quot;</span> },</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; { Format::UYVY422, <span class="stringliteral">&quot;UYVY422&quot;</span> }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> formats_map[format];</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019386</div>
19387</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019388<a id="a291164a04581bf953aa65ae87cc201a2"></a>
19389<h2 class="memtitle"><span class="permalink"><a href="#a291164a04581bf953aa65ae87cc201a2">&#9670;&nbsp;</a></span>string_from_gemmlowp_output_stage()</h2>
19390
Anthony Barbier871448e2017-03-24 14:54:29 +000019391<div class="memitem">
19392<div class="memproto">
19393 <table class="memname">
19394 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019395 <td class="memname">const std::string &amp; string_from_gemmlowp_output_stage </td>
19396 <td>(</td>
19397 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">GEMMLowpOutputStageType</a>&#160;</td>
19398 <td class="paramname"><em>output_stage</em></td><td>)</td>
19399 <td></td>
19400 </tr>
19401 </table>
19402</div><div class="memdoc">
19403
19404<p>Translates a given GEMMLowp output stage to a string. </p>
19405<dl class="params"><dt>Parameters</dt><dd>
19406 <table class="params">
19407 <tr><td class="paramdir">[in]</td><td class="paramname">output_stage</td><td><a class="el" href="structarm__compute_1_1_g_e_m_m_lowp_output_stage_info.xhtml">GEMMLowpOutputStageInfo</a> to be translated to string.</td></tr>
19408 </table>
19409 </dd>
19410</dl>
19411<dl class="section return"><dt>Returns</dt><dd>The string describing the GEMMLowp output stage </dd></dl>
19412
19413<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00255">255</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
19414
19415<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, and <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a>.</p>
19416
19417<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00161">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19418<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;{</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">static</span> std::map&lt;GEMMLowpOutputStageType, const std::string&gt; output_stage_map =</div><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; { GEMMLowpOutputStageType::NONE, <span class="stringliteral">&quot;&quot;</span> },</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; { GEMMLowpOutputStageType::QUANTIZE_DOWN, <span class="stringliteral">&quot;quantize_down&quot;</span> },</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; { GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT, <span class="stringliteral">&quot;quantize_down_fixedpoint&quot;</span> },</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; { GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT, <span class="stringliteral">&quot;quantize_down_float&quot;</span> }</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;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> output_stage_map[output_stage];</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;}</div></div><!-- fragment -->
19419</div>
19420</div>
19421<a id="a3e4a3ad379526db61e1ebf469b455f83"></a>
19422<h2 class="memtitle"><span class="permalink"><a href="#a3e4a3ad379526db61e1ebf469b455f83">&#9670;&nbsp;</a></span>string_from_interpolation_policy()</h2>
19423
19424<div class="memitem">
19425<div class="memproto">
19426 <table class="memname">
19427 <tr>
19428 <td class="memname">const std::string &amp; string_from_interpolation_policy </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019429 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019430 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019431 <td class="paramname"><em>policy</em></td><td>)</td>
19432 <td></td>
19433 </tr>
19434 </table>
19435</div><div class="memdoc">
19436
19437<p>Translates a given interpolation policy to a string. </p>
19438<dl class="params"><dt>Parameters</dt><dd>
19439 <table class="params">
19440 <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>
19441 </table>
19442 </dd>
19443</dl>
19444<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
19445
Jenkinsb9abeae2018-11-22 11:58:08 +000019446<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00207">207</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019447
Jenkinsb9abeae2018-11-22 11:58:08 +000019448<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, and <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
19449
19450<p class="reference">Referenced by <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19451<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="keyword">static</span> std::map&lt;InterpolationPolicy, const std::string&gt; interpolation_policy_map =</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; { InterpolationPolicy::AREA, <span class="stringliteral">&quot;AREA&quot;</span> },</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; { InterpolationPolicy::BILINEAR, <span class="stringliteral">&quot;BILINEAR&quot;</span> },</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; { InterpolationPolicy::NEAREST_NEIGHBOR, <span class="stringliteral">&quot;NEAREST_NEIGHBOUR&quot;</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> interpolation_policy_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>];</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_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
19452</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019453</div>
19454</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019455<a id="a067481a9a245a2ee831a650e72a377ce"></a>
19456<h2 class="memtitle"><span class="permalink"><a href="#a067481a9a245a2ee831a650e72a377ce">&#9670;&nbsp;</a></span>string_from_matrix_pattern()</h2>
19457
Anthony Barbier871448e2017-03-24 14:54:29 +000019458<div class="memitem">
19459<div class="memproto">
19460 <table class="memname">
19461 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019462 <td class="memname">const std::string &amp; string_from_matrix_pattern </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019463 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019464 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019465 <td class="paramname"><em>pattern</em></td><td>)</td>
19466 <td></td>
19467 </tr>
19468 </table>
19469</div><div class="memdoc">
19470
19471<p>Convert a matrix pattern into a string. </p>
19472<dl class="params"><dt>Parameters</dt><dd>
19473 <table class="params">
19474 <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>
19475 </table>
19476 </dd>
19477</dl>
19478<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
19479
Jenkinsb9abeae2018-11-22 11:58:08 +000019480<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00182">182</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019481
Jenkinsb9abeae2018-11-22 11:58:08 +000019482<p class="reference">References <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>
19483
19484<p class="reference">Referenced by <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19485<div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;{</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">static</span> std::map&lt;MatrixPattern, const std::string&gt; pattern_map =</div><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; { MatrixPattern::BOX, <span class="stringliteral">&quot;BOX&quot;</span> },</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; { MatrixPattern::CROSS, <span class="stringliteral">&quot;CROSS&quot;</span> },</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; { MatrixPattern::DISK, <span class="stringliteral">&quot;DISK&quot;</span> },</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; { MatrixPattern::OTHER, <span class="stringliteral">&quot;OTHER&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> pattern_map[pattern];</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019486</div>
19487</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019488<a id="a99248d472f05dbf03ac613620f5acbbb"></a>
19489<h2 class="memtitle"><span class="permalink"><a href="#a99248d472f05dbf03ac613620f5acbbb">&#9670;&nbsp;</a></span>string_from_non_linear_filter_function()</h2>
19490
Anthony Barbier871448e2017-03-24 14:54:29 +000019491<div class="memitem">
19492<div class="memproto">
19493 <table class="memname">
19494 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019495 <td class="memname">const std::string &amp; string_from_non_linear_filter_function </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019496 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019497 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019498 <td class="paramname"><em>function</em></td><td>)</td>
19499 <td></td>
19500 </tr>
19501 </table>
19502</div><div class="memdoc">
19503
19504<p>Translates a given non linear function to a string. </p>
19505<dl class="params"><dt>Parameters</dt><dd>
19506 <table class="params">
19507 <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>
19508 </table>
19509 </dd>
19510</dl>
19511<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
19512
Jenkinsb9abeae2018-11-22 11:58:08 +000019513<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00195">195</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019514
Jenkinsb9abeae2018-11-22 11:58:08 +000019515<p class="reference">References <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>
19516
19517<p class="reference">Referenced by <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19518<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;{</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">static</span> std::map&lt;NonLinearFilterFunction, const std::string&gt; func_map =</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; { NonLinearFilterFunction::MAX, <span class="stringliteral">&quot;MAX&quot;</span> },</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; { NonLinearFilterFunction::MEDIAN, <span class="stringliteral">&quot;MEDIAN&quot;</span> },</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; { NonLinearFilterFunction::MIN, <span class="stringliteral">&quot;MIN&quot;</span> },</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; };</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> func_map[<span class="keyword">function</span>];</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019519</div>
19520</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019521<a id="a0569839ee85ad0e35edaaf3b4c80d706"></a>
19522<h2 class="memtitle"><span class="permalink"><a href="#a0569839ee85ad0e35edaaf3b4c80d706">&#9670;&nbsp;</a></span>string_from_norm_type()</h2>
19523
Anthony Barbierdbdab852017-06-23 15:42:00 +010019524<div class="memitem">
19525<div class="memproto">
19526 <table class="memname">
19527 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019528 <td class="memname">const std::string &amp; string_from_norm_type </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019529 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019530 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019531 <td class="paramname"><em>type</em></td><td>)</td>
19532 <td></td>
19533 </tr>
19534 </table>
19535</div><div class="memdoc">
19536
19537<p>Translates a given normalization type to a string. </p>
19538<dl class="params"><dt>Parameters</dt><dd>
19539 <table class="params">
19540 <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>
19541 </table>
19542 </dd>
19543</dl>
19544<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
19545
Jenkinsb9abeae2018-11-22 11:58:08 +000019546<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00231">231</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019547
Jenkinsb9abeae2018-11-22 11:58:08 +000019548<p class="reference">References <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>
19549
19550<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19551<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keyword">static</span> std::map&lt;NormType, const std::string&gt; norm_type_map =</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; { NormType::IN_MAP_1D, <span class="stringliteral">&quot;IN_MAP_1D&quot;</span> },</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; { NormType::IN_MAP_2D, <span class="stringliteral">&quot;IN_MAP_2D&quot;</span> },</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; { NormType::CROSS_MAP, <span class="stringliteral">&quot;CROSS_MAP&quot;</span> },</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="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> norm_type_map[type];</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010019552</div>
19553</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019554<a id="ad6eaf2181f8a8c418acaf3af76239997"></a>
19555<h2 class="memtitle"><span class="permalink"><a href="#ad6eaf2181f8a8c418acaf3af76239997">&#9670;&nbsp;</a></span>string_from_pixel_value()</h2>
19556
Kaizen8938bd32017-09-28 14:38:23 +010019557<div class="memitem">
19558<div class="memproto">
19559 <table class="memname">
19560 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019561 <td class="memname">std::string string_from_pixel_value </td>
19562 <td>(</td>
19563 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> &amp;&#160;</td>
19564 <td class="paramname"><em>value</em>, </td>
19565 </tr>
19566 <tr>
19567 <td class="paramkey"></td>
19568 <td></td>
19569 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
19570 <td class="paramname"><em>data_type</em>&#160;</td>
19571 </tr>
19572 <tr>
19573 <td></td>
19574 <td>)</td>
19575 <td></td><td></td>
19576 </tr>
19577 </table>
19578</div><div class="memdoc">
19579
19580<p>Convert a <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> to a string, represented through the specific data type. </p>
19581<dl class="params"><dt>Parameters</dt><dd>
19582 <table class="params">
19583 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> to convert </td></tr>
19584 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>The type to be used to convert the <code>value</code> </td></tr>
19585 </table>
19586 </dd>
19587</dl>
19588<dl class="section return"><dt>Returns</dt><dd>String representation of the <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> through the given data type. </dd></dl>
19589
19590<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00268">268</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
19591
19592<p class="reference">Referenced by <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19593<div class="fragment"><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; std::stringstream ss;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; std::string converted_string;</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">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</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">case</span> DataType::U8:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; ss &lt;&lt; uint32_t(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;uint8_t&gt;());</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; converted_string = ss.str();</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; ss &lt;&lt; int32_t(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;int8_t&gt;());</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; converted_string = ss.str();</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; ss &lt;&lt; value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;uint16_t&gt;();</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; converted_string = ss.str();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; ss &lt;&lt; value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;int16_t&gt;();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; converted_string = ss.str();</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">case</span> DataType::U32:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; ss &lt;&lt; value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;uint32_t&gt;();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; converted_string = ss.str();</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; ss &lt;&lt; value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;int32_t&gt;();</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; converted_string = ss.str();</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; converted_string = <a class="code" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a>(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;<span class="keywordtype">float</span>&gt;());</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; static_assert(<span class="keyword">sizeof</span>(<a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>) == 2, <span class="stringliteral">&quot;Half must be 16 bit&quot;</span>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; ss &lt;&lt; value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; converted_string = ss.str();</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not handled&quot;</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">return</span> converted_string;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</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>
19594<div class="ttc" id="classarm__compute_1_1_pixel_value_xhtml_a66c4c1f8b1962d71162d7ac0b3ef65bc"><div class="ttname"><a href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">arm_compute::PixelValue::get</a></div><div class="ttdeci">void get(uint8_t &amp;v) const</div><div class="ttdoc">Interpret the pixel value as a U8. </div><div class="ttdef"><b>Definition:</b> <a href="_pixel_value_8h_source.xhtml#l00157">PixelValue.h:157</a></div></div>
19595<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>
19596<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
19597<div class="ttc" id="namespacearm__compute_xhtml_a9cd394c15b73f79ca1d98f5328064be2"><div class="ttname"><a href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">arm_compute::float_to_string_with_full_precision</a></div><div class="ttdeci">std::string float_to_string_with_full_precision(float val)</div><div class="ttdoc">Create a string with the float in full precision. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01013">Utils.h:1013</a></div></div>
19598</div><!-- fragment -->
19599</div>
19600</div>
19601<a id="a1040394085749e4d02a0d4350493ec94"></a>
19602<h2 class="memtitle"><span class="permalink"><a href="#a1040394085749e4d02a0d4350493ec94">&#9670;&nbsp;</a></span>string_from_pooling_type()</h2>
19603
19604<div class="memitem">
19605<div class="memproto">
19606 <table class="memname">
19607 <tr>
19608 <td class="memname">const std::string &amp; string_from_pooling_type </td>
Kaizen8938bd32017-09-28 14:38:23 +010019609 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019610 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019611 <td class="paramname"><em>type</em></td><td>)</td>
19612 <td></td>
19613 </tr>
19614 </table>
19615</div><div class="memdoc">
19616
19617<p>Translates a given pooling type to a string. </p>
19618<dl class="params"><dt>Parameters</dt><dd>
19619 <table class="params">
19620 <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>
19621 </table>
19622 </dd>
19623</dl>
19624<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019625
Jenkinsb9abeae2018-11-22 11:58:08 +000019626<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00243">243</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019627
Jenkinsb9abeae2018-11-22 11:58:08 +000019628<p class="reference">References <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>
19629
19630<p class="reference">Referenced by <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
19631<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; <span class="keyword">static</span> std::map&lt;PoolingType, const std::string&gt; pool_type_map =</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; { PoolingType::MAX, <span class="stringliteral">&quot;MAX&quot;</span> },</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; { PoolingType::AVG, <span class="stringliteral">&quot;AVG&quot;</span> },</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; { PoolingType::L2, <span class="stringliteral">&quot;L2&quot;</span> },</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; };</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">return</span> pool_type_map[type];</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019632</div>
19633</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019634<a id="a192c7cf59b34ae925eb1c8c315a06225"></a>
19635<h2 class="memtitle"><span class="permalink"><a href="#a192c7cf59b34ae925eb1c8c315a06225">&#9670;&nbsp;</a></span>string_from_scheduler_type()</h2>
19636
Anthony Barbierdbdab852017-06-23 15:42:00 +010019637<div class="memitem">
19638<div class="memproto">
19639 <table class="memname">
19640 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019641 <td class="memname">const std::string &amp; string_from_scheduler_type </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019642 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019643 <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 +010019644 <td class="paramname"><em>t</em></td><td>)</td>
19645 <td></td>
19646 </tr>
19647 </table>
19648</div><div class="memdoc">
19649
Jenkinsb3a371b2018-05-23 11:36:53 +010019650<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 +010019651<dl class="params"><dt>Parameters</dt><dd>
19652 <table class="params">
19653 <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>
19654 </table>
19655 </dd>
19656</dl>
19657<dl class="section return"><dt>Returns</dt><dd>The string describing the scheduler type. </dd></dl>
19658
Jenkinsb9abeae2018-11-22 11:58:08 +000019659<p class="definition">Definition at line <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
19660
19661<p class="reference">References <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a4c162442ef22c58f6f1e330e6b692c7e">Scheduler::CPP</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a72baef04098f035e8a320b03ad197818">Scheduler::CUSTOM</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a6a1f3212967c1a0ff6774f09de77330f">Scheduler::OMP</a>, and <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7aec8e57d71f07e31203035548b79d03c8">Scheduler::ST</a>.</p>
19662<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">static</span> std::map&lt;Scheduler::Type, const std::string&gt; scheduler_type_map =</div><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; { Scheduler::Type::ST, <span class="stringliteral">&quot;Single Thread&quot;</span> },</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; { Scheduler::Type::CPP, <span class="stringliteral">&quot;C++11 Threads&quot;</span> },</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; { Scheduler::Type::OMP, <span class="stringliteral">&quot;OpenMP Threads&quot;</span> },</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; { Scheduler::Type::CUSTOM, <span class="stringliteral">&quot;Custom&quot;</span> }</div><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;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> scheduler_type_map[t];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019663</div>
19664</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019665<a id="af7795707992825c309fe846740dc8cf8"></a>
19666<h2 class="memtitle"><span class="permalink"><a href="#af7795707992825c309fe846740dc8cf8">&#9670;&nbsp;</a></span>string_from_target()</h2>
19667
Anthony Barbierdbdab852017-06-23 15:42:00 +010019668<div class="memitem">
19669<div class="memproto">
19670 <table class="memname">
19671 <tr>
Jenkinsb9abeae2018-11-22 11:58:08 +000019672 <td class="memname">const std::string &amp; string_from_target </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019673 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019674 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019675 <td class="paramname"><em>target</em></td><td>)</td>
19676 <td></td>
19677 </tr>
19678 </table>
19679</div><div class="memdoc">
19680
19681<p>Translates a given gpu device target to string. </p>
19682<dl class="params"><dt>Parameters</dt><dd>
19683 <table class="params">
19684 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Given gpu target.</td></tr>
19685 </table>
19686 </dd>
19687</dl>
19688<dl class="section return"><dt>Returns</dt><dd>The string describing the target. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000019689
Jenkinsb9abeae2018-11-22 11:58:08 +000019690<p class="definition">Definition at line <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00103">103</a> of file <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml">GPUTarget.cpp</a>.</p>
19691
19692<p class="reference">References <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#a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb">G52</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837">G52LIT</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#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>
19693
19694<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>.</p>
19695<div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">static</span> std::map&lt;GPUTarget, const std::string&gt; gpu_target_map =</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; { GPUTarget::MIDGARD, <span class="stringliteral">&quot;midgard&quot;</span> },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; { GPUTarget::BIFROST, <span class="stringliteral">&quot;bifrost&quot;</span> },</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; { GPUTarget::T600, <span class="stringliteral">&quot;t600&quot;</span> },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; { GPUTarget::T700, <span class="stringliteral">&quot;t700&quot;</span> },</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; { GPUTarget::T800, <span class="stringliteral">&quot;t800&quot;</span> },</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; { GPUTarget::G71, <span class="stringliteral">&quot;g71&quot;</span> },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; { GPUTarget::G72, <span class="stringliteral">&quot;g72&quot;</span> },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; { GPUTarget::G51, <span class="stringliteral">&quot;g51&quot;</span> },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; { GPUTarget::G51BIG, <span class="stringliteral">&quot;g51big&quot;</span> },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; { GPUTarget::G51LIT, <span class="stringliteral">&quot;g51lit&quot;</span> },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; { GPUTarget::G52, <span class="stringliteral">&quot;g52&quot;</span> },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; { GPUTarget::G52LIT, <span class="stringliteral">&quot;g52lit&quot;</span> },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; { GPUTarget::G76, <span class="stringliteral">&quot;g76&quot;</span> },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; { GPUTarget::TTRX, <span class="stringliteral">&quot;ttrx&quot;</span> },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; { GPUTarget::TBOX, <span class="stringliteral">&quot;tbox&quot;</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; };</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> gpu_target_map[target];</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019696</div>
19697</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019698<a id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
19699<h2 class="memtitle"><span class="permalink"><a href="#ab75d8ff29ba9b398d5740b3efd156e71">&#9670;&nbsp;</a></span>to_string() <span class="overload">[1/51]</span></h2>
19700
Jenkins52ba29e2018-08-29 15:32:11 +000019701<div class="memitem">
19702<div class="memproto">
19703<table class="mlabels">
19704 <tr>
19705 <td class="mlabels-left">
19706 <table class="memname">
19707 <tr>
19708 <td class="memname">std::string arm_compute::to_string </td>
19709 <td>(</td>
19710 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;&#160;</td>
19711 <td class="paramname"><em>type</em></td><td>)</td>
19712 <td></td>
19713 </tr>
19714 </table>
19715 </td>
19716 <td class="mlabels-right">
19717<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19718 </tr>
19719</table>
19720</div><div class="memdoc">
19721
19722<p>Formatted output of the GradientDimension type. </p>
19723<dl class="params"><dt>Parameters</dt><dd>
19724 <table class="params">
19725 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
19726 </table>
19727 </dd>
19728</dl>
19729<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
19730
Jenkinsb9abeae2018-11-22 11:58:08 +000019731<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000019732
Jenkinsb9abeae2018-11-22 11:58:08 +000019733<p class="reference">Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00133">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00296">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00109">arm_compute::graph::backends::detail::create_convolution_layer&lt; GCConvolutionLayerFunctions, GCTargetInfo &gt;()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00082">arm_compute::graph::backends::detail::create_convolution_layer&lt; NEConvolutionLayerFunctions, NETargetInfo &gt;()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00431">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00162">arm_compute::graph::backends::detail::create_depthwise_convolution_layer&lt; GCDepthwiseConvolutionLayerFunctions, GCTargetInfo &gt;()</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>, <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">to_string_if_not_null()</a>, and <a class="el" href="_dot_graph_printer_8cpp_source.xhtml#l00043">DotGraphVisitor::visit()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000019734<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 -->
19735</div>
19736</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019737<a id="aabe16be22edb41656e66ed9eae3b69e6"></a>
19738<h2 class="memtitle"><span class="permalink"><a href="#aabe16be22edb41656e66ed9eae3b69e6">&#9670;&nbsp;</a></span>to_string() <span class="overload">[2/51]</span></h2>
19739
Kaizen8938bd32017-09-28 14:38:23 +010019740<div class="memitem">
19741<div class="memproto">
19742<table class="mlabels">
19743 <tr>
19744 <td class="mlabels-left">
19745 <table class="memname">
19746 <tr>
19747 <td class="memname">std::string arm_compute::to_string </td>
19748 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019749 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019750 <td class="paramname"><em>function</em></td><td>)</td>
19751 <td></td>
19752 </tr>
19753 </table>
19754 </td>
19755 <td class="mlabels-right">
19756<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19757 </tr>
19758</table>
19759</div><div class="memdoc">
19760
Jenkinsb3a371b2018-05-23 11:36:53 +010019761<p>Formatted output of the NonLinearFilterFunction type. </p>
19762<dl class="params"><dt>Parameters</dt><dd>
19763 <table class="params">
19764 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
19765 </table>
19766 </dd>
19767</dl>
19768<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010019769
Jenkinsb9abeae2018-11-22 11:58:08 +000019770<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000019771<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 +010019772</div>
19773</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019774<a id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
19775<h2 class="memtitle"><span class="permalink"><a href="#a27f0ebddef1b83e0ac31c7a7a23a8d36">&#9670;&nbsp;</a></span>to_string() <span class="overload">[3/51]</span></h2>
19776
Kaizen8938bd32017-09-28 14:38:23 +010019777<div class="memitem">
19778<div class="memproto">
19779<table class="mlabels">
19780 <tr>
19781 <td class="mlabels-left">
19782 <table class="memname">
19783 <tr>
19784 <td class="memname">std::string arm_compute::to_string </td>
19785 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019786 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019787 <td class="paramname"><em>pattern</em></td><td>)</td>
19788 <td></td>
19789 </tr>
19790 </table>
19791 </td>
19792 <td class="mlabels-right">
19793<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19794 </tr>
19795</table>
19796</div><div class="memdoc">
19797
Jenkinsb3a371b2018-05-23 11:36:53 +010019798<p>Formatted output of the MatrixPattern type. </p>
19799<dl class="params"><dt>Parameters</dt><dd>
19800 <table class="params">
19801 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td>Type to output.</td></tr>
19802 </table>
19803 </dd>
19804</dl>
19805<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019806
Jenkinsb9abeae2018-11-22 11:58:08 +000019807<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000019808<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 +000019809</div>
19810</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019811<a id="ac7e5dca61375f7583860ab07d951a323"></a>
19812<h2 class="memtitle"><span class="permalink"><a href="#ac7e5dca61375f7583860ab07d951a323">&#9670;&nbsp;</a></span>to_string() <span class="overload">[4/51]</span></h2>
19813
19814<div class="memitem">
19815<div class="memproto">
19816<table class="mlabels">
19817 <tr>
19818 <td class="mlabels-left">
19819 <table class="memname">
19820 <tr>
19821 <td class="memname">std::string arm_compute::to_string </td>
19822 <td>(</td>
19823 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> &amp;&#160;</td>
19824 <td class="paramname"><em>pool_info</em></td><td>)</td>
19825 <td></td>
19826 </tr>
19827 </table>
19828 </td>
19829 <td class="mlabels-right">
19830<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19831 </tr>
19832</table>
19833</div><div class="memdoc">
19834
19835<p>Formatted output of the ROIPoolingInfo type. </p>
19836<dl class="params"><dt>Parameters</dt><dd>
19837 <table class="params">
19838 <tr><td class="paramdir">[in]</td><td class="paramname">pool_info</td><td>Type to output.</td></tr>
19839 </table>
19840 </dd>
19841</dl>
19842<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
19843
19844<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00229">229</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19845<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; str &lt;&lt; pool_info;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div></div><!-- fragment -->
19846</div>
19847</div>
19848<a id="aadd27b86f0ff4fbb03ed673a549e91a8"></a>
19849<h2 class="memtitle"><span class="permalink"><a href="#aadd27b86f0ff4fbb03ed673a549e91a8">&#9670;&nbsp;</a></span>to_string() <span class="overload">[5/51]</span></h2>
19850
19851<div class="memitem">
19852<div class="memproto">
19853<table class="mlabels">
19854 <tr>
19855 <td class="mlabels-left">
19856 <table class="memname">
19857 <tr>
19858 <td class="memname">std::string arm_compute::to_string </td>
19859 <td>(</td>
19860 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a> &amp;&#160;</td>
19861 <td class="paramname"><em>bbox_info</em></td><td>)</td>
19862 <td></td>
19863 </tr>
19864 </table>
19865 </td>
19866 <td class="mlabels-right">
19867<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19868 </tr>
19869</table>
19870</div><div class="memdoc">
19871
19872<p>Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. </p>
19873<dl class="params"><dt>Parameters</dt><dd>
19874 <table class="params">
19875 <tr><td class="paramdir">[in]</td><td class="paramname">bbox_info</td><td>Type to output.</td></tr>
19876 </table>
19877 </dd>
19878</dl>
19879<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
19880
19881<p class="definition">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>
19882<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; std::stringstream str;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; str &lt;&lt; bbox_info;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;}</div></div><!-- fragment -->
19883</div>
19884</div>
19885<a id="a24bc4de5c636b56f9b59533fead920c2"></a>
19886<h2 class="memtitle"><span class="permalink"><a href="#a24bc4de5c636b56f9b59533fead920c2">&#9670;&nbsp;</a></span>to_string() <span class="overload">[6/51]</span></h2>
19887
19888<div class="memitem">
19889<div class="memproto">
19890<table class="mlabels">
19891 <tr>
19892 <td class="mlabels-left">
19893 <table class="memname">
19894 <tr>
19895 <td class="memname">std::string arm_compute::to_string </td>
19896 <td>(</td>
19897 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a> &amp;&#160;</td>
19898 <td class="paramname"><em>anchors_info</em></td><td>)</td>
19899 <td></td>
19900 </tr>
19901 </table>
19902 </td>
19903 <td class="mlabels-right">
19904<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19905 </tr>
19906</table>
19907</div><div class="memdoc">
19908
19909<p>Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. </p>
19910<dl class="params"><dt>Parameters</dt><dd>
19911 <table class="params">
19912 <tr><td class="paramdir">[in]</td><td class="paramname">anchors_info</td><td>Type to output.</td></tr>
19913 </table>
19914 </dd>
19915</dl>
19916<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
19917
19918<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00283">283</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19919<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;{</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; std::stringstream str;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; str &lt;&lt; anchors_info;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;}</div></div><!-- fragment -->
19920</div>
19921</div>
19922<a id="aa597016c0aaa2990ed31b8aaa6f2ccc3"></a>
19923<h2 class="memtitle"><span class="permalink"><a href="#aa597016c0aaa2990ed31b8aaa6f2ccc3">&#9670;&nbsp;</a></span>to_string() <span class="overload">[7/51]</span></h2>
19924
19925<div class="memitem">
19926<div class="memproto">
19927<table class="mlabels">
19928 <tr>
19929 <td class="mlabels-left">
19930 <table class="memname">
19931 <tr>
19932 <td class="memname">std::string arm_compute::to_string </td>
19933 <td>(</td>
19934 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a> &amp;&#160;</td>
19935 <td class="paramname"><em>proposals_info</em></td><td>)</td>
19936 <td></td>
19937 </tr>
19938 </table>
19939 </td>
19940 <td class="mlabels-right">
19941<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19942 </tr>
19943</table>
19944</div><div class="memdoc">
19945
19946<p>Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. </p>
19947<dl class="params"><dt>Parameters</dt><dd>
19948 <table class="params">
19949 <tr><td class="paramdir">[in]</td><td class="paramname">proposals_info</td><td>Type to output.</td></tr>
19950 </table>
19951 </dd>
19952</dl>
19953<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
19954
19955<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00309">309</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19956<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; str &lt;&lt; proposals_info;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;}</div></div><!-- fragment -->
19957</div>
19958</div>
19959<a id="ad9fd48b3c01116b217a684aaeaf8b24f"></a>
19960<h2 class="memtitle"><span class="permalink"><a href="#ad9fd48b3c01116b217a684aaeaf8b24f">&#9670;&nbsp;</a></span>to_string() <span class="overload">[8/51]</span></h2>
19961
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019962<div class="memitem">
19963<div class="memproto">
19964<table class="mlabels">
19965 <tr>
19966 <td class="mlabels-left">
19967 <table class="memname">
19968 <tr>
19969 <td class="memname">std::string arm_compute::to_string </td>
19970 <td>(</td>
19971 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;&#160;</td>
19972 <td class="paramname"><em>quantization_info</em></td><td>)</td>
19973 <td></td>
19974 </tr>
19975 </table>
19976 </td>
19977 <td class="mlabels-right">
19978<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19979 </tr>
19980</table>
19981</div><div class="memdoc">
19982
Jenkinsb3a371b2018-05-23 11:36:53 +010019983<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>
19984<dl class="params"><dt>Parameters</dt><dd>
19985 <table class="params">
19986 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
19987 </table>
19988 </dd>
19989</dl>
19990<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019991
Jenkinsb9abeae2018-11-22 11:58:08 +000019992<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00336">336</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19993<div class="fragment"><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;{</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; std::stringstream str;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; str &lt;&lt; quantization_info;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010019994</div>
19995</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000019996<a id="a72626d2cca3922127c41526e37e9e623"></a>
19997<h2 class="memtitle"><span class="permalink"><a href="#a72626d2cca3922127c41526e37e9e623">&#9670;&nbsp;</a></span>to_string() <span class="overload">[9/51]</span></h2>
19998
Kaizen8938bd32017-09-28 14:38:23 +010019999<div class="memitem">
20000<div class="memproto">
20001<table class="mlabels">
20002 <tr>
20003 <td class="mlabels-left">
20004 <table class="memname">
20005 <tr>
20006 <td class="memname">std::string arm_compute::to_string </td>
20007 <td>(</td>
20008 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;&#160;</td>
20009 <td class="paramname"><em>info</em></td><td>)</td>
20010 <td></td>
20011 </tr>
20012 </table>
20013 </td>
20014 <td class="mlabels-right">
20015<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20016 </tr>
20017</table>
20018</div><div class="memdoc">
20019
Jenkinsb3a371b2018-05-23 11:36:53 +010020020<p>Formatted output of the activation function info type. </p>
20021<dl class="params"><dt>Parameters</dt><dd>
20022 <table class="params">
20023 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20024 </table>
20025 </dd>
20026</dl>
20027<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020028
Jenkinsb9abeae2018-11-22 11:58:08 +000020029<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00400">400</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010020030
Jenkinsb9abeae2018-11-22 11:58:08 +000020031<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01315">ActivationLayerInfo::activation()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01330">ActivationLayerInfo::enabled()</a>.</p>
20032<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;{</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; std::stringstream str;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">if</span>(info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#af5a8385102f8f8dd6c5957eac08b04c2">enabled</a>())</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a9e0fb1d1462557f28966ae19988532c2">activation</a>();</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> str.str();</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_af5a8385102f8f8dd6c5957eac08b04c2"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#af5a8385102f8f8dd6c5957eac08b04c2">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#l01330">Types.h:1330</a></div></div>
20033<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a9e0fb1d1462557f28966ae19988532c2"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a9e0fb1d1462557f28966ae19988532c2">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#l01315">Types.h:1315</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020034</div><!-- fragment -->
20035</div>
20036</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020037<a id="a8a18c453150ab547c1add44b3ed3bc56"></a>
20038<h2 class="memtitle"><span class="permalink"><a href="#a8a18c453150ab547c1add44b3ed3bc56">&#9670;&nbsp;</a></span>to_string() <span class="overload">[10/51]</span></h2>
20039
Kaizen8938bd32017-09-28 14:38:23 +010020040<div class="memitem">
20041<div class="memproto">
20042<table class="mlabels">
20043 <tr>
20044 <td class="mlabels-left">
20045 <table class="memname">
20046 <tr>
20047 <td class="memname">std::string arm_compute::to_string </td>
20048 <td>(</td>
20049 <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>
20050 <td class="paramname"><em>function</em></td><td>)</td>
20051 <td></td>
20052 </tr>
20053 </table>
20054 </td>
20055 <td class="mlabels-right">
20056<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20057 </tr>
20058</table>
20059</div><div class="memdoc">
20060
Jenkinsb3a371b2018-05-23 11:36:53 +010020061<p>Formatted output of the activation function type. </p>
20062<dl class="params"><dt>Parameters</dt><dd>
20063 <table class="params">
20064 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
20065 </table>
20066 </dd>
20067</dl>
20068<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020069
Jenkinsb9abeae2018-11-22 11:58:08 +000020070<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00416">416</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20071<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; std::stringstream str;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020072</div>
20073</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020074<a id="a45dd771bdecbafb975fd267c2ae320a7"></a>
20075<h2 class="memtitle"><span class="permalink"><a href="#a45dd771bdecbafb975fd267c2ae320a7">&#9670;&nbsp;</a></span>to_string() <span class="overload">[11/51]</span></h2>
20076
Kaizen8938bd32017-09-28 14:38:23 +010020077<div class="memitem">
20078<div class="memproto">
20079<table class="mlabels">
20080 <tr>
20081 <td class="mlabels-left">
20082 <table class="memname">
20083 <tr>
20084 <td class="memname">std::string arm_compute::to_string </td>
20085 <td>(</td>
20086 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;&#160;</td>
20087 <td class="paramname"><em>info</em></td><td>)</td>
20088 <td></td>
20089 </tr>
20090 </table>
20091 </td>
20092 <td class="mlabels-right">
20093<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20094 </tr>
20095</table>
20096</div><div class="memdoc">
20097
Jenkinsb3a371b2018-05-23 11:36:53 +010020098<p>Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. </p>
20099<dl class="params"><dt>Parameters</dt><dd>
20100 <table class="params">
20101 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20102 </table>
20103 </dd>
20104</dl>
20105<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020106
Jenkinsb9abeae2018-11-22 11:58:08 +000020107<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00456">456</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010020108
Jenkinsb9abeae2018-11-22 11:58:08 +000020109<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01366">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01361">NormalizationLayerInfo::type()</a>.</p>
20110<div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;{</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; std::stringstream str;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#abf43f970446f0b82889df52463b9c2b8">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#a7c3edc4b354dda6c7285541f4f0e5c43">norm_size</a>();</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a7c3edc4b354dda6c7285541f4f0e5c43"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a7c3edc4b354dda6c7285541f4f0e5c43">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#l01366">Types.h:1366</a></div></div>
20111<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_abf43f970446f0b82889df52463b9c2b8"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#abf43f970446f0b82889df52463b9c2b8">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#l01361">Types.h:1361</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020112</div><!-- fragment -->
20113</div>
20114</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020115<a id="a25dac68b6321b9e53027e79222a0eb7f"></a>
20116<h2 class="memtitle"><span class="permalink"><a href="#a25dac68b6321b9e53027e79222a0eb7f">&#9670;&nbsp;</a></span>to_string() <span class="overload">[12/51]</span></h2>
20117
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020118<div class="memitem">
20119<div class="memproto">
20120<table class="mlabels">
20121 <tr>
20122 <td class="mlabels-left">
20123 <table class="memname">
20124 <tr>
20125 <td class="memname">std::string arm_compute::to_string </td>
20126 <td>(</td>
20127 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;&#160;</td>
20128 <td class="paramname"><em>rounding_policy</em></td><td>)</td>
20129 <td></td>
20130 </tr>
20131 </table>
20132 </td>
20133 <td class="mlabels-right">
20134<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20135 </tr>
20136</table>
20137</div><div class="memdoc">
20138
Jenkinsb3a371b2018-05-23 11:36:53 +010020139<p>Formatted output of <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>. </p>
20140<dl class="params"><dt>Parameters</dt><dd>
20141 <table class="params">
20142 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Type to output.</td></tr>
20143 </table>
20144 </dd>
20145</dl>
20146<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020147
Jenkinsb9abeae2018-11-22 11:58:08 +000020148<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00523">523</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010020149
Jenkinsb9abeae2018-11-22 11:58:08 +000020150<p class="reference">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>
20151<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; std::stringstream str;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</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="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</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 +010020152</div><!-- fragment -->
20153</div>
20154</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020155<a id="ae1240e4698e8a901179e519102b5e033"></a>
20156<h2 class="memtitle"><span class="permalink"><a href="#ae1240e4698e8a901179e519102b5e033">&#9670;&nbsp;</a></span>to_string() <span class="overload">[13/51]</span></h2>
20157
Jenkinsb3a371b2018-05-23 11:36:53 +010020158<div class="memitem">
20159<div class="memproto">
20160<table class="mlabels">
20161 <tr>
20162 <td class="mlabels-left">
20163 <table class="memname">
20164 <tr>
20165 <td class="memname">std::string arm_compute::to_string </td>
20166 <td>(</td>
20167 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;&#160;</td>
20168 <td class="paramname"><em>data_layout</em></td><td>)</td>
20169 <td></td>
20170 </tr>
20171 </table>
20172 </td>
20173 <td class="mlabels-right">
20174<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20175 </tr>
20176</table>
20177</div><div class="memdoc">
20178
20179<p>Formatted output of the DataLayout type. </p>
20180<dl class="params"><dt>Parameters</dt><dd>
20181 <table class="params">
20182 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Type to output.</td></tr>
20183 </table>
20184 </dd>
20185</dl>
20186<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20187
Jenkinsb9abeae2018-11-22 11:58:08 +000020188<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00564">564</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000020189
Jenkinsb9abeae2018-11-22 11:58:08 +000020190<p class="reference">References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00251">arm_compute::test::validation::data_layout</a>.</p>
20191<div class="fragment"><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;{</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; std::stringstream str;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</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="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</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#l00251">Winograd.cpp:251</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000020192</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010020193</div>
20194</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020195<a id="a96b47511b549b48d2ead05b5c757ccc9"></a>
20196<h2 class="memtitle"><span class="permalink"><a href="#a96b47511b549b48d2ead05b5c757ccc9">&#9670;&nbsp;</a></span>to_string() <span class="overload">[14/51]</span></h2>
20197
Kaizen8938bd32017-09-28 14:38:23 +010020198<div class="memitem">
20199<div class="memproto">
20200<table class="mlabels">
20201 <tr>
20202 <td class="mlabels-left">
20203 <table class="memname">
20204 <tr>
20205 <td class="memname">std::string arm_compute::to_string </td>
20206 <td>(</td>
20207 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
20208 <td class="paramname"><em>data_type</em></td><td>)</td>
20209 <td></td>
20210 </tr>
20211 </table>
20212 </td>
20213 <td class="mlabels-right">
20214<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20215 </tr>
20216</table>
20217</div><div class="memdoc">
20218
Jenkinsb3a371b2018-05-23 11:36:53 +010020219<p>Formatted output of the DataType type. </p>
20220<dl class="params"><dt>Parameters</dt><dd>
20221 <table class="params">
20222 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Type to output.</td></tr>
20223 </table>
20224 </dd>
20225</dl>
20226<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020227
Jenkinsb9abeae2018-11-22 11:58:08 +000020228<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00667">667</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010020229
Jenkinsb9abeae2018-11-22 11:58:08 +000020230<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</a>.</p>
20231<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</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="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</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="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020232</div><!-- fragment -->
20233</div>
20234</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020235<a id="ab0e6381843dc9901bb59285ec846dc5d"></a>
20236<h2 class="memtitle"><span class="permalink"><a href="#ab0e6381843dc9901bb59285ec846dc5d">&#9670;&nbsp;</a></span>to_string() <span class="overload">[15/51]</span></h2>
20237
Kaizen8938bd32017-09-28 14:38:23 +010020238<div class="memitem">
20239<div class="memproto">
20240<table class="mlabels">
20241 <tr>
20242 <td class="mlabels-left">
20243 <table class="memname">
20244 <tr>
20245 <td class="memname">std::string arm_compute::to_string </td>
20246 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020247 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020248 <td class="paramname"><em>format</em></td><td>)</td>
20249 <td></td>
20250 </tr>
20251 </table>
20252 </td>
20253 <td class="mlabels-right">
20254<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20255 </tr>
20256</table>
20257</div><div class="memdoc">
20258
Jenkinsb3a371b2018-05-23 11:36:53 +010020259<p>Formatted output of the Format type. </p>
20260<dl class="params"><dt>Parameters</dt><dd>
20261 <table class="params">
20262 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Type to output.</td></tr>
20263 </table>
20264 </dd>
20265</dl>
20266<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020267
Jenkinsb9abeae2018-11-22 11:58:08 +000020268<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00749">749</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20269<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; str &lt;&lt; format;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000020270</div>
20271</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020272<a id="a813e71cd70c2bbcbf0743fa83a3608b9"></a>
20273<h2 class="memtitle"><span class="permalink"><a href="#a813e71cd70c2bbcbf0743fa83a3608b9">&#9670;&nbsp;</a></span>to_string() <span class="overload">[16/51]</span></h2>
20274
Anthony Barbier06ea0482018-02-22 15:45:35 +000020275<div class="memitem">
20276<div class="memproto">
20277<table class="mlabels">
20278 <tr>
20279 <td class="mlabels-left">
20280 <table class="memname">
20281 <tr>
20282 <td class="memname">std::string arm_compute::to_string </td>
20283 <td>(</td>
20284 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;&#160;</td>
20285 <td class="paramname"><em>channel</em></td><td>)</td>
20286 <td></td>
20287 </tr>
20288 </table>
20289 </td>
20290 <td class="mlabels-right">
20291<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20292 </tr>
20293</table>
20294</div><div class="memdoc">
20295
Jenkinsb3a371b2018-05-23 11:36:53 +010020296<p>Formatted output of the Channel type. </p>
20297<dl class="params"><dt>Parameters</dt><dd>
20298 <table class="params">
20299 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Type to output.</td></tr>
20300 </table>
20301 </dd>
20302</dl>
20303<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000020304
Jenkinsb9abeae2018-11-22 11:58:08 +000020305<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00816">816</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20306<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; std::stringstream str;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; str &lt;&lt; channel;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020307</div>
20308</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020309<a id="a48fd5e28bdb4975c141841f0b96f8707"></a>
20310<h2 class="memtitle"><span class="permalink"><a href="#a48fd5e28bdb4975c141841f0b96f8707">&#9670;&nbsp;</a></span>to_string() <span class="overload">[17/51]</span></h2>
20311
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020312<div class="memitem">
20313<div class="memproto">
20314<table class="mlabels">
20315 <tr>
20316 <td class="mlabels-left">
20317 <table class="memname">
20318 <tr>
20319 <td class="memname">std::string arm_compute::to_string </td>
20320 <td>(</td>
20321 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
20322 <td class="paramname"><em>info</em></td><td>)</td>
20323 <td></td>
20324 </tr>
20325 </table>
20326 </td>
20327 <td class="mlabels-right">
20328<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20329 </tr>
20330</table>
20331</div><div class="memdoc">
20332
20333<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 +010020334<dl class="params"><dt>Parameters</dt><dd>
20335 <table class="params">
20336 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20337 </table>
20338 </dd>
20339</dl>
20340<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020341
Jenkinsb9abeae2018-11-22 11:58:08 +000020342<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00956">956</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 +000020343
Jenkinsb9abeae2018-11-22 11:58:08 +000020344<p class="reference">References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
20345<div class="fragment"><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;{</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; std::stringstream str;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</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="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</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 +010020346</div><!-- fragment -->
20347</div>
20348</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020349<a id="aa32488ee1dd78e0464ed23e8cc2b6e49"></a>
20350<h2 class="memtitle"><span class="permalink"><a href="#aa32488ee1dd78e0464ed23e8cc2b6e49">&#9670;&nbsp;</a></span>to_string() <span class="overload">[18/51]</span></h2>
20351
Kaizen8938bd32017-09-28 14:38:23 +010020352<div class="memitem">
20353<div class="memproto">
20354<table class="mlabels">
20355 <tr>
20356 <td class="mlabels-left">
20357 <table class="memname">
20358 <tr>
20359 <td class="memname">std::string arm_compute::to_string </td>
20360 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020361 <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 +010020362 <td class="paramname"><em>dimensions</em></td><td>)</td>
20363 <td></td>
20364 </tr>
20365 </table>
20366 </td>
20367 <td class="mlabels-right">
20368<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20369 </tr>
20370</table>
20371</div><div class="memdoc">
20372
Jenkinsb3a371b2018-05-23 11:36:53 +010020373<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
20374<dl class="params"><dt>Parameters</dt><dd>
20375 <table class="params">
20376 <tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
20377 </table>
20378 </dd>
20379</dl>
20380<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020381
Jenkinsb9abeae2018-11-22 11:58:08 +000020382<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00971">971</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20383<div class="fragment"><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;{</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; std::stringstream str;</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; str &lt;&lt; dimensions;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010020384</div>
20385</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020386<a id="a1c4486f45128be7156e38e6dea345a16"></a>
20387<h2 class="memtitle"><span class="permalink"><a href="#a1c4486f45128be7156e38e6dea345a16">&#9670;&nbsp;</a></span>to_string() <span class="overload">[19/51]</span></h2>
20388
Kaizenbf8b01d2017-10-12 14:26:51 +010020389<div class="memitem">
20390<div class="memproto">
20391<table class="mlabels">
20392 <tr>
20393 <td class="mlabels-left">
20394 <table class="memname">
20395 <tr>
20396 <td class="memname">std::string arm_compute::to_string </td>
20397 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020398 <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 +010020399 <td class="paramname"><em>stride</em></td><td>)</td>
20400 <td></td>
20401 </tr>
20402 </table>
20403 </td>
20404 <td class="mlabels-right">
20405<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20406 </tr>
20407</table>
20408</div><div class="memdoc">
20409
Jenkinsb3a371b2018-05-23 11:36:53 +010020410<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>
20411<dl class="params"><dt>Parameters</dt><dd>
20412 <table class="params">
20413 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Type to output.</td></tr>
20414 </table>
20415 </dd>
20416</dl>
20417<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020418
Jenkinsb9abeae2018-11-22 11:58:08 +000020419<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00984">984</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20420<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; str &lt;&lt; stride;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020421</div>
20422</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020423<a id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
20424<h2 class="memtitle"><span class="permalink"><a href="#a9d9b56d1b106b79fc5c5411372222d0f">&#9670;&nbsp;</a></span>to_string() <span class="overload">[20/51]</span></h2>
20425
Kaizen8938bd32017-09-28 14:38:23 +010020426<div class="memitem">
20427<div class="memproto">
20428<table class="mlabels">
20429 <tr>
20430 <td class="mlabels-left">
20431 <table class="memname">
20432 <tr>
20433 <td class="memname">std::string arm_compute::to_string </td>
20434 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020435 <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 +010020436 <td class="paramname"><em>shape</em></td><td>)</td>
20437 <td></td>
20438 </tr>
20439 </table>
20440 </td>
20441 <td class="mlabels-right">
20442<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20443 </tr>
20444</table>
20445</div><div class="memdoc">
20446
20447<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 +010020448<dl class="params"><dt>Parameters</dt><dd>
20449 <table class="params">
20450 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Type to output.</td></tr>
20451 </table>
20452 </dd>
20453</dl>
20454<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020455
Jenkinsb9abeae2018-11-22 11:58:08 +000020456<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00997">997</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010020457
Jenkinsb9abeae2018-11-22 11:58:08 +000020458<p class="reference">References <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>.</p>
20459<div class="fragment"><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;{</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; std::stringstream str;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</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="l01001"></a><span class="lineno"> 1001</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</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 +010020460</div><!-- fragment -->
20461</div>
20462</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020463<a id="a805a74997e303d29108845956a674387"></a>
20464<h2 class="memtitle"><span class="permalink"><a href="#a805a74997e303d29108845956a674387">&#9670;&nbsp;</a></span>to_string() <span class="overload">[21/51]</span></h2>
20465
Kaizenbf8b01d2017-10-12 14:26:51 +010020466<div class="memitem">
20467<div class="memproto">
20468<table class="mlabels">
20469 <tr>
20470 <td class="mlabels-left">
20471 <table class="memname">
20472 <tr>
20473 <td class="memname">std::string arm_compute::to_string </td>
20474 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020475 <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 +010020476 <td class="paramname"><em>coord</em></td><td>)</td>
20477 <td></td>
20478 </tr>
20479 </table>
20480 </td>
20481 <td class="mlabels-right">
20482<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20483 </tr>
20484</table>
20485</div><div class="memdoc">
20486
20487<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 +010020488<dl class="params"><dt>Parameters</dt><dd>
20489 <table class="params">
20490 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>Type to output.</td></tr>
20491 </table>
20492 </dd>
20493</dl>
20494<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010020495
Jenkinsb9abeae2018-11-22 11:58:08 +000020496<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01010">1010</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20497<div class="fragment"><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;{</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; std::stringstream str;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; str &lt;&lt; coord;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000020498</div>
20499</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020500<a id="a26a595cd5522bae4fa1c4f2fb9b8f4d5"></a>
20501<h2 class="memtitle"><span class="permalink"><a href="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">&#9670;&nbsp;</a></span>to_string() <span class="overload">[22/51]</span></h2>
20502
Jenkins52ba29e2018-08-29 15:32:11 +000020503<div class="memitem">
20504<div class="memproto">
20505<table class="mlabels">
20506 <tr>
20507 <td class="mlabels-left">
20508 <table class="memname">
20509 <tr>
20510 <td class="memname">std::string arm_compute::to_string </td>
20511 <td>(</td>
20512 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;&#160;</td>
20513 <td class="paramname"><em>info</em></td><td>)</td>
20514 <td></td>
20515 </tr>
20516 </table>
20517 </td>
20518 <td class="mlabels-right">
20519<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20520 </tr>
20521</table>
20522</div><div class="memdoc">
20523
20524<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>
20525<dl class="params"><dt>Parameters</dt><dd>
20526 <table class="params">
20527 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20528 </table>
20529 </dd>
20530</dl>
20531<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20532
Jenkinsb9abeae2018-11-22 11:58:08 +000020533<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01095">1095</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000020534
Jenkinsb9abeae2018-11-22 11:58:08 +000020535<p class="reference">References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
20536<div class="fragment"><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;{</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; std::stringstream str;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</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="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</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>
Jenkins52ba29e2018-08-29 15:32:11 +000020537</div><!-- fragment -->
20538</div>
20539</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020540<a id="adac3c1908846c6361e664a353ad1c3cf"></a>
20541<h2 class="memtitle"><span class="permalink"><a href="#adac3c1908846c6361e664a353ad1c3cf">&#9670;&nbsp;</a></span>to_string() <span class="overload">[23/51]</span></h2>
20542
Jenkins52ba29e2018-08-29 15:32:11 +000020543<div class="memitem">
20544<div class="memproto">
20545<table class="mlabels">
20546 <tr>
20547 <td class="mlabels-left">
20548 <table class="memname">
20549 <tr>
20550 <td class="memname">std::string arm_compute::to_string </td>
20551 <td>(</td>
20552 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;&#160;</td>
20553 <td class="paramname"><em>info</em></td><td>)</td>
20554 <td></td>
20555 </tr>
20556 </table>
20557 </td>
20558 <td class="mlabels-right">
20559<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20560 </tr>
20561</table>
20562</div><div class="memdoc">
20563
20564<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>
20565<dl class="params"><dt>Parameters</dt><dd>
20566 <table class="params">
20567 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20568 </table>
20569 </dd>
20570</dl>
20571<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20572
Jenkinsb9abeae2018-11-22 11:58:08 +000020573<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01108">1108</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000020574
Jenkinsb9abeae2018-11-22 11:58:08 +000020575<p class="reference">References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
20576<div class="fragment"><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;{</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; std::stringstream str;</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</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="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</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>
Jenkins52ba29e2018-08-29 15:32:11 +000020577</div><!-- fragment -->
20578</div>
20579</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020580<a id="a8ac2dfdfad6db71a5cf2ecee6b70f722"></a>
20581<h2 class="memtitle"><span class="permalink"><a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">&#9670;&nbsp;</a></span>to_string() <span class="overload">[24/51]</span></h2>
20582
Jenkins52ba29e2018-08-29 15:32:11 +000020583<div class="memitem">
20584<div class="memproto">
20585<table class="mlabels">
20586 <tr>
20587 <td class="mlabels-left">
20588 <table class="memname">
20589 <tr>
20590 <td class="memname">std::string arm_compute::to_string </td>
20591 <td>(</td>
20592 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;&#160;</td>
20593 <td class="paramname"><em>info</em></td><td>)</td>
20594 <td></td>
20595 </tr>
20596 </table>
20597 </td>
20598 <td class="mlabels-right">
20599<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20600 </tr>
20601</table>
20602</div><div class="memdoc">
20603
20604<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>
20605<dl class="params"><dt>Parameters</dt><dd>
20606 <table class="params">
20607 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20608 </table>
20609 </dd>
20610</dl>
20611<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20612
Jenkinsb9abeae2018-11-22 11:58:08 +000020613<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01121">1121</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000020614
Jenkinsb9abeae2018-11-22 11:58:08 +000020615<p class="reference">References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
20616<div class="fragment"><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;{</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; std::stringstream str;</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</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="l01125"></a><span class="lineno"> 1125</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</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>
Jenkins52ba29e2018-08-29 15:32:11 +000020617</div><!-- fragment -->
20618</div>
20619</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020620<a id="ab6ea50ec0a98c2180e6530cfcb5eb366"></a>
20621<h2 class="memtitle"><span class="permalink"><a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">&#9670;&nbsp;</a></span>to_string() <span class="overload">[25/51]</span></h2>
20622
Jenkins52ba29e2018-08-29 15:32:11 +000020623<div class="memitem">
20624<div class="memproto">
20625<table class="mlabels">
20626 <tr>
20627 <td class="mlabels-left">
20628 <table class="memname">
20629 <tr>
20630 <td class="memname">std::string arm_compute::to_string </td>
20631 <td>(</td>
20632 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;&#160;</td>
20633 <td class="paramname"><em>dim</em></td><td>)</td>
20634 <td></td>
20635 </tr>
20636 </table>
20637 </td>
20638 <td class="mlabels-right">
20639<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20640 </tr>
20641</table>
20642</div><div class="memdoc">
20643
20644<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>
20645<dl class="params"><dt>Parameters</dt><dd>
20646 <table class="params">
20647 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
20648 </table>
20649 </dd>
20650</dl>
20651<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20652
Jenkinsb9abeae2018-11-22 11:58:08 +000020653<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01134">1134</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20654<div class="fragment"><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;{</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; std::stringstream str;</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; str &lt;&lt; dim;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000020655</div>
20656</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020657<a id="a99aba2774f142d36c6a286cbfe027772"></a>
20658<h2 class="memtitle"><span class="permalink"><a href="#a99aba2774f142d36c6a286cbfe027772">&#9670;&nbsp;</a></span>to_string() <span class="overload">[26/51]</span></h2>
20659
Jenkins52ba29e2018-08-29 15:32:11 +000020660<div class="memitem">
20661<div class="memproto">
20662<table class="mlabels">
20663 <tr>
20664 <td class="mlabels-left">
20665 <table class="memname">
20666 <tr>
20667 <td class="memname">std::string arm_compute::to_string </td>
20668 <td>(</td>
20669 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
20670 <td class="paramname"><em>win</em></td><td>)</td>
20671 <td></td>
20672 </tr>
20673 </table>
20674 </td>
20675 <td class="mlabels-right">
20676<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20677 </tr>
20678</table>
20679</div><div class="memdoc">
20680
20681<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>
20682<dl class="params"><dt>Parameters</dt><dd>
20683 <table class="params">
20684 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
20685 </table>
20686 </dd>
20687</dl>
20688<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20689
Jenkinsb9abeae2018-11-22 11:58:08 +000020690<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01146">1146</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20691<div class="fragment"><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;{</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; std::stringstream str;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; str &lt;&lt; win;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010020692</div>
20693</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020694<a id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
20695<h2 class="memtitle"><span class="permalink"><a href="#a2c0e6c1c4cf10da25e7a7362ba151ba2">&#9670;&nbsp;</a></span>to_string() <span class="overload">[27/51]</span></h2>
20696
Kaizen8938bd32017-09-28 14:38:23 +010020697<div class="memitem">
20698<div class="memproto">
20699<table class="mlabels">
20700 <tr>
20701 <td class="mlabels-left">
20702 <table class="memname">
20703 <tr>
20704 <td class="memname">std::string arm_compute::to_string </td>
20705 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020706 <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 +010020707 <td class="paramname"><em>pad_stride_info</em></td><td>)</td>
20708 <td></td>
20709 </tr>
20710 </table>
20711 </td>
20712 <td class="mlabels-right">
20713<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20714 </tr>
20715</table>
20716</div><div class="memdoc">
20717
Jenkinsb3a371b2018-05-23 11:36:53 +010020718<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>
20719<dl class="params"><dt>Parameters</dt><dd>
20720 <table class="params">
20721 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
20722 </table>
20723 </dd>
20724</dl>
20725<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020726
Jenkinsb9abeae2018-11-22 11:58:08 +000020727<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01191">1191</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20728<div class="fragment"><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;{</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; std::stringstream str;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; str &lt;&lt; pad_stride_info;</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020729</div>
20730</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020731<a id="a0604106dd269acd58152a81ba87cc265"></a>
20732<h2 class="memtitle"><span class="permalink"><a href="#a0604106dd269acd58152a81ba87cc265">&#9670;&nbsp;</a></span>to_string() <span class="overload">[28/51]</span></h2>
20733
Kaizen8938bd32017-09-28 14:38:23 +010020734<div class="memitem">
20735<div class="memproto">
20736<table class="mlabels">
20737 <tr>
20738 <td class="mlabels-left">
20739 <table class="memname">
20740 <tr>
20741 <td class="memname">std::string arm_compute::to_string </td>
20742 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020743 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020744 <td class="paramname"><em>mode</em></td><td>)</td>
20745 <td></td>
20746 </tr>
20747 </table>
20748 </td>
20749 <td class="mlabels-right">
20750<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20751 </tr>
20752</table>
20753</div><div class="memdoc">
20754
Jenkinsb3a371b2018-05-23 11:36:53 +010020755<p>Formatted output of the BorderMode type. </p>
20756<dl class="params"><dt>Parameters</dt><dd>
20757 <table class="params">
20758 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Type to output.</td></tr>
20759 </table>
20760 </dd>
20761</dl>
20762<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020763
Jenkinsb9abeae2018-11-22 11:58:08 +000020764<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01204">1204</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20765<div class="fragment"><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;{</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; std::stringstream str;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; str &lt;&lt; mode;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010020766</div>
20767</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020768<a id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
20769<h2 class="memtitle"><span class="permalink"><a href="#a5c9cde9144eaeceaf086377b9bc5a5be">&#9670;&nbsp;</a></span>to_string() <span class="overload">[29/51]</span></h2>
20770
Kaizenbf8b01d2017-10-12 14:26:51 +010020771<div class="memitem">
20772<div class="memproto">
20773<table class="mlabels">
20774 <tr>
20775 <td class="mlabels-left">
20776 <table class="memname">
20777 <tr>
20778 <td class="memname">std::string arm_compute::to_string </td>
20779 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020780 <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 +010020781 <td class="paramname"><em>border</em></td><td>)</td>
20782 <td></td>
20783 </tr>
20784 </table>
20785 </td>
20786 <td class="mlabels-right">
20787<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20788 </tr>
20789</table>
20790</div><div class="memdoc">
20791
Jenkinsb3a371b2018-05-23 11:36:53 +010020792<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>
20793<dl class="params"><dt>Parameters</dt><dd>
20794 <table class="params">
20795 <tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
20796 </table>
20797 </dd>
20798</dl>
20799<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020800
Jenkinsb9abeae2018-11-22 11:58:08 +000020801<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01217">1217</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20802<div class="fragment"><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;{</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; std::stringstream str;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; str &lt;&lt; border;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020803</div>
20804</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020805<a id="a09b674dcee4a1b59f9c7c51ecaae40a6"></a>
20806<h2 class="memtitle"><span class="permalink"><a href="#a09b674dcee4a1b59f9c7c51ecaae40a6">&#9670;&nbsp;</a></span>to_string() <span class="overload">[30/51]</span></h2>
20807
20808<div class="memitem">
20809<div class="memproto">
20810<table class="mlabels">
20811 <tr>
20812 <td class="mlabels-left">
20813 <table class="memname">
20814 <tr>
20815 <td class="memname">std::string arm_compute::to_string </td>
20816 <td>(</td>
20817 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> &amp;&#160;</td>
20818 <td class="paramname"><em>padding</em></td><td>)</td>
20819 <td></td>
20820 </tr>
20821 </table>
20822 </td>
20823 <td class="mlabels-right">
20824<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20825 </tr>
20826</table>
20827</div><div class="memdoc">
20828
20829<p>Formatted output of the PaddingList type. </p>
20830<dl class="params"><dt>Parameters</dt><dd>
20831 <table class="params">
20832 <tr><td class="paramdir">[in]</td><td class="paramname">padding</td><td>Type to output.</td></tr>
20833 </table>
20834 </dd>
20835</dl>
20836<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20837
20838<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01230">1230</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20839
20840<p class="reference">References <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00111">arm_compute::test::validation::padding</a>.</p>
20841<div class="fragment"><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;{</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; std::stringstream str;</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a735a025fce26c1ef147b54426df18181"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">arm_compute::test::validation::padding</a></div><div class="ttdeci">const PaddingSize padding</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00111">ArithmeticDivision.cpp:111</a></div></div>
20842</div><!-- fragment -->
20843</div>
20844</div>
20845<a id="a94bd78942b683c05cba85048537d3ee7"></a>
20846<h2 class="memtitle"><span class="permalink"><a href="#a94bd78942b683c05cba85048537d3ee7">&#9670;&nbsp;</a></span>to_string() <span class="overload">[31/51]</span></h2>
20847
Kaizen8938bd32017-09-28 14:38:23 +010020848<div class="memitem">
20849<div class="memproto">
20850<table class="mlabels">
20851 <tr>
20852 <td class="mlabels-left">
20853 <table class="memname">
20854 <tr>
20855 <td class="memname">std::string arm_compute::to_string </td>
20856 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020857 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020858 <td class="paramname"><em>policy</em></td><td>)</td>
20859 <td></td>
20860 </tr>
20861 </table>
20862 </td>
20863 <td class="mlabels-right">
20864<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20865 </tr>
20866</table>
20867</div><div class="memdoc">
20868
Jenkinsb3a371b2018-05-23 11:36:53 +010020869<p>Formatted output of the InterpolationPolicy type. </p>
20870<dl class="params"><dt>Parameters</dt><dd>
20871 <table class="params">
20872 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
20873 </table>
20874 </dd>
20875</dl>
20876<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020877
Jenkinsb9abeae2018-11-22 11:58:08 +000020878<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01243">1243</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20879
20880<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
20881<div class="fragment"><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;{</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; std::stringstream str;</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
20882</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020883</div>
20884</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020885<a id="a5b8e815072ae54278cb1c91e254be4d3"></a>
20886<h2 class="memtitle"><span class="permalink"><a href="#a5b8e815072ae54278cb1c91e254be4d3">&#9670;&nbsp;</a></span>to_string() <span class="overload">[32/51]</span></h2>
20887
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020888<div class="memitem">
20889<div class="memproto">
20890<table class="mlabels">
20891 <tr>
20892 <td class="mlabels-left">
20893 <table class="memname">
20894 <tr>
20895 <td class="memname">std::string arm_compute::to_string </td>
20896 <td>(</td>
20897 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;&#160;</td>
20898 <td class="paramname"><em>policy</em></td><td>)</td>
20899 <td></td>
20900 </tr>
20901 </table>
20902 </td>
20903 <td class="mlabels-right">
20904<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20905 </tr>
20906</table>
20907</div><div class="memdoc">
20908
Jenkinsb3a371b2018-05-23 11:36:53 +010020909<p>Formatted output of the SamplingPolicy type. </p>
20910<dl class="params"><dt>Parameters</dt><dd>
20911 <table class="params">
20912 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
20913 </table>
20914 </dd>
20915</dl>
20916<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020917
Jenkinsb9abeae2018-11-22 11:58:08 +000020918<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01256">1256</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20919
20920<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
20921<div class="fragment"><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;{</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; std::stringstream str;</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
20922</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020923</div>
20924</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020925<a id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
20926<h2 class="memtitle"><span class="permalink"><a href="#adcc7e107e7dbd2ffac02189089c33e4f">&#9670;&nbsp;</a></span>to_string() <span class="overload">[33/51]</span></h2>
20927
Kaizen8938bd32017-09-28 14:38:23 +010020928<div class="memitem">
20929<div class="memproto">
20930<table class="mlabels">
20931 <tr>
20932 <td class="mlabels-left">
20933 <table class="memname">
20934 <tr>
20935 <td class="memname">std::string arm_compute::to_string </td>
20936 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020937 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020938 <td class="paramname"><em>policy</em></td><td>)</td>
20939 <td></td>
20940 </tr>
20941 </table>
20942 </td>
20943 <td class="mlabels-right">
20944<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20945 </tr>
20946</table>
20947</div><div class="memdoc">
20948
Jenkinsb9abeae2018-11-22 11:58:08 +000020949<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01287">1287</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20950
20951<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
20952<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
20953</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020954</div>
20955</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020956<a id="aae534105c7ea67999ccbb34a0ed567cd"></a>
20957<h2 class="memtitle"><span class="permalink"><a href="#aae534105c7ea67999ccbb34a0ed567cd">&#9670;&nbsp;</a></span>to_string() <span class="overload">[34/51]</span></h2>
20958
Kaizen8938bd32017-09-28 14:38:23 +010020959<div class="memitem">
20960<div class="memproto">
20961<table class="mlabels">
20962 <tr>
20963 <td class="mlabels-left">
20964 <table class="memname">
20965 <tr>
20966 <td class="memname">std::string arm_compute::to_string </td>
20967 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020968 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020969 <td class="paramname"><em>op</em></td><td>)</td>
20970 <td></td>
20971 </tr>
20972 </table>
20973 </td>
20974 <td class="mlabels-right">
20975<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20976 </tr>
20977</table>
20978</div><div class="memdoc">
20979
Jenkinsb3a371b2018-05-23 11:36:53 +010020980<p>Formatted output of the Reduction Operations. </p>
20981<dl class="params"><dt>Parameters</dt><dd>
20982 <table class="params">
20983 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
20984 </table>
20985 </dd>
20986</dl>
20987<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020988
Jenkinsb9abeae2018-11-22 11:58:08 +000020989<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01327">1327</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20990<div class="fragment"><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;{</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; std::stringstream str;</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; str &lt;&lt; op;</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020991</div>
20992</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000020993<a id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
20994<h2 class="memtitle"><span class="permalink"><a href="#ad8b676c38d9b8d9d9bde7caec5720bd9">&#9670;&nbsp;</a></span>to_string() <span class="overload">[35/51]</span></h2>
20995
Kaizen8938bd32017-09-28 14:38:23 +010020996<div class="memitem">
20997<div class="memproto">
20998<table class="mlabels">
20999 <tr>
21000 <td class="mlabels-left">
21001 <table class="memname">
21002 <tr>
21003 <td class="memname">std::string arm_compute::to_string </td>
21004 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021005 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021006 <td class="paramname"><em>type</em></td><td>)</td>
21007 <td></td>
21008 </tr>
21009 </table>
21010 </td>
21011 <td class="mlabels-right">
21012<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21013 </tr>
21014</table>
21015</div><div class="memdoc">
21016
Jenkinsb3a371b2018-05-23 11:36:53 +010021017<p>Formatted output of the Norm Type. </p>
21018<dl class="params"><dt>Parameters</dt><dd>
21019 <table class="params">
21020 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
21021 </table>
21022 </dd>
21023</dl>
21024<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010021025
Jenkinsb9abeae2018-11-22 11:58:08 +000021026<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01340">1340</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21027<div class="fragment"><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;{</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; std::stringstream str;</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010021028</div>
21029</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021030<a id="a2872d19dd10dc3117813d291c08e0383"></a>
21031<h2 class="memtitle"><span class="permalink"><a href="#a2872d19dd10dc3117813d291c08e0383">&#9670;&nbsp;</a></span>to_string() <span class="overload">[36/51]</span></h2>
21032
Kaizen8938bd32017-09-28 14:38:23 +010021033<div class="memitem">
21034<div class="memproto">
21035<table class="mlabels">
21036 <tr>
21037 <td class="mlabels-left">
21038 <table class="memname">
21039 <tr>
21040 <td class="memname">std::string arm_compute::to_string </td>
21041 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021042 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021043 <td class="paramname"><em>type</em></td><td>)</td>
21044 <td></td>
21045 </tr>
21046 </table>
21047 </td>
21048 <td class="mlabels-right">
21049<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21050 </tr>
21051</table>
21052</div><div class="memdoc">
21053
Jenkinsb3a371b2018-05-23 11:36:53 +010021054<p>Formatted output of the Pooling Type. </p>
21055<dl class="params"><dt>Parameters</dt><dd>
21056 <table class="params">
21057 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
21058 </table>
21059 </dd>
21060</dl>
21061<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010021062
Jenkinsb9abeae2018-11-22 11:58:08 +000021063<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01353">1353</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21064<div class="fragment"><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;{</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; std::stringstream str;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010021065</div>
21066</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021067<a id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
21068<h2 class="memtitle"><span class="permalink"><a href="#acef515348c5f7f73c89aa4b8a47a02bc">&#9670;&nbsp;</a></span>to_string() <span class="overload">[37/51]</span></h2>
21069
Kaizen8938bd32017-09-28 14:38:23 +010021070<div class="memitem">
21071<div class="memproto">
21072<table class="mlabels">
21073 <tr>
21074 <td class="mlabels-left">
21075 <table class="memname">
21076 <tr>
21077 <td class="memname">std::string arm_compute::to_string </td>
21078 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021079 <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 +010021080 <td class="paramname"><em>info</em></td><td>)</td>
21081 <td></td>
21082 </tr>
21083 </table>
21084 </td>
21085 <td class="mlabels-right">
21086<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21087 </tr>
21088</table>
21089</div><div class="memdoc">
21090
Jenkinsb3a371b2018-05-23 11:36:53 +010021091<p>Formatted output of the Pooling Layer Info. </p>
21092<dl class="params"><dt>Parameters</dt><dd>
21093 <table class="params">
21094 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
21095 </table>
21096 </dd>
21097</dl>
21098<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010021099
Jenkinsb9abeae2018-11-22 11:58:08 +000021100<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01366">1366</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010021101
Jenkinsb9abeae2018-11-22 11:58:08 +000021102<p class="reference">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#l01028">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01018">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01013">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01008">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
21103<div class="fragment"><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;{</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; std::stringstream str;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</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="l01370"></a><span class="lineno"> 1370</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="l01371"></a><span class="lineno"> 1371</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="l01372"></a><span class="lineno"> 1372</span>&#160; {</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</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="l01375"></a><span class="lineno"> 1375</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="l01376"></a><span class="lineno"> 1376</span>&#160; }</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</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 +000021104</div><!-- fragment -->
21105</div>
21106</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021107<a id="ae62747a5179626328bf7e67c709d5fcf"></a>
21108<h2 class="memtitle"><span class="permalink"><a href="#ae62747a5179626328bf7e67c709d5fcf">&#9670;&nbsp;</a></span>to_string() <span class="overload">[38/51]</span></h2>
21109
21110<div class="memitem">
21111<div class="memproto">
21112<table class="mlabels">
21113 <tr>
21114 <td class="mlabels-left">
21115 <table class="memname">
21116 <tr>
21117 <td class="memname">std::string arm_compute::to_string </td>
21118 <td>(</td>
21119 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a> &amp;&#160;</td>
21120 <td class="paramname"><em>info</em></td><td>)</td>
21121 <td></td>
21122 </tr>
21123 </table>
21124 </td>
21125 <td class="mlabels-right">
21126<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21127 </tr>
21128</table>
21129</div><div class="memdoc">
21130
21131<p>Formatted output of the <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml" title="PriorBox layer info. ">PriorBoxLayerInfo</a>. </p>
21132<dl class="params"><dt>Parameters</dt><dd>
21133 <table class="params">
21134 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
21135 </table>
21136 </dd>
21137</dl>
21138<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
21139
21140<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01387">1387</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21141
21142<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00929">PriorBoxLayerInfo::clip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00924">PriorBoxLayerInfo::flip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00914">PriorBoxLayerInfo::img_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00934">PriorBoxLayerInfo::max_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00899">PriorBoxLayerInfo::min_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00919">PriorBoxLayerInfo::offset()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00909">PriorBoxLayerInfo::steps()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00904">PriorBoxLayerInfo::variances()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00464">Coordinates2D::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00465">Coordinates2D::y</a>.</p>
21143<div class="fragment"><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;{</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; std::stringstream str;</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;Clip:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.clip()</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Flip:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.flip()</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; &lt;&lt; <span class="stringliteral">&quot;StepX:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[0]</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; &lt;&lt; <span class="stringliteral">&quot;StepY:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[1]</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; &lt;&lt; <span class="stringliteral">&quot;MinSizes:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.min_sizes().size()</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; &lt;&lt; <span class="stringliteral">&quot;MaxSizes:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.max_sizes().size()</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; &lt;&lt; <span class="stringliteral">&quot;ImgSizeX:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().x</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; &lt;&lt; <span class="stringliteral">&quot;ImgSizeY:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().y</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.offset()</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Variances:&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.variances().size();</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</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>
21144</div><!-- fragment -->
21145</div>
21146</div>
21147<a id="ae4ead564f3c96ea5f1ec7fe035b941f3"></a>
21148<h2 class="memtitle"><span class="permalink"><a href="#ae4ead564f3c96ea5f1ec7fe035b941f3">&#9670;&nbsp;</a></span>to_string() <span class="overload">[39/51]</span></h2>
21149
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021150<div class="memitem">
21151<div class="memproto">
21152<table class="mlabels">
21153 <tr>
21154 <td class="mlabels-left">
21155 <table class="memname">
21156 <tr>
21157 <td class="memname">std::string arm_compute::to_string </td>
21158 <td>(</td>
21159 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">arm_compute::PhaseType</a> &amp;&#160;</td>
21160 <td class="paramname"><em>type</em></td><td>)</td>
21161 <td></td>
21162 </tr>
21163 </table>
21164 </td>
21165 <td class="mlabels-right">
21166<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21167 </tr>
21168</table>
21169</div><div class="memdoc">
21170
Jenkinsb3a371b2018-05-23 11:36:53 +010021171<p>Formatted output of the PhaseType type. </p>
21172<dl class="params"><dt>Parameters</dt><dd>
21173 <table class="params">
21174 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
21175 </table>
21176 </dd>
21177</dl>
21178<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021179
Jenkinsb9abeae2018-11-22 11:58:08 +000021180<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01455">1455</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21181<div class="fragment"><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;{</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; std::stringstream str;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021182</div>
21183</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021184<a id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
21185<h2 class="memtitle"><span class="permalink"><a href="#a42e6f8761f01b5846f56c3b8025c8c0a">&#9670;&nbsp;</a></span>to_string() <span class="overload">[40/51]</span></h2>
21186
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021187<div class="memitem">
21188<div class="memproto">
21189<table class="mlabels">
21190 <tr>
21191 <td class="mlabels-left">
21192 <table class="memname">
21193 <tr>
21194 <td class="memname">std::string arm_compute::to_string </td>
21195 <td>(</td>
21196 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> &amp;&#160;</td>
21197 <td class="paramname"><em>type</em></td><td>)</td>
21198 <td></td>
21199 </tr>
21200 </table>
21201 </td>
21202 <td class="mlabels-right">
21203<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21204 </tr>
21205</table>
21206</div><div class="memdoc">
21207
Jenkinsb3a371b2018-05-23 11:36:53 +010021208<p>Formatted output of the MagnitudeType type. </p>
21209<dl class="params"><dt>Parameters</dt><dd>
21210 <table class="params">
21211 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
21212 </table>
21213 </dd>
21214</dl>
21215<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021216
Jenkinsb9abeae2018-11-22 11:58:08 +000021217<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01492">1492</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21218<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021219</div>
21220</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021221<a id="a950ba288e8136db4bf52f7c51dea20eb"></a>
21222<h2 class="memtitle"><span class="permalink"><a href="#a950ba288e8136db4bf52f7c51dea20eb">&#9670;&nbsp;</a></span>to_string() <span class="overload">[41/51]</span></h2>
21223
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021224<div class="memitem">
21225<div class="memproto">
21226<table class="mlabels">
21227 <tr>
21228 <td class="mlabels-left">
21229 <table class="memname">
21230 <tr>
21231 <td class="memname">std::string arm_compute::to_string </td>
21232 <td>(</td>
21233 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;&#160;</td>
21234 <td class="paramname"><em>type</em></td><td>)</td>
21235 <td></td>
21236 </tr>
21237 </table>
21238 </td>
21239 <td class="mlabels-right">
21240<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21241 </tr>
21242</table>
21243</div><div class="memdoc">
21244
Jenkinsb3a371b2018-05-23 11:36:53 +010021245<p>Formatted output of the HOGNormType type. </p>
21246<dl class="params"><dt>Parameters</dt><dd>
21247 <table class="params">
21248 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
21249 </table>
21250 </dd>
21251</dl>
21252<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021253
Jenkinsb9abeae2018-11-22 11:58:08 +000021254<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01532">1532</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21255<div class="fragment"><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;{</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; std::stringstream str;</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021256</div>
21257</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021258<a id="aee88a2c259879eb9dc18cb5965e87c29"></a>
21259<h2 class="memtitle"><span class="permalink"><a href="#aee88a2c259879eb9dc18cb5965e87c29">&#9670;&nbsp;</a></span>to_string() <span class="overload">[42/51]</span></h2>
21260
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021261<div class="memitem">
21262<div class="memproto">
21263<table class="mlabels">
21264 <tr>
21265 <td class="mlabels-left">
21266 <table class="memname">
21267 <tr>
21268 <td class="memname">std::string arm_compute::to_string </td>
21269 <td>(</td>
21270 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
21271 <td class="paramname"><em>type</em></td><td>)</td>
21272 <td></td>
21273 </tr>
21274 </table>
21275 </td>
21276 <td class="mlabels-right">
21277<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21278 </tr>
21279</table>
21280</div><div class="memdoc">
21281
Jenkinsb3a371b2018-05-23 11:36:53 +010021282<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>
21283<dl class="params"><dt>Parameters</dt><dd>
21284 <table class="params">
21285 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
21286 </table>
21287 </dd>
21288</dl>
21289<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021290
Jenkinsb9abeae2018-11-22 11:58:08 +000021291<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01559">1559</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21292<div class="fragment"><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;{</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; std::stringstream str;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021293</div>
21294</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021295<a id="a3cf43a216912b361eaffc3c71452a31e"></a>
21296<h2 class="memtitle"><span class="permalink"><a href="#a3cf43a216912b361eaffc3c71452a31e">&#9670;&nbsp;</a></span>to_string() <span class="overload">[43/51]</span></h2>
21297
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021298<div class="memitem">
21299<div class="memproto">
21300<table class="mlabels">
21301 <tr>
21302 <td class="mlabels-left">
21303 <table class="memname">
21304 <tr>
21305 <td class="memname">std::string arm_compute::to_string </td>
21306 <td>(</td>
21307 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;&#160;</td>
21308 <td class="paramname"><em>type</em></td><td>)</td>
21309 <td></td>
21310 </tr>
21311 </table>
21312 </td>
21313 <td class="mlabels-right">
21314<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21315 </tr>
21316</table>
21317</div><div class="memdoc">
21318
21319<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 +010021320<dl class="params"><dt>Parameters</dt><dd>
21321 <table class="params">
21322 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
21323 </table>
21324 </dd>
21325</dl>
21326<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000021327
Jenkinsb9abeae2018-11-22 11:58:08 +000021328<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01593">1593</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21329<div class="fragment"><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;{</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; std::stringstream str;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010021330</div>
21331</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021332<a id="a853d44a32a328fb4455f6200a11c4785"></a>
21333<h2 class="memtitle"><span class="permalink"><a href="#a853d44a32a328fb4455f6200a11c4785">&#9670;&nbsp;</a></span>to_string() <span class="overload">[44/51]</span></h2>
21334
Anthony Barbier06ea0482018-02-22 15:45:35 +000021335<div class="memitem">
21336<div class="memproto">
21337<table class="mlabels">
21338 <tr>
21339 <td class="mlabels-left">
21340 <table class="memname">
21341 <tr>
21342 <td class="memname">std::string arm_compute::to_string </td>
21343 <td>(</td>
21344 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;&#160;</td>
21345 <td class="paramname"><em>conv_method</em></td><td>)</td>
21346 <td></td>
21347 </tr>
21348 </table>
21349 </td>
21350 <td class="mlabels-right">
21351<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21352 </tr>
21353</table>
21354</div><div class="memdoc">
21355
Jenkinsb3a371b2018-05-23 11:36:53 +010021356<p>Formatted output of the ConvolutionMethod type. </p>
21357<dl class="params"><dt>Parameters</dt><dd>
21358 <table class="params">
21359 <tr><td class="paramdir">[in]</td><td class="paramname">conv_method</td><td>Type to output</td></tr>
21360 </table>
21361 </dd>
21362</dl>
21363<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000021364
Jenkinsb9abeae2018-11-22 11:58:08 +000021365<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01633">1633</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21366<div class="fragment"><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;{</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; std::stringstream str;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; str &lt;&lt; conv_method;</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000021367</div>
21368</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021369<a id="aee29ccfc095313663fc954f581ddf40a"></a>
21370<h2 class="memtitle"><span class="permalink"><a href="#aee29ccfc095313663fc954f581ddf40a">&#9670;&nbsp;</a></span>to_string() <span class="overload">[45/51]</span></h2>
21371
Anthony Barbier06ea0482018-02-22 15:45:35 +000021372<div class="memitem">
21373<div class="memproto">
21374<table class="mlabels">
21375 <tr>
21376 <td class="mlabels-left">
21377 <table class="memname">
21378 <tr>
21379 <td class="memname">std::string arm_compute::to_string </td>
21380 <td>(</td>
21381 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;&#160;</td>
21382 <td class="paramname"><em>gpu_target</em></td><td>)</td>
21383 <td></td>
21384 </tr>
21385 </table>
21386 </td>
21387 <td class="mlabels-right">
21388<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21389 </tr>
21390</table>
21391</div><div class="memdoc">
21392
Jenkinsb3a371b2018-05-23 11:36:53 +010021393<p>Formatted output of the GPUTarget type. </p>
21394<dl class="params"><dt>Parameters</dt><dd>
21395 <table class="params">
21396 <tr><td class="paramdir">[in]</td><td class="paramname">gpu_target</td><td>Type to output</td></tr>
21397 </table>
21398 </dd>
21399</dl>
21400<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000021401
Jenkinsb9abeae2018-11-22 11:58:08 +000021402<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01706">1706</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21403<div class="fragment"><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;{</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; std::stringstream str;</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; str &lt;&lt; gpu_target;</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010021404</div>
21405</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021406<a id="a905d7ec8787e8c4b7e88b0a2faaccd1f"></a>
21407<h2 class="memtitle"><span class="permalink"><a href="#a905d7ec8787e8c4b7e88b0a2faaccd1f">&#9670;&nbsp;</a></span>to_string() <span class="overload">[46/51]</span></h2>
21408
Jenkinsb3a371b2018-05-23 11:36:53 +010021409<div class="memitem">
21410<div class="memproto">
21411<table class="mlabels">
21412 <tr>
21413 <td class="mlabels-left">
21414 <table class="memname">
21415 <tr>
21416 <td class="memname">std::string arm_compute::to_string </td>
21417 <td>(</td>
21418 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;&#160;</td>
21419 <td class="paramname"><em>detection_window</em></td><td>)</td>
21420 <td></td>
21421 </tr>
21422 </table>
21423 </td>
21424 <td class="mlabels-right">
21425<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21426 </tr>
21427</table>
21428</div><div class="memdoc">
21429
21430<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>
21431<dl class="params"><dt>Parameters</dt><dd>
21432 <table class="params">
21433 <tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
21434 </table>
21435 </dd>
21436</dl>
21437<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
21438
Jenkinsb9abeae2018-11-22 11:58:08 +000021439<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01738">1738</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21440<div class="fragment"><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;{</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; std::stringstream str;</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; str &lt;&lt; detection_window;</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010021441</div>
21442</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021443<a id="a51fc944d872cf00c1e8e71ccdf8be264"></a>
21444<h2 class="memtitle"><span class="permalink"><a href="#a51fc944d872cf00c1e8e71ccdf8be264">&#9670;&nbsp;</a></span>to_string() <span class="overload">[47/51]</span></h2>
21445
Jenkinsb3a371b2018-05-23 11:36:53 +010021446<div class="memitem">
21447<div class="memproto">
21448<table class="mlabels">
21449 <tr>
21450 <td class="mlabels-left">
21451 <table class="memname">
21452 <tr>
21453 <td class="memname">std::string arm_compute::to_string </td>
21454 <td>(</td>
21455 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;&#160;</td>
21456 <td class="paramname"><em>termination</em></td><td>)</td>
21457 <td></td>
21458 </tr>
21459 </table>
21460 </td>
21461 <td class="mlabels-right">
21462<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21463 </tr>
21464</table>
21465</div><div class="memdoc">
21466
21467<p>Formatted output of the Termination type. </p>
21468<dl class="params"><dt>Parameters</dt><dd>
21469 <table class="params">
21470 <tr><td class="paramdir">[in]</td><td class="paramname">termination</td><td>Type to output</td></tr>
21471 </table>
21472 </dd>
21473</dl>
21474<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
21475
Jenkinsb9abeae2018-11-22 11:58:08 +000021476<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01778">1778</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21477<div class="fragment"><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;{</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; std::stringstream str;</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; str &lt;&lt; termination;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000021478</div>
21479</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021480<a id="add33a9d992aeaa69d6940fd896ee5e75"></a>
21481<h2 class="memtitle"><span class="permalink"><a href="#add33a9d992aeaa69d6940fd896ee5e75">&#9670;&nbsp;</a></span>to_string() <span class="overload">[48/51]</span></h2>
21482
Jenkins52ba29e2018-08-29 15:32:11 +000021483<div class="memitem">
21484<div class="memproto">
21485<table class="mlabels">
21486 <tr>
21487 <td class="mlabels-left">
21488 <table class="memname">
21489 <tr>
21490 <td class="memname">std::string arm_compute::to_string </td>
21491 <td>(</td>
21492 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;&#160;</td>
21493 <td class="paramname"><em>cpu_model</em></td><td>)</td>
21494 <td></td>
21495 </tr>
21496 </table>
21497 </td>
21498 <td class="mlabels-right">
21499<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21500 </tr>
21501</table>
21502</div><div class="memdoc">
21503
21504<p>Formatted output of the CPUModel type. </p>
21505<dl class="params"><dt>Parameters</dt><dd>
21506 <table class="params">
21507 <tr><td class="paramdir">[in]</td><td class="paramname">cpu_model</td><td>Model to output</td></tr>
21508 </table>
21509 </dd>
21510</dl>
21511<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
21512
Jenkinsb9abeae2018-11-22 11:58:08 +000021513<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01827">1827</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21514<div class="fragment"><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;{</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; std::stringstream str;</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160; str &lt;&lt; cpu_model;</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000021515</div>
21516</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021517<a id="a6411da4e87e64e8859f8b725645ee9aa"></a>
21518<h2 class="memtitle"><span class="permalink"><a href="#a6411da4e87e64e8859f8b725645ee9aa">&#9670;&nbsp;</a></span>to_string() <span class="overload">[49/51]</span></h2>
21519
Jenkins52ba29e2018-08-29 15:32:11 +000021520<div class="memitem">
21521<div class="memproto">
21522 <table class="memname">
21523 <tr>
21524 <td class="memname">std::string arm_compute::to_string </td>
21525 <td>(</td>
21526 <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
21527 <td class="paramname"><em>args</em></td><td>)</td>
21528 <td></td>
21529 </tr>
21530 </table>
21531</div><div class="memdoc">
21532
21533<p>Formatted output of a vector of objects. </p>
21534<dl class="params"><dt>Parameters</dt><dd>
21535 <table class="params">
21536 <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>
21537 </table>
21538 </dd>
21539</dl>
21540<dl class="section return"><dt>Returns</dt><dd>String representing args. </dd></dl>
21541
Jenkinsb9abeae2018-11-22 11:58:08 +000021542<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01891">1891</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21543<div class="fragment"><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;{</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; std::stringstream str;</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; str &lt;&lt; args;</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010021544</div>
21545</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021546<a id="a37cc282b0852aab04b13a6e6566adda7"></a>
21547<h2 class="memtitle"><span class="permalink"><a href="#a37cc282b0852aab04b13a6e6566adda7">&#9670;&nbsp;</a></span>to_string() <span class="overload">[50/51]</span></h2>
21548
Jenkinsb3a371b2018-05-23 11:36:53 +010021549<div class="memitem">
21550<div class="memproto">
21551<table class="mlabels">
21552 <tr>
21553 <td class="mlabels-left">
21554 <table class="memname">
21555 <tr>
21556 <td class="memname">std::string arm_compute::to_string </td>
21557 <td>(</td>
21558 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;&#160;</td>
21559 <td class="paramname"><em>type</em></td><td>)</td>
21560 <td></td>
21561 </tr>
21562 </table>
21563 </td>
21564 <td class="mlabels-right">
21565<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21566 </tr>
21567</table>
21568</div><div class="memdoc">
21569
Jenkinsb9abeae2018-11-22 11:58:08 +000021570<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01909">1909</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
21571<div class="fragment"><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;{</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160; std::stringstream str;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;}</div></div><!-- fragment -->
Jenkins52ba29e2018-08-29 15:32:11 +000021572</div>
21573</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021574<a id="a1d8c24abe3cf6edd704d126d1d2a5420"></a>
21575<h2 class="memtitle"><span class="permalink"><a href="#a1d8c24abe3cf6edd704d126d1d2a5420">&#9670;&nbsp;</a></span>to_string() <span class="overload">[51/51]</span></h2>
21576
Jenkins52ba29e2018-08-29 15:32:11 +000021577<div class="memitem">
21578<div class="memproto">
21579<table class="mlabels">
21580 <tr>
21581 <td class="mlabels-left">
21582 <table class="memname">
21583 <tr>
21584 <td class="memname">std::string arm_compute::to_string </td>
21585 <td>(</td>
21586 <td class="paramtype">const T &amp;&#160;</td>
21587 <td class="paramname"><em>val</em></td><td>)</td>
21588 <td></td>
21589 </tr>
21590 </table>
21591 </td>
21592 <td class="mlabels-right">
21593<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21594 </tr>
21595</table>
21596</div><div class="memdoc">
21597
21598<p>Fallback method: try to use std::to_string: </p>
21599<dl class="params"><dt>Parameters</dt><dd>
21600 <table class="params">
21601 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to convert to string</td></tr>
21602 </table>
21603 </dd>
21604</dl>
21605<dl class="section return"><dt>Returns</dt><dd>String representing val. </dd></dl>
21606
Jenkinsb9abeae2018-11-22 11:58:08 +000021607<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01923">1923</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000021608
Jenkinsb9abeae2018-11-22 11:58:08 +000021609<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00210">arm_compute::support::cpp11::to_string()</a>.</p>
21610<div class="fragment"><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;{</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</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="l01926"></a><span class="lineno"> 1926</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#l01923">TypePrinter.h:1923</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000021611</div><!-- fragment -->
21612</div>
21613</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021614<a id="ad023d4ca1d3facf3975c941fd728a6f4"></a>
21615<h2 class="memtitle"><span class="permalink"><a href="#ad023d4ca1d3facf3975c941fd728a6f4">&#9670;&nbsp;</a></span>to_string_if_not_null()</h2>
21616
Jenkins52ba29e2018-08-29 15:32:11 +000021617<div class="memitem">
21618<div class="memproto">
21619 <table class="memname">
21620 <tr>
21621 <td class="memname">std::string arm_compute::to_string_if_not_null </td>
21622 <td>(</td>
21623 <td class="paramtype">T *&#160;</td>
21624 <td class="paramname"><em>arg</em></td><td>)</td>
21625 <td></td>
21626 </tr>
21627 </table>
21628</div><div class="memdoc">
21629
21630<p>Formatted output if arg is not null. </p>
21631<dl class="params"><dt>Parameters</dt><dd>
21632 <table class="params">
21633 <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Object to print</td></tr>
21634 </table>
21635 </dd>
21636</dl>
21637<dl class="section return"><dt>Returns</dt><dd>String representing arg. </dd></dl>
21638
Jenkinsb9abeae2018-11-22 11:58:08 +000021639<p class="definition">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>
Jenkins52ba29e2018-08-29 15:32:11 +000021640
Jenkinsb9abeae2018-11-22 11:58:08 +000021641<p class="reference">References <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">to_string()</a>.</p>
21642<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#l01923">TypePrinter.h:1923</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000021643</div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000021644</div>
21645</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021646<a id="afc4bd8e872567d9c4c57d89eb0bb3da1"></a>
21647<h2 class="memtitle"><span class="permalink"><a href="#afc4bd8e872567d9c4c57d89eb0bb3da1">&#9670;&nbsp;</a></span>update_window_and_padding()</h2>
21648
Anthony Barbier871448e2017-03-24 14:54:29 +000021649<div class="memitem">
21650<div class="memproto">
21651 <table class="memname">
21652 <tr>
21653 <td class="memname">bool arm_compute::update_window_and_padding </td>
21654 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021655 <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 +000021656 <td class="paramname"><em>win</em>, </td>
21657 </tr>
21658 <tr>
21659 <td class="paramkey"></td>
21660 <td></td>
21661 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
21662 <td class="paramname"><em>patterns</em>&#160;</td>
21663 </tr>
21664 <tr>
21665 <td></td>
21666 <td>)</td>
21667 <td></td><td></td>
21668 </tr>
21669 </table>
21670</div><div class="memdoc">
21671
21672<p>Update window and padding size for each of the access patterns. </p>
21673<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>
21674<dl class="params"><dt>Parameters</dt><dd>
21675 <table class="params">
21676 <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>
21677 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
21678 </table>
21679 </dd>
21680</dl>
21681<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>
21682
Jenkinsb9abeae2018-11-22 11:58:08 +000021683<p class="definition">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 +000021684
Jenkinsb9abeae2018-11-22 11:58:08 +000021685<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">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>
21686
21687<p class="reference">Referenced by <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00039">CLL2NormalizeLayerKernel::CLL2NormalizeLayerKernel()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00044">CLLocallyConnectedMatrixMultiplyKernel::CLLocallyConnectedMatrixMultiplyKernel()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00048">NEDilateKernel::configure()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00048">NEErodeKernel::configure()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00041">NEGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00050">NEGaussian5x5HorKernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00053">NEGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00361">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel&lt; mag_type, phase_type &gt;::configure()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00039">NEFillArrayKernel::configure()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00462">NENonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00045">NEROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00090">NEScharr3x3Kernel::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00118">NEGaussian5x5VertKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00149">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel&lt; block_size &gt;::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00161">NEGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00217">NESobel5x5VertKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00307">NESobel7x7VertKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00714">NEHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel&lt; matrix_size &gt;::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010021688<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 +010021689</div><!-- fragment -->
21690</div>
21691</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000021692<a id="abe949a509da417044624d62a73057441"></a>
21693<h2 class="memtitle"><span class="permalink"><a href="#abe949a509da417044624d62a73057441">&#9670;&nbsp;</a></span>vadd() <span class="overload">[1/3]</span></h2>
21694
21695<div class="memitem">
21696<div class="memproto">
21697<table class="mlabels">
21698 <tr>
21699 <td class="mlabels-left">
21700 <table class="memname">
21701 <tr>
21702 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; arm_compute::vadd </td>
21703 <td>(</td>
21704 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td>
21705 <td class="paramname"><em>a</em>, </td>
21706 </tr>
21707 <tr>
21708 <td class="paramkey"></td>
21709 <td></td>
21710 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td>
21711 <td class="paramname"><em>b</em>&#160;</td>
21712 </tr>
21713 <tr>
21714 <td></td>
21715 <td>)</td>
21716 <td></td><td></td>
21717 </tr>
21718 </table>
21719 </td>
21720 <td class="mlabels-right">
21721<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21722 </tr>
21723</table>
21724</div><div class="memdoc">
21725
21726<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21727
21728<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
21729<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
21730</div>
21731</div>
21732<a id="ab11431f1a64a618e5ed1d37634d0e0fe"></a>
21733<h2 class="memtitle"><span class="permalink"><a href="#ab11431f1a64a618e5ed1d37634d0e0fe">&#9670;&nbsp;</a></span>vadd() <span class="overload">[2/3]</span></h2>
21734
21735<div class="memitem">
21736<div class="memproto">
21737<table class="mlabels">
21738 <tr>
21739 <td class="mlabels-left">
21740 <table class="memname">
21741 <tr>
21742 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; arm_compute::vadd </td>
21743 <td>(</td>
21744 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
21745 <td class="paramname"><em>a</em>, </td>
21746 </tr>
21747 <tr>
21748 <td class="paramkey"></td>
21749 <td></td>
21750 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
21751 <td class="paramname"><em>b</em>&#160;</td>
21752 </tr>
21753 <tr>
21754 <td></td>
21755 <td>)</td>
21756 <td></td><td></td>
21757 </tr>
21758 </table>
21759 </td>
21760 <td class="mlabels-right">
21761<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21762 </tr>
21763</table>
21764</div><div class="memdoc">
21765
21766<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21767<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
21768</div>
21769</div>
21770<a id="a4cc9ed76f48e918e73249c894380f91b"></a>
21771<h2 class="memtitle"><span class="permalink"><a href="#a4cc9ed76f48e918e73249c894380f91b">&#9670;&nbsp;</a></span>vadd() <span class="overload">[3/3]</span></h2>
21772
21773<div class="memitem">
21774<div class="memproto">
21775 <table class="memname">
21776 <tr>
21777 <td class="memname">float32x4x4_t arm_compute::vadd </td>
21778 <td>(</td>
21779 <td class="paramtype">float32x4x4_t&#160;</td>
21780 <td class="paramname"><em>a</em>, </td>
21781 </tr>
21782 <tr>
21783 <td class="paramkey"></td>
21784 <td></td>
21785 <td class="paramtype">float32x4x4_t&#160;</td>
21786 <td class="paramname"><em>b</em>&#160;</td>
21787 </tr>
21788 <tr>
21789 <td></td>
21790 <td>)</td>
21791 <td></td><td></td>
21792 </tr>
21793 </table>
21794</div><div class="memdoc">
21795
21796<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">324</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21797
21798<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="_error_8h_source.xhtml#l00167">ARM_COMPUTE_CREATE_ERROR</a>, <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00071">ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED</a>, <a class="el" href="_validate_8h_source.xhtml#l00791">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a>, <a class="el" href="_validate_8h_source.xhtml#l00545">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES</a>, <a class="el" href="_validate_8h_source.xhtml#l00288">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DIMENSIONS</a>, <a class="el" href="_validate_8h_source.xhtml#l00610">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_QUANTIZATION_INFO</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00108">data_size_from_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</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="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</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#l00266">arm_compute::test::validation::out</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::output_shape</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9586081a29fceb532ab270bd843abee6">ITensorInfo::set_valid_region()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a18064e0011c3869d884653e9e7c47b66">ITensorInfo::total_size()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">update_window_and_padding()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">vec_size_of()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_high()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_low()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vmax()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vpmax()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>.</p>
21799<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; float32x4x4_t res = { {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; vaddq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[0]),</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; vaddq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[1]),</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; vaddq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[2]),</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; vaddq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[3])</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; }</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; };</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> res;</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_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>
21800<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>
21801</div><!-- fragment -->
21802</div>
21803</div>
21804<a id="a6cb464349a8f184ffb8eded9ae9e5925"></a>
21805<h2 class="memtitle"><span class="permalink"><a href="#a6cb464349a8f184ffb8eded9ae9e5925">&#9670;&nbsp;</a></span>vcvt()</h2>
21806
21807<div class="memitem">
21808<div class="memproto">
21809 <table class="memname">
21810 <tr>
21811 <td class="memname">VO arm_compute::vcvt </td>
21812 <td>(</td>
21813 <td class="paramtype">VI&#160;</td>
21814 <td class="paramname"><em>vec</em></td><td>)</td>
21815 <td></td>
21816 </tr>
21817 </table>
21818</div><div class="memdoc">
21819
21820</div>
21821</div>
21822<a id="a146b84422a0eaf6c66ba8156425b5bdf"></a>
21823<h2 class="memtitle"><span class="permalink"><a href="#a146b84422a0eaf6c66ba8156425b5bdf">&#9670;&nbsp;</a></span>vcvt< float32x4x4_t >()</h2>
21824
21825<div class="memitem">
21826<div class="memproto">
21827 <table class="memname">
21828 <tr>
21829 <td class="memname">float32x4x4_t <a class="el" href="namespacearm__compute.xhtml#a6cb464349a8f184ffb8eded9ae9e5925">arm_compute::vcvt</a>&lt; float32x4x4_t &gt; </td>
21830 <td>(</td>
21831 <td class="paramtype">uint8x16_t&#160;</td>
21832 <td class="paramname"><em>vec</em></td><td>)</td>
21833 <td></td>
21834 </tr>
21835 </table>
21836</div><div class="memdoc">
21837
21838<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">238</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21839
21840<p class="reference">References <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_high()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_low()</a>.</p>
21841
21842<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
21843<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> low = vmovl_u8(<a class="code" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a>(vec));</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> high = vmovl_u8(<a class="code" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a>(vec));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; float32x4x4_t res = { {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a>(low))),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a>(low))),</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a>(high))),</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a>(high)))</div><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; };</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_abc735b1b07e30e093dd39507606a1e35"><div class="ttname"><a href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">arm_compute::vget_high</a></div><div class="ttdeci">vec_8_byte_t&lt; float &gt; vget_high(vec_16_byte_t&lt; float &gt; vec)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">NESoftmaxLayerKernel.cpp:227</a></div></div>
21844<div class="ttc" id="namespacearm__compute_xhtml_ae83ce5db69a7a14f5c0ee9d9326e1a40"><div class="ttname"><a href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">arm_compute::vget_low</a></div><div class="ttdeci">vec_8_byte_t&lt; float &gt; vget_low(vec_16_byte_t&lt; float &gt; vec)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">NESoftmaxLayerKernel.cpp:227</a></div></div>
21845</div><!-- fragment -->
21846</div>
21847</div>
21848<a id="ab6bc00d6c4503a0bc303dd363e021476"></a>
21849<h2 class="memtitle"><span class="permalink"><a href="#ab6bc00d6c4503a0bc303dd363e021476">&#9670;&nbsp;</a></span>vcvt< uint8x16_t >()</h2>
21850
21851<div class="memitem">
21852<div class="memproto">
21853 <table class="memname">
21854 <tr>
21855 <td class="memname">uint8x16_t <a class="el" href="namespacearm__compute.xhtml#a6cb464349a8f184ffb8eded9ae9e5925">arm_compute::vcvt</a>&lt; uint8x16_t &gt; </td>
21856 <td>(</td>
21857 <td class="paramtype">float32x4x4_t&#160;</td>
21858 <td class="paramname"><em>vec</em></td><td>)</td>
21859 <td></td>
21860 </tr>
21861 </table>
21862</div><div class="memdoc">
21863
21864<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00253">253</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21865<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;{</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; uint16x8x2_t resU16 = { {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; vcombine_u16(vqmovn_u32(vcvtq_u32_f32(vec.val[0])),</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; vqmovn_u32(vcvtq_u32_f32(vec.val[1]))),</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; vcombine_u16(vqmovn_u32(vcvtq_u32_f32(vec.val[2])),</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; vqmovn_u32(vcvtq_u32_f32(vec.val[3])))</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; };</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; uint8x16_t res = vcombine_u8(vqmovn_u16(resU16.val[0]), vqmovn_u16(resU16.val[1]));</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div></div><!-- fragment -->
21866</div>
21867</div>
21868<a id="a2603e5f72e3fa052025c189c1a6647ce"></a>
21869<h2 class="memtitle"><span class="permalink"><a href="#a2603e5f72e3fa052025c189c1a6647ce">&#9670;&nbsp;</a></span>vdup_n()</h2>
21870
21871<div class="memitem">
21872<div class="memproto">
21873 <table class="memname">
21874 <tr>
21875 <td class="memname">V arm_compute::vdup_n </td>
21876 <td>(</td>
21877 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a534a101b6176c3e065eba4b4cde7a40e">elem_type_t</a>&lt; V &gt;&#160;</td>
21878 <td class="paramname"><em>val</em></td><td>)</td>
21879 <td></td>
21880 </tr>
21881 </table>
21882</div><div class="memdoc">
21883
21884<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">vec_size_of()</a>.</p>
21885
21886</div>
21887</div>
21888<a id="aeabe5dd1c5751f380322a841d7ad8d7a"></a>
21889<h2 class="memtitle"><span class="permalink"><a href="#aeabe5dd1c5751f380322a841d7ad8d7a">&#9670;&nbsp;</a></span>vdup_n< float32x4x4_t >()</h2>
21890
21891<div class="memitem">
21892<div class="memproto">
21893 <table class="memname">
21894 <tr>
21895 <td class="memname">float32x4x4_t <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; float32x4x4_t &gt; </td>
21896 <td>(</td>
21897 <td class="paramtype">float&#160;</td>
21898 <td class="paramname"><em>val</em></td><td>)</td>
21899 <td></td>
21900 </tr>
21901 </table>
21902</div><div class="memdoc">
21903
21904<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00300">300</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21905
21906<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
21907<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;{</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; float32x4x4_t res = { {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; vdupq_n_f32(val),</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; vdupq_n_f32(val),</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; vdupq_n_f32(val),</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; vdupq_n_f32(val)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; };</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;}</div></div><!-- fragment -->
21908</div>
21909</div>
21910<a id="ace69f5de3783f9cd924dac392710facf"></a>
21911<h2 class="memtitle"><span class="permalink"><a href="#ace69f5de3783f9cd924dac392710facf">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< float > >()</h2>
21912
21913<div class="memitem">
21914<div class="memproto">
21915<table class="mlabels">
21916 <tr>
21917 <td class="mlabels-left">
21918 <table class="memname">
21919 <tr>
21920 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; &gt; </td>
21921 <td>(</td>
21922 <td class="paramtype">float&#160;</td>
21923 <td class="paramname"><em>val</em></td><td>)</td>
21924 <td></td>
21925 </tr>
21926 </table>
21927 </td>
21928 <td class="mlabels-right">
21929<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21930 </tr>
21931</table>
21932</div><div class="memdoc">
21933
21934<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21935<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
21936</div>
21937</div>
21938<a id="aa6ec87dc4f97241833eace4b1784cc50"></a>
21939<h2 class="memtitle"><span class="permalink"><a href="#aa6ec87dc4f97241833eace4b1784cc50">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< int16_t > >()</h2>
21940
21941<div class="memitem">
21942<div class="memproto">
21943<table class="mlabels">
21944 <tr>
21945 <td class="mlabels-left">
21946 <table class="memname">
21947 <tr>
21948 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; &gt; </td>
21949 <td>(</td>
21950 <td class="paramtype">int16_t&#160;</td>
21951 <td class="paramname"><em>val</em></td><td>)</td>
21952 <td></td>
21953 </tr>
21954 </table>
21955 </td>
21956 <td class="mlabels-right">
21957<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21958 </tr>
21959</table>
21960</div><div class="memdoc">
21961
21962<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21963<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
21964</div>
21965</div>
21966<a id="a434a14d651e75e624bfed91646a9582e"></a>
21967<h2 class="memtitle"><span class="permalink"><a href="#a434a14d651e75e624bfed91646a9582e">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< int32_t > >()</h2>
21968
21969<div class="memitem">
21970<div class="memproto">
21971<table class="mlabels">
21972 <tr>
21973 <td class="mlabels-left">
21974 <table class="memname">
21975 <tr>
21976 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; &gt; </td>
21977 <td>(</td>
21978 <td class="paramtype">int32_t&#160;</td>
21979 <td class="paramname"><em>val</em></td><td>)</td>
21980 <td></td>
21981 </tr>
21982 </table>
21983 </td>
21984 <td class="mlabels-right">
21985<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21986 </tr>
21987</table>
21988</div><div class="memdoc">
21989
21990<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
21991<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
21992</div>
21993</div>
21994<a id="a3c5a58b994f82b7eb24e85803fdd08c1"></a>
21995<h2 class="memtitle"><span class="permalink"><a href="#a3c5a58b994f82b7eb24e85803fdd08c1">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< int8_t > >()</h2>
21996
21997<div class="memitem">
21998<div class="memproto">
21999<table class="mlabels">
22000 <tr>
22001 <td class="mlabels-left">
22002 <table class="memname">
22003 <tr>
22004 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; &gt; </td>
22005 <td>(</td>
22006 <td class="paramtype">int8_t&#160;</td>
22007 <td class="paramname"><em>val</em></td><td>)</td>
22008 <td></td>
22009 </tr>
22010 </table>
22011 </td>
22012 <td class="mlabels-right">
22013<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22014 </tr>
22015</table>
22016</div><div class="memdoc">
22017
22018<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22019<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22020</div>
22021</div>
22022<a id="a93020987fbede1b8da7db6a1a855ddd4"></a>
22023<h2 class="memtitle"><span class="permalink"><a href="#a93020987fbede1b8da7db6a1a855ddd4">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< uint16_t > >()</h2>
22024
22025<div class="memitem">
22026<div class="memproto">
22027<table class="mlabels">
22028 <tr>
22029 <td class="mlabels-left">
22030 <table class="memname">
22031 <tr>
22032 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; &gt; </td>
22033 <td>(</td>
22034 <td class="paramtype">uint16_t&#160;</td>
22035 <td class="paramname"><em>val</em></td><td>)</td>
22036 <td></td>
22037 </tr>
22038 </table>
22039 </td>
22040 <td class="mlabels-right">
22041<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22042 </tr>
22043</table>
22044</div><div class="memdoc">
22045
22046<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22047<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22048</div>
22049</div>
22050<a id="aacce75282b76aeb1eda5375b6dcef231"></a>
22051<h2 class="memtitle"><span class="permalink"><a href="#aacce75282b76aeb1eda5375b6dcef231">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< uint32_t > >()</h2>
22052
22053<div class="memitem">
22054<div class="memproto">
22055<table class="mlabels">
22056 <tr>
22057 <td class="mlabels-left">
22058 <table class="memname">
22059 <tr>
22060 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; &gt; </td>
22061 <td>(</td>
22062 <td class="paramtype">uint32_t&#160;</td>
22063 <td class="paramname"><em>val</em></td><td>)</td>
22064 <td></td>
22065 </tr>
22066 </table>
22067 </td>
22068 <td class="mlabels-right">
22069<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22070 </tr>
22071</table>
22072</div><div class="memdoc">
22073
22074<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22075<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22076</div>
22077</div>
22078<a id="a84aacbb969d72f3b89aa93cc87af9bdf"></a>
22079<h2 class="memtitle"><span class="permalink"><a href="#a84aacbb969d72f3b89aa93cc87af9bdf">&#9670;&nbsp;</a></span>vdup_n< vec_16_byte_t< uint8_t > >()</h2>
22080
22081<div class="memitem">
22082<div class="memproto">
22083<table class="mlabels">
22084 <tr>
22085 <td class="mlabels-left">
22086 <table class="memname">
22087 <tr>
22088 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; &gt; </td>
22089 <td>(</td>
22090 <td class="paramtype">uint8_t&#160;</td>
22091 <td class="paramname"><em>val</em></td><td>)</td>
22092 <td></td>
22093 </tr>
22094 </table>
22095 </td>
22096 <td class="mlabels-right">
22097<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22098 </tr>
22099</table>
22100</div><div class="memdoc">
22101
22102<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22103<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22104</div>
22105</div>
22106<a id="ae23d199254b002d668fde87246f2f6f7"></a>
22107<h2 class="memtitle"><span class="permalink"><a href="#ae23d199254b002d668fde87246f2f6f7">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< float > >()</h2>
22108
22109<div class="memitem">
22110<div class="memproto">
22111<table class="mlabels">
22112 <tr>
22113 <td class="mlabels-left">
22114 <table class="memname">
22115 <tr>
22116 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; &gt; </td>
22117 <td>(</td>
22118 <td class="paramtype">float&#160;</td>
22119 <td class="paramname"><em>val</em></td><td>)</td>
22120 <td></td>
22121 </tr>
22122 </table>
22123 </td>
22124 <td class="mlabels-right">
22125<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22126 </tr>
22127</table>
22128</div><div class="memdoc">
22129
22130<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22131<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22132</div>
22133</div>
22134<a id="a10a9088cc35ece085610063eec583ad1"></a>
22135<h2 class="memtitle"><span class="permalink"><a href="#a10a9088cc35ece085610063eec583ad1">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< int16_t > >()</h2>
22136
22137<div class="memitem">
22138<div class="memproto">
22139<table class="mlabels">
22140 <tr>
22141 <td class="mlabels-left">
22142 <table class="memname">
22143 <tr>
22144 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; &gt; </td>
22145 <td>(</td>
22146 <td class="paramtype">int16_t&#160;</td>
22147 <td class="paramname"><em>val</em></td><td>)</td>
22148 <td></td>
22149 </tr>
22150 </table>
22151 </td>
22152 <td class="mlabels-right">
22153<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22154 </tr>
22155</table>
22156</div><div class="memdoc">
22157
22158<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22159<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22160</div>
22161</div>
22162<a id="aee16a2b366642146ef353e0939a71b83"></a>
22163<h2 class="memtitle"><span class="permalink"><a href="#aee16a2b366642146ef353e0939a71b83">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< int32_t > >()</h2>
22164
22165<div class="memitem">
22166<div class="memproto">
22167<table class="mlabels">
22168 <tr>
22169 <td class="mlabels-left">
22170 <table class="memname">
22171 <tr>
22172 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; &gt; </td>
22173 <td>(</td>
22174 <td class="paramtype">int32_t&#160;</td>
22175 <td class="paramname"><em>val</em></td><td>)</td>
22176 <td></td>
22177 </tr>
22178 </table>
22179 </td>
22180 <td class="mlabels-right">
22181<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22182 </tr>
22183</table>
22184</div><div class="memdoc">
22185
22186<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22187<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22188</div>
22189</div>
22190<a id="afbcedeccc32a67996ea90a0a97c94269"></a>
22191<h2 class="memtitle"><span class="permalink"><a href="#afbcedeccc32a67996ea90a0a97c94269">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< int8_t > >()</h2>
22192
22193<div class="memitem">
22194<div class="memproto">
22195<table class="mlabels">
22196 <tr>
22197 <td class="mlabels-left">
22198 <table class="memname">
22199 <tr>
22200 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; &gt; </td>
22201 <td>(</td>
22202 <td class="paramtype">int8_t&#160;</td>
22203 <td class="paramname"><em>val</em></td><td>)</td>
22204 <td></td>
22205 </tr>
22206 </table>
22207 </td>
22208 <td class="mlabels-right">
22209<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22210 </tr>
22211</table>
22212</div><div class="memdoc">
22213
22214<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22215<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22216</div>
22217</div>
22218<a id="aca706ca8cd2fec97cf6b3ab747c40dc6"></a>
22219<h2 class="memtitle"><span class="permalink"><a href="#aca706ca8cd2fec97cf6b3ab747c40dc6">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< uint16_t > >()</h2>
22220
22221<div class="memitem">
22222<div class="memproto">
22223<table class="mlabels">
22224 <tr>
22225 <td class="mlabels-left">
22226 <table class="memname">
22227 <tr>
22228 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; &gt; </td>
22229 <td>(</td>
22230 <td class="paramtype">uint16_t&#160;</td>
22231 <td class="paramname"><em>val</em></td><td>)</td>
22232 <td></td>
22233 </tr>
22234 </table>
22235 </td>
22236 <td class="mlabels-right">
22237<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22238 </tr>
22239</table>
22240</div><div class="memdoc">
22241
22242<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22243<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22244</div>
22245</div>
22246<a id="af8c50d8dac4fe454183078d34515b50a"></a>
22247<h2 class="memtitle"><span class="permalink"><a href="#af8c50d8dac4fe454183078d34515b50a">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< uint32_t > >()</h2>
22248
22249<div class="memitem">
22250<div class="memproto">
22251<table class="mlabels">
22252 <tr>
22253 <td class="mlabels-left">
22254 <table class="memname">
22255 <tr>
22256 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; &gt; </td>
22257 <td>(</td>
22258 <td class="paramtype">uint32_t&#160;</td>
22259 <td class="paramname"><em>val</em></td><td>)</td>
22260 <td></td>
22261 </tr>
22262 </table>
22263 </td>
22264 <td class="mlabels-right">
22265<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22266 </tr>
22267</table>
22268</div><div class="memdoc">
22269
22270<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22271<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22272</div>
22273</div>
22274<a id="a194e168c19bf049bd3e903552f112d5c"></a>
22275<h2 class="memtitle"><span class="permalink"><a href="#a194e168c19bf049bd3e903552f112d5c">&#9670;&nbsp;</a></span>vdup_n< vec_8_byte_t< uint8_t > >()</h2>
22276
22277<div class="memitem">
22278<div class="memproto">
22279<table class="mlabels">
22280 <tr>
22281 <td class="mlabels-left">
22282 <table class="memname">
22283 <tr>
22284 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">arm_compute::vdup_n</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; &gt; </td>
22285 <td>(</td>
22286 <td class="paramtype">uint8_t&#160;</td>
22287 <td class="paramname"><em>val</em></td><td>)</td>
22288 <td></td>
22289 </tr>
22290 </table>
22291 </td>
22292 <td class="mlabels-right">
22293<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22294 </tr>
22295</table>
22296</div><div class="memdoc">
22297
22298<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22299<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22300</div>
22301</div>
22302<a id="af4b13d125dfe1bec25b8df8840c6dd8f"></a>
22303<h2 class="memtitle"><span class="permalink"><a href="#af4b13d125dfe1bec25b8df8840c6dd8f">&#9670;&nbsp;</a></span>vec_size_of()</h2>
22304
22305<div class="memitem">
22306<div class="memproto">
22307 <table class="memname">
22308 <tr>
22309 <td class="memname">constexpr size_t arm_compute::vec_size_of </td>
22310 <td>(</td>
22311 <td class="paramtype">const V &amp;&#160;</td>
22312 <td class="paramname"><em>vec</em></td><td>)</td>
22313 <td></td>
22314 </tr>
22315 </table>
22316</div><div class="memdoc">
22317
22318<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">123</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22319
22320<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">vdup_n()</a>, and <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">vld()</a>.</p>
22321
22322<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
22323<div class="fragment"><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> <span class="keyword">sizeof</span>(vec) / <span class="keyword">sizeof</span>(elem_type_t&lt;V&gt;);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div></div><!-- fragment -->
22324</div>
22325</div>
22326<a id="a91d2c1f68de68401d1aa465e27f78ab0"></a>
22327<h2 class="memtitle"><span class="permalink"><a href="#a91d2c1f68de68401d1aa465e27f78ab0">&#9670;&nbsp;</a></span>vexp() <span class="overload">[1/2]</span></h2>
22328
22329<div class="memitem">
22330<div class="memproto">
22331 <table class="memname">
22332 <tr>
22333 <td class="memname">float32x4x4_t arm_compute::vexp </td>
22334 <td>(</td>
22335 <td class="paramtype">float32x4x4_t&#160;</td>
22336 <td class="paramname"><em>vec</em></td><td>)</td>
22337 <td></td>
22338 </tr>
22339 </table>
22340</div><div class="memdoc">
22341
22342<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00267">267</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22343
22344<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32()</a>.</p>
22345
22346<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00279">vexp()</a>.</p>
22347<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; float32x4x4_t res = { {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[0]),</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[1]),</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[2]),</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[3])</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; };</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ab55486f1153a4c5f507d4923b59fc6a0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div></div>
22348</div><!-- fragment -->
22349</div>
22350</div>
22351<a id="adcb77ffd576a7addf3be8508e50451d2"></a>
22352<h2 class="memtitle"><span class="permalink"><a href="#adcb77ffd576a7addf3be8508e50451d2">&#9670;&nbsp;</a></span>vexp() <span class="overload">[2/2]</span></h2>
22353
22354<div class="memitem">
22355<div class="memproto">
22356 <table class="memname">
22357 <tr>
22358 <td class="memname">float32x4_t arm_compute::vexp </td>
22359 <td>(</td>
22360 <td class="paramtype">const float32x4_t &amp;&#160;</td>
22361 <td class="paramname"><em>vec</em></td><td>)</td>
22362 <td></td>
22363 </tr>
22364 </table>
22365</div><div class="memdoc">
22366
22367<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00279">279</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22368
22369<p class="reference">References <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00267">vexp()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32()</a>.</p>
22370<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ab55486f1153a4c5f507d4923b59fc6a0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div></div>
22371</div><!-- fragment -->
22372</div>
22373</div>
22374<a id="ab55486f1153a4c5f507d4923b59fc6a0"></a>
22375<h2 class="memtitle"><span class="permalink"><a href="#ab55486f1153a4c5f507d4923b59fc6a0">&#9670;&nbsp;</a></span>vexpq_f32()</h2>
22376
Anthony Barbierdbdab852017-06-23 15:42:00 +010022377<div class="memitem">
22378<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022379 <table class="memname">
22380 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022381 <td class="memname">float32x4_t arm_compute::vexpq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022382 <td>(</td>
22383 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000022384 <td class="paramname"><em>x</em></td><td>)</td>
22385 <td></td>
22386 </tr>
22387 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000022388</div><div class="memdoc">
22389
22390<p>Calculate exponential. </p>
22391<dl class="params"><dt>Parameters</dt><dd>
22392 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022393 <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 +000022394 </table>
22395 </dd>
22396</dl>
22397<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
22398
Jenkinsb9abeae2018-11-22 11:58:08 +000022399<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00267">vexp()</a>.</p>
22400
Kaizen8938bd32017-09-28 14:38:23 +010022401</div>
22402</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000022403<a id="af7a0f3e622aa4bc8c6077d2262a04e2e"></a>
22404<h2 class="memtitle"><span class="permalink"><a href="#af7a0f3e622aa4bc8c6077d2262a04e2e">&#9670;&nbsp;</a></span>vfloorq_f32()</h2>
22405
Kaizen8938bd32017-09-28 14:38:23 +010022406<div class="memitem">
22407<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022408 <table class="memname">
22409 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022410 <td class="memname">float32x4_t arm_compute::vfloorq_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022411 <td>(</td>
22412 <td class="paramtype">float32x4_t&#160;</td>
22413 <td class="paramname"><em>val</em></td><td>)</td>
22414 <td></td>
22415 </tr>
22416 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022417</div><div class="memdoc">
22418
22419<p>Calculate floor of a vector. </p>
22420<dl class="params"><dt>Parameters</dt><dd>
22421 <table class="params">
22422 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
22423 </table>
22424 </dd>
22425</dl>
22426<dl class="section return"><dt>Returns</dt><dd>The calculated floor vector. </dd></dl>
22427
Jenkinsb9abeae2018-11-22 11:58:08 +000022428<p class="reference">Referenced by <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00101">NEFloorKernel::run()</a>.</p>
22429
Kaizen8938bd32017-09-28 14:38:23 +010022430</div>
22431</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000022432<a id="af311129b4dccf2fbd9307a7d644876d1"></a>
22433<h2 class="memtitle"><span class="permalink"><a href="#af311129b4dccf2fbd9307a7d644876d1">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[1/7]</span></h2>
22434
22435<div class="memitem">
22436<div class="memproto">
22437<table class="mlabels">
22438 <tr>
22439 <td class="mlabels-left">
22440 <table class="memname">
22441 <tr>
22442 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; arm_compute::vget_high </td>
22443 <td>(</td>
22444 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td>
22445 <td class="paramname"><em>vec</em></td><td>)</td>
22446 <td></td>
22447 </tr>
22448 </table>
22449 </td>
22450 <td class="mlabels-right">
22451<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22452 </tr>
22453</table>
22454</div><div class="memdoc">
22455
22456<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22457
22458<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">vcvt&lt; float32x4x4_t &gt;()</a>.</p>
22459<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22460</div>
22461</div>
22462<a id="abfb64320f5b05fc08dffafc2b039e559"></a>
22463<h2 class="memtitle"><span class="permalink"><a href="#abfb64320f5b05fc08dffafc2b039e559">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[2/7]</span></h2>
22464
22465<div class="memitem">
22466<div class="memproto">
22467<table class="mlabels">
22468 <tr>
22469 <td class="mlabels-left">
22470 <table class="memname">
22471 <tr>
22472 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; arm_compute::vget_high </td>
22473 <td>(</td>
22474 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td>
22475 <td class="paramname"><em>vec</em></td><td>)</td>
22476 <td></td>
22477 </tr>
22478 </table>
22479 </td>
22480 <td class="mlabels-right">
22481<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22482 </tr>
22483</table>
22484</div><div class="memdoc">
22485
22486<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22487<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22488</div>
22489</div>
22490<a id="aebe61fd1828294b9794b3c87174649b2"></a>
22491<h2 class="memtitle"><span class="permalink"><a href="#aebe61fd1828294b9794b3c87174649b2">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[3/7]</span></h2>
22492
22493<div class="memitem">
22494<div class="memproto">
22495<table class="mlabels">
22496 <tr>
22497 <td class="mlabels-left">
22498 <table class="memname">
22499 <tr>
22500 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; arm_compute::vget_high </td>
22501 <td>(</td>
22502 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td>
22503 <td class="paramname"><em>vec</em></td><td>)</td>
22504 <td></td>
22505 </tr>
22506 </table>
22507 </td>
22508 <td class="mlabels-right">
22509<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22510 </tr>
22511</table>
22512</div><div class="memdoc">
22513
22514<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22515<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22516</div>
22517</div>
22518<a id="afc14b8933176ce40c7b99a1ef0f6a062"></a>
22519<h2 class="memtitle"><span class="permalink"><a href="#afc14b8933176ce40c7b99a1ef0f6a062">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[4/7]</span></h2>
22520
22521<div class="memitem">
22522<div class="memproto">
22523<table class="mlabels">
22524 <tr>
22525 <td class="mlabels-left">
22526 <table class="memname">
22527 <tr>
22528 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; arm_compute::vget_high </td>
22529 <td>(</td>
22530 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td>
22531 <td class="paramname"><em>vec</em></td><td>)</td>
22532 <td></td>
22533 </tr>
22534 </table>
22535 </td>
22536 <td class="mlabels-right">
22537<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22538 </tr>
22539</table>
22540</div><div class="memdoc">
22541
22542<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22543<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22544</div>
22545</div>
22546<a id="a94683a211fef1215ec7576bc74a1cc68"></a>
22547<h2 class="memtitle"><span class="permalink"><a href="#a94683a211fef1215ec7576bc74a1cc68">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[5/7]</span></h2>
22548
22549<div class="memitem">
22550<div class="memproto">
22551<table class="mlabels">
22552 <tr>
22553 <td class="mlabels-left">
22554 <table class="memname">
22555 <tr>
22556 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; arm_compute::vget_high </td>
22557 <td>(</td>
22558 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td>
22559 <td class="paramname"><em>vec</em></td><td>)</td>
22560 <td></td>
22561 </tr>
22562 </table>
22563 </td>
22564 <td class="mlabels-right">
22565<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22566 </tr>
22567</table>
22568</div><div class="memdoc">
22569
22570<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22571<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22572</div>
22573</div>
22574<a id="aeaf3494a0fcf8be9555194a8e7a18a07"></a>
22575<h2 class="memtitle"><span class="permalink"><a href="#aeaf3494a0fcf8be9555194a8e7a18a07">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[6/7]</span></h2>
22576
22577<div class="memitem">
22578<div class="memproto">
22579<table class="mlabels">
22580 <tr>
22581 <td class="mlabels-left">
22582 <table class="memname">
22583 <tr>
22584 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; arm_compute::vget_high </td>
22585 <td>(</td>
22586 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td>
22587 <td class="paramname"><em>vec</em></td><td>)</td>
22588 <td></td>
22589 </tr>
22590 </table>
22591 </td>
22592 <td class="mlabels-right">
22593<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22594 </tr>
22595</table>
22596</div><div class="memdoc">
22597
22598<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22599<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22600</div>
22601</div>
22602<a id="abc735b1b07e30e093dd39507606a1e35"></a>
22603<h2 class="memtitle"><span class="permalink"><a href="#abc735b1b07e30e093dd39507606a1e35">&#9670;&nbsp;</a></span>vget_high() <span class="overload">[7/7]</span></h2>
22604
22605<div class="memitem">
22606<div class="memproto">
22607<table class="mlabels">
22608 <tr>
22609 <td class="mlabels-left">
22610 <table class="memname">
22611 <tr>
22612 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; arm_compute::vget_high </td>
22613 <td>(</td>
22614 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
22615 <td class="paramname"><em>vec</em></td><td>)</td>
22616 <td></td>
22617 </tr>
22618 </table>
22619 </td>
22620 <td class="mlabels-right">
22621<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22622 </tr>
22623</table>
22624</div><div class="memdoc">
22625
22626<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22627<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22628</div>
22629</div>
22630<a id="a40552ea65ee3fc6d7fa7f1fb17baebe7"></a>
22631<h2 class="memtitle"><span class="permalink"><a href="#a40552ea65ee3fc6d7fa7f1fb17baebe7">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[1/15]</span></h2>
22632
22633<div class="memitem">
22634<div class="memproto">
22635<table class="mlabels">
22636 <tr>
22637 <td class="mlabels-left">
22638 <table class="memname">
22639 <tr>
22640 <td class="memname">uint8_t vget_lane </td>
22641 <td>(</td>
22642 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td>
22643 <td class="paramname"><em>vec</em></td><td>)</td>
22644 <td></td>
22645 </tr>
22646 </table>
22647 </td>
22648 <td class="mlabels-right">
22649<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22650 </tr>
22651</table>
22652</div><div class="memdoc">
22653
22654<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22655<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22656</div>
22657</div>
22658<a id="a5229f4c7a2c8d07ebc247c3e5075af2b"></a>
22659<h2 class="memtitle"><span class="permalink"><a href="#a5229f4c7a2c8d07ebc247c3e5075af2b">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[2/15]</span></h2>
22660
22661<div class="memitem">
22662<div class="memproto">
22663<table class="mlabels">
22664 <tr>
22665 <td class="mlabels-left">
22666 <table class="memname">
22667 <tr>
22668 <td class="memname">uint8_t vget_lane </td>
22669 <td>(</td>
22670 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td>
22671 <td class="paramname"><em>vec</em></td><td>)</td>
22672 <td></td>
22673 </tr>
22674 </table>
22675 </td>
22676 <td class="mlabels-right">
22677<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22678 </tr>
22679</table>
22680</div><div class="memdoc">
22681
22682<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22683<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22684</div>
22685</div>
22686<a id="a2cb9483082ea29427722db15d23ec130"></a>
22687<h2 class="memtitle"><span class="permalink"><a href="#a2cb9483082ea29427722db15d23ec130">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[3/15]</span></h2>
22688
22689<div class="memitem">
22690<div class="memproto">
22691<table class="mlabels">
22692 <tr>
22693 <td class="mlabels-left">
22694 <table class="memname">
22695 <tr>
22696 <td class="memname">int8_t vget_lane </td>
22697 <td>(</td>
22698 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td>
22699 <td class="paramname"><em>vec</em></td><td>)</td>
22700 <td></td>
22701 </tr>
22702 </table>
22703 </td>
22704 <td class="mlabels-right">
22705<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22706 </tr>
22707</table>
22708</div><div class="memdoc">
22709
22710<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22711<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22712</div>
22713</div>
22714<a id="a46b08aeab78badc7365668e0051e7fac"></a>
22715<h2 class="memtitle"><span class="permalink"><a href="#a46b08aeab78badc7365668e0051e7fac">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[4/15]</span></h2>
22716
22717<div class="memitem">
22718<div class="memproto">
22719<table class="mlabels">
22720 <tr>
22721 <td class="mlabels-left">
22722 <table class="memname">
22723 <tr>
22724 <td class="memname">int8_t vget_lane </td>
22725 <td>(</td>
22726 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td>
22727 <td class="paramname"><em>vec</em></td><td>)</td>
22728 <td></td>
22729 </tr>
22730 </table>
22731 </td>
22732 <td class="mlabels-right">
22733<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22734 </tr>
22735</table>
22736</div><div class="memdoc">
22737
22738<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22739<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22740</div>
22741</div>
22742<a id="aaa7aea48ed8a5c267d4631ad6884e0bd"></a>
22743<h2 class="memtitle"><span class="permalink"><a href="#aaa7aea48ed8a5c267d4631ad6884e0bd">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[5/15]</span></h2>
22744
22745<div class="memitem">
22746<div class="memproto">
22747<table class="mlabels">
22748 <tr>
22749 <td class="mlabels-left">
22750 <table class="memname">
22751 <tr>
22752 <td class="memname">uint16_t vget_lane </td>
22753 <td>(</td>
22754 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td>
22755 <td class="paramname"><em>vec</em></td><td>)</td>
22756 <td></td>
22757 </tr>
22758 </table>
22759 </td>
22760 <td class="mlabels-right">
22761<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22762 </tr>
22763</table>
22764</div><div class="memdoc">
22765
22766<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22767<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22768</div>
22769</div>
22770<a id="ab2aef7b4b81a6108c8d7a8f782340850"></a>
22771<h2 class="memtitle"><span class="permalink"><a href="#ab2aef7b4b81a6108c8d7a8f782340850">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[6/15]</span></h2>
22772
22773<div class="memitem">
22774<div class="memproto">
22775<table class="mlabels">
22776 <tr>
22777 <td class="mlabels-left">
22778 <table class="memname">
22779 <tr>
22780 <td class="memname">uint16_t vget_lane </td>
22781 <td>(</td>
22782 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td>
22783 <td class="paramname"><em>vec</em></td><td>)</td>
22784 <td></td>
22785 </tr>
22786 </table>
22787 </td>
22788 <td class="mlabels-right">
22789<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22790 </tr>
22791</table>
22792</div><div class="memdoc">
22793
22794<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22795<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22796</div>
22797</div>
22798<a id="aab831e66636598a49c321c248da55108"></a>
22799<h2 class="memtitle"><span class="permalink"><a href="#aab831e66636598a49c321c248da55108">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[7/15]</span></h2>
22800
22801<div class="memitem">
22802<div class="memproto">
22803<table class="mlabels">
22804 <tr>
22805 <td class="mlabels-left">
22806 <table class="memname">
22807 <tr>
22808 <td class="memname">int16_t vget_lane </td>
22809 <td>(</td>
22810 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td>
22811 <td class="paramname"><em>vec</em></td><td>)</td>
22812 <td></td>
22813 </tr>
22814 </table>
22815 </td>
22816 <td class="mlabels-right">
22817<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22818 </tr>
22819</table>
22820</div><div class="memdoc">
22821
22822<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22823<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22824</div>
22825</div>
22826<a id="a21a10c0d7629ac794f59a6e06dad8b7c"></a>
22827<h2 class="memtitle"><span class="permalink"><a href="#a21a10c0d7629ac794f59a6e06dad8b7c">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[8/15]</span></h2>
22828
22829<div class="memitem">
22830<div class="memproto">
22831<table class="mlabels">
22832 <tr>
22833 <td class="mlabels-left">
22834 <table class="memname">
22835 <tr>
22836 <td class="memname">int16_t vget_lane </td>
22837 <td>(</td>
22838 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td>
22839 <td class="paramname"><em>vec</em></td><td>)</td>
22840 <td></td>
22841 </tr>
22842 </table>
22843 </td>
22844 <td class="mlabels-right">
22845<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22846 </tr>
22847</table>
22848</div><div class="memdoc">
22849
22850<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22851<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22852</div>
22853</div>
22854<a id="a1050dd97652f516c036f54173d3cce10"></a>
22855<h2 class="memtitle"><span class="permalink"><a href="#a1050dd97652f516c036f54173d3cce10">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[9/15]</span></h2>
22856
22857<div class="memitem">
22858<div class="memproto">
22859<table class="mlabels">
22860 <tr>
22861 <td class="mlabels-left">
22862 <table class="memname">
22863 <tr>
22864 <td class="memname">uint32_t vget_lane </td>
22865 <td>(</td>
22866 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td>
22867 <td class="paramname"><em>vec</em></td><td>)</td>
22868 <td></td>
22869 </tr>
22870 </table>
22871 </td>
22872 <td class="mlabels-right">
22873<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22874 </tr>
22875</table>
22876</div><div class="memdoc">
22877
22878<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22879<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22880</div>
22881</div>
22882<a id="a6e766d98a0e130be624d6dee74c8fb29"></a>
22883<h2 class="memtitle"><span class="permalink"><a href="#a6e766d98a0e130be624d6dee74c8fb29">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[10/15]</span></h2>
22884
22885<div class="memitem">
22886<div class="memproto">
22887<table class="mlabels">
22888 <tr>
22889 <td class="mlabels-left">
22890 <table class="memname">
22891 <tr>
22892 <td class="memname">uint32_t vget_lane </td>
22893 <td>(</td>
22894 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td>
22895 <td class="paramname"><em>vec</em></td><td>)</td>
22896 <td></td>
22897 </tr>
22898 </table>
22899 </td>
22900 <td class="mlabels-right">
22901<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22902 </tr>
22903</table>
22904</div><div class="memdoc">
22905
22906<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22907<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22908</div>
22909</div>
22910<a id="a61f87c089f50e7016ac74d79bbc417eb"></a>
22911<h2 class="memtitle"><span class="permalink"><a href="#a61f87c089f50e7016ac74d79bbc417eb">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[11/15]</span></h2>
22912
22913<div class="memitem">
22914<div class="memproto">
22915<table class="mlabels">
22916 <tr>
22917 <td class="mlabels-left">
22918 <table class="memname">
22919 <tr>
22920 <td class="memname">int32_t vget_lane </td>
22921 <td>(</td>
22922 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td>
22923 <td class="paramname"><em>vec</em></td><td>)</td>
22924 <td></td>
22925 </tr>
22926 </table>
22927 </td>
22928 <td class="mlabels-right">
22929<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22930 </tr>
22931</table>
22932</div><div class="memdoc">
22933
22934<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22935<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22936</div>
22937</div>
22938<a id="adc187f0eff944013383bdc28e8d1e713"></a>
22939<h2 class="memtitle"><span class="permalink"><a href="#adc187f0eff944013383bdc28e8d1e713">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[12/15]</span></h2>
22940
22941<div class="memitem">
22942<div class="memproto">
22943<table class="mlabels">
22944 <tr>
22945 <td class="mlabels-left">
22946 <table class="memname">
22947 <tr>
22948 <td class="memname">int32_t vget_lane </td>
22949 <td>(</td>
22950 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td>
22951 <td class="paramname"><em>vec</em></td><td>)</td>
22952 <td></td>
22953 </tr>
22954 </table>
22955 </td>
22956 <td class="mlabels-right">
22957<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22958 </tr>
22959</table>
22960</div><div class="memdoc">
22961
22962<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22963<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22964</div>
22965</div>
22966<a id="a2b122d56b7bf307cf06ec05b4bdeea63"></a>
22967<h2 class="memtitle"><span class="permalink"><a href="#a2b122d56b7bf307cf06ec05b4bdeea63">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[13/15]</span></h2>
22968
22969<div class="memitem">
22970<div class="memproto">
22971<table class="mlabels">
22972 <tr>
22973 <td class="mlabels-left">
22974 <table class="memname">
22975 <tr>
22976 <td class="memname">float vget_lane </td>
22977 <td>(</td>
22978 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
22979 <td class="paramname"><em>vec</em></td><td>)</td>
22980 <td></td>
22981 </tr>
22982 </table>
22983 </td>
22984 <td class="mlabels-right">
22985<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22986 </tr>
22987</table>
22988</div><div class="memdoc">
22989
22990<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
22991<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
22992</div>
22993</div>
22994<a id="a696409f1f3c572c8a899605e36b87e9a"></a>
22995<h2 class="memtitle"><span class="permalink"><a href="#a696409f1f3c572c8a899605e36b87e9a">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[14/15]</span></h2>
22996
22997<div class="memitem">
22998<div class="memproto">
22999<table class="mlabels">
23000 <tr>
23001 <td class="mlabels-left">
23002 <table class="memname">
23003 <tr>
23004 <td class="memname">float vget_lane </td>
23005 <td>(</td>
23006 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td>
23007 <td class="paramname"><em>vec</em></td><td>)</td>
23008 <td></td>
23009 </tr>
23010 </table>
23011 </td>
23012 <td class="mlabels-right">
23013<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23014 </tr>
23015</table>
23016</div><div class="memdoc">
23017
23018<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23019<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23020</div>
23021</div>
23022<a id="a45617be0c289f11c60f659f3123fb210"></a>
23023<h2 class="memtitle"><span class="permalink"><a href="#a45617be0c289f11c60f659f3123fb210">&#9670;&nbsp;</a></span>vget_lane() <span class="overload">[15/15]</span></h2>
23024
23025<div class="memitem">
23026<div class="memproto">
23027 <table class="memname">
23028 <tr>
23029 <td class="memname">float arm_compute::vget_lane </td>
23030 <td>(</td>
23031 <td class="paramtype">float32x4x4_t&#160;</td>
23032 <td class="paramname"><em>vec</em></td><td>)</td>
23033 <td></td>
23034 </tr>
23035 </table>
23036</div><div class="memdoc">
23037
23038</div>
23039</div>
23040<a id="a3bb60064e505cfd3a0d43528a3c1845d"></a>
23041<h2 class="memtitle"><span class="permalink"><a href="#a3bb60064e505cfd3a0d43528a3c1845d">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[1/7]</span></h2>
23042
23043<div class="memitem">
23044<div class="memproto">
23045<table class="mlabels">
23046 <tr>
23047 <td class="mlabels-left">
23048 <table class="memname">
23049 <tr>
23050 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; arm_compute::vget_low </td>
23051 <td>(</td>
23052 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td>
23053 <td class="paramname"><em>vec</em></td><td>)</td>
23054 <td></td>
23055 </tr>
23056 </table>
23057 </td>
23058 <td class="mlabels-right">
23059<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23060 </tr>
23061</table>
23062</div><div class="memdoc">
23063
23064<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23065
23066<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">vcvt&lt; float32x4x4_t &gt;()</a>.</p>
23067<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23068</div>
23069</div>
23070<a id="a2a0a49e26931849079897f0a225589cb"></a>
23071<h2 class="memtitle"><span class="permalink"><a href="#a2a0a49e26931849079897f0a225589cb">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[2/7]</span></h2>
23072
23073<div class="memitem">
23074<div class="memproto">
23075<table class="mlabels">
23076 <tr>
23077 <td class="mlabels-left">
23078 <table class="memname">
23079 <tr>
23080 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; arm_compute::vget_low </td>
23081 <td>(</td>
23082 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td>
23083 <td class="paramname"><em>vec</em></td><td>)</td>
23084 <td></td>
23085 </tr>
23086 </table>
23087 </td>
23088 <td class="mlabels-right">
23089<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23090 </tr>
23091</table>
23092</div><div class="memdoc">
23093
23094<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23095<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23096</div>
23097</div>
23098<a id="a5b825f82ef9a09db968b003310b44030"></a>
23099<h2 class="memtitle"><span class="permalink"><a href="#a5b825f82ef9a09db968b003310b44030">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[3/7]</span></h2>
23100
23101<div class="memitem">
23102<div class="memproto">
23103<table class="mlabels">
23104 <tr>
23105 <td class="mlabels-left">
23106 <table class="memname">
23107 <tr>
23108 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; arm_compute::vget_low </td>
23109 <td>(</td>
23110 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td>
23111 <td class="paramname"><em>vec</em></td><td>)</td>
23112 <td></td>
23113 </tr>
23114 </table>
23115 </td>
23116 <td class="mlabels-right">
23117<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23118 </tr>
23119</table>
23120</div><div class="memdoc">
23121
23122<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23123<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23124</div>
23125</div>
23126<a id="a264ecd01ca0763d79aa4ad5515ce7b65"></a>
23127<h2 class="memtitle"><span class="permalink"><a href="#a264ecd01ca0763d79aa4ad5515ce7b65">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[4/7]</span></h2>
23128
23129<div class="memitem">
23130<div class="memproto">
23131<table class="mlabels">
23132 <tr>
23133 <td class="mlabels-left">
23134 <table class="memname">
23135 <tr>
23136 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; arm_compute::vget_low </td>
23137 <td>(</td>
23138 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td>
23139 <td class="paramname"><em>vec</em></td><td>)</td>
23140 <td></td>
23141 </tr>
23142 </table>
23143 </td>
23144 <td class="mlabels-right">
23145<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23146 </tr>
23147</table>
23148</div><div class="memdoc">
23149
23150<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23151<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23152</div>
23153</div>
23154<a id="a0477c495757cd6c2bdf6f151aa26a542"></a>
23155<h2 class="memtitle"><span class="permalink"><a href="#a0477c495757cd6c2bdf6f151aa26a542">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[5/7]</span></h2>
23156
23157<div class="memitem">
23158<div class="memproto">
23159<table class="mlabels">
23160 <tr>
23161 <td class="mlabels-left">
23162 <table class="memname">
23163 <tr>
23164 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; arm_compute::vget_low </td>
23165 <td>(</td>
23166 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td>
23167 <td class="paramname"><em>vec</em></td><td>)</td>
23168 <td></td>
23169 </tr>
23170 </table>
23171 </td>
23172 <td class="mlabels-right">
23173<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23174 </tr>
23175</table>
23176</div><div class="memdoc">
23177
23178<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23179<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23180</div>
23181</div>
23182<a id="a4624ac629ac1199b9482f01334fe93a8"></a>
23183<h2 class="memtitle"><span class="permalink"><a href="#a4624ac629ac1199b9482f01334fe93a8">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[6/7]</span></h2>
23184
23185<div class="memitem">
23186<div class="memproto">
23187<table class="mlabels">
23188 <tr>
23189 <td class="mlabels-left">
23190 <table class="memname">
23191 <tr>
23192 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; arm_compute::vget_low </td>
23193 <td>(</td>
23194 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td>
23195 <td class="paramname"><em>vec</em></td><td>)</td>
23196 <td></td>
23197 </tr>
23198 </table>
23199 </td>
23200 <td class="mlabels-right">
23201<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23202 </tr>
23203</table>
23204</div><div class="memdoc">
23205
23206<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23207<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23208</div>
23209</div>
23210<a id="ae83ce5db69a7a14f5c0ee9d9326e1a40"></a>
23211<h2 class="memtitle"><span class="permalink"><a href="#ae83ce5db69a7a14f5c0ee9d9326e1a40">&#9670;&nbsp;</a></span>vget_low() <span class="overload">[7/7]</span></h2>
23212
23213<div class="memitem">
23214<div class="memproto">
23215<table class="mlabels">
23216 <tr>
23217 <td class="mlabels-left">
23218 <table class="memname">
23219 <tr>
23220 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; arm_compute::vget_low </td>
23221 <td>(</td>
23222 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
23223 <td class="paramname"><em>vec</em></td><td>)</td>
23224 <td></td>
23225 </tr>
23226 </table>
23227 </td>
23228 <td class="mlabels-right">
23229<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23230 </tr>
23231</table>
23232</div><div class="memdoc">
23233
23234<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23235<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23236</div>
23237</div>
23238<a id="acc6fd1bcd12ef1141e15401a04d31187"></a>
23239<h2 class="memtitle"><span class="permalink"><a href="#acc6fd1bcd12ef1141e15401a04d31187">&#9670;&nbsp;</a></span>vinv_f32()</h2>
23240
Kaizen8938bd32017-09-28 14:38:23 +010023241<div class="memitem">
23242<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023243 <table class="memname">
23244 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023245 <td class="memname">float32x2_t arm_compute::vinv_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023246 <td>(</td>
23247 <td class="paramtype">float32x2_t&#160;</td>
23248 <td class="paramname"><em>x</em></td><td>)</td>
23249 <td></td>
23250 </tr>
23251 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023252</div><div class="memdoc">
23253
23254<p>Calculate reciprocal. </p>
23255<dl class="params"><dt>Parameters</dt><dd>
23256 <table class="params">
23257 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
23258 </table>
23259 </dd>
23260</dl>
23261<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
23262
Anthony Barbierdbdab852017-06-23 15:42:00 +010023263</div>
23264</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000023265<a id="a2e0f2412b4d1302272d1aeb85d21ab25"></a>
23266<h2 class="memtitle"><span class="permalink"><a href="#a2e0f2412b4d1302272d1aeb85d21ab25">&#9670;&nbsp;</a></span>vinvq_f32()</h2>
23267
Anthony Barbierdbdab852017-06-23 15:42:00 +010023268<div class="memitem">
23269<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023270 <table class="memname">
23271 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023272 <td class="memname">float32x4_t arm_compute::vinvq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023273 <td>(</td>
23274 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000023275 <td class="paramname"><em>x</em></td><td>)</td>
23276 <td></td>
23277 </tr>
23278 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000023279</div><div class="memdoc">
23280
23281<p>Calculate reciprocal. </p>
23282<dl class="params"><dt>Parameters</dt><dd>
23283 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023284 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000023285 </table>
23286 </dd>
23287</dl>
23288<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
23289
Jenkinsb9abeae2018-11-22 11:58:08 +000023290<p class="reference">Referenced by <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>.</p>
23291
Kaizen8938bd32017-09-28 14:38:23 +010023292</div>
23293</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000023294<a id="afc415e7fc5e633a0b85b08b2bba5b5cf"></a>
23295<h2 class="memtitle"><span class="permalink"><a href="#afc415e7fc5e633a0b85b08b2bba5b5cf">&#9670;&nbsp;</a></span>vinvsqrt_f32()</h2>
23296
Kaizen8938bd32017-09-28 14:38:23 +010023297<div class="memitem">
23298<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023299 <table class="memname">
23300 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023301 <td class="memname">float32x2_t arm_compute::vinvsqrt_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023302 <td>(</td>
23303 <td class="paramtype">float32x2_t&#160;</td>
23304 <td class="paramname"><em>x</em></td><td>)</td>
23305 <td></td>
23306 </tr>
23307 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023308</div><div class="memdoc">
23309
23310<p>Calculate inverse square root. </p>
23311<dl class="params"><dt>Parameters</dt><dd>
23312 <table class="params">
23313 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
23314 </table>
23315 </dd>
23316</dl>
23317<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
23318
Kaizen8938bd32017-09-28 14:38:23 +010023319</div>
23320</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000023321<a id="ab8970d7aed07d8649f5e3088455948b8"></a>
23322<h2 class="memtitle"><span class="permalink"><a href="#ab8970d7aed07d8649f5e3088455948b8">&#9670;&nbsp;</a></span>vinvsqrtq_f32()</h2>
23323
Anthony Barbierdbdab852017-06-23 15:42:00 +010023324<div class="memitem">
23325<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023326 <table class="memname">
23327 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023328 <td class="memname">float32x4_t arm_compute::vinvsqrtq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000023329 <td>(</td>
23330 <td class="paramtype">float32x4_t&#160;</td>
23331 <td class="paramname"><em>x</em></td><td>)</td>
23332 <td></td>
23333 </tr>
23334 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000023335</div><div class="memdoc">
23336
23337<p>Calculate inverse square root. </p>
23338<dl class="params"><dt>Parameters</dt><dd>
23339 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023340 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000023341 </table>
23342 </dd>
23343</dl>
23344<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
23345
Jenkinsb9abeae2018-11-22 11:58:08 +000023346<p class="reference">Referenced by <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>.</p>
23347
Kaizen8938bd32017-09-28 14:38:23 +010023348</div>
23349</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000023350<a id="a85d0b4103385d996d4014691d2df0cf1"></a>
23351<h2 class="memtitle"><span class="permalink"><a href="#a85d0b4103385d996d4014691d2df0cf1">&#9670;&nbsp;</a></span>vld()</h2>
23352
23353<div class="memitem">
23354<div class="memproto">
23355 <table class="memname">
23356 <tr>
23357 <td class="memname">V arm_compute::vld </td>
23358 <td>(</td>
23359 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; <a class="el" href="namespacearm__compute.xhtml#a534a101b6176c3e065eba4b4cde7a40e">elem_type_t</a>&lt; V &gt;&gt;&#160;</td>
23360 <td class="paramname"><em>ptr</em></td><td>)</td>
23361 <td></td>
23362 </tr>
23363 </table>
23364</div><div class="memdoc">
23365
23366<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">vec_size_of()</a>.</p>
23367
23368</div>
23369</div>
23370<a id="aa8e2f6d1e361e3ac707595f1092b9103"></a>
23371<h2 class="memtitle"><span class="permalink"><a href="#aa8e2f6d1e361e3ac707595f1092b9103">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< float > >()</h2>
23372
23373<div class="memitem">
23374<div class="memproto">
23375<table class="mlabels">
23376 <tr>
23377 <td class="mlabels-left">
23378 <table class="memname">
23379 <tr>
23380 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; &gt; </td>
23381 <td>(</td>
23382 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; float &gt;&#160;</td>
23383 <td class="paramname"><em>ptr</em></td><td>)</td>
23384 <td></td>
23385 </tr>
23386 </table>
23387 </td>
23388 <td class="mlabels-right">
23389<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23390 </tr>
23391</table>
23392</div><div class="memdoc">
23393
23394<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23395<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23396</div>
23397</div>
23398<a id="afd4981f6532c3a76716e3053d119e269"></a>
23399<h2 class="memtitle"><span class="permalink"><a href="#afd4981f6532c3a76716e3053d119e269">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< int16_t > >()</h2>
23400
23401<div class="memitem">
23402<div class="memproto">
23403<table class="mlabels">
23404 <tr>
23405 <td class="mlabels-left">
23406 <table class="memname">
23407 <tr>
23408 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; &gt; </td>
23409 <td>(</td>
23410 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int16_t &gt;&#160;</td>
23411 <td class="paramname"><em>ptr</em></td><td>)</td>
23412 <td></td>
23413 </tr>
23414 </table>
23415 </td>
23416 <td class="mlabels-right">
23417<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23418 </tr>
23419</table>
23420</div><div class="memdoc">
23421
23422<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23423<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23424</div>
23425</div>
23426<a id="a1acc117060f7ad740f059fbb97359d6b"></a>
23427<h2 class="memtitle"><span class="permalink"><a href="#a1acc117060f7ad740f059fbb97359d6b">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< int32_t > >()</h2>
23428
23429<div class="memitem">
23430<div class="memproto">
23431<table class="mlabels">
23432 <tr>
23433 <td class="mlabels-left">
23434 <table class="memname">
23435 <tr>
23436 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; &gt; </td>
23437 <td>(</td>
23438 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int32_t &gt;&#160;</td>
23439 <td class="paramname"><em>ptr</em></td><td>)</td>
23440 <td></td>
23441 </tr>
23442 </table>
23443 </td>
23444 <td class="mlabels-right">
23445<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23446 </tr>
23447</table>
23448</div><div class="memdoc">
23449
23450<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23451<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23452</div>
23453</div>
23454<a id="a9d896907abfbde0613b952bb4db5897a"></a>
23455<h2 class="memtitle"><span class="permalink"><a href="#a9d896907abfbde0613b952bb4db5897a">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< int8_t > >()</h2>
23456
23457<div class="memitem">
23458<div class="memproto">
23459<table class="mlabels">
23460 <tr>
23461 <td class="mlabels-left">
23462 <table class="memname">
23463 <tr>
23464 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; &gt; </td>
23465 <td>(</td>
23466 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int8_t &gt;&#160;</td>
23467 <td class="paramname"><em>ptr</em></td><td>)</td>
23468 <td></td>
23469 </tr>
23470 </table>
23471 </td>
23472 <td class="mlabels-right">
23473<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23474 </tr>
23475</table>
23476</div><div class="memdoc">
23477
23478<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23479<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23480</div>
23481</div>
23482<a id="ad2174760efe31f80528b5a4cf8ebed66"></a>
23483<h2 class="memtitle"><span class="permalink"><a href="#ad2174760efe31f80528b5a4cf8ebed66">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< uint16_t > >()</h2>
23484
23485<div class="memitem">
23486<div class="memproto">
23487<table class="mlabels">
23488 <tr>
23489 <td class="mlabels-left">
23490 <table class="memname">
23491 <tr>
23492 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; &gt; </td>
23493 <td>(</td>
23494 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint16_t &gt;&#160;</td>
23495 <td class="paramname"><em>ptr</em></td><td>)</td>
23496 <td></td>
23497 </tr>
23498 </table>
23499 </td>
23500 <td class="mlabels-right">
23501<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23502 </tr>
23503</table>
23504</div><div class="memdoc">
23505
23506<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23507<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23508</div>
23509</div>
23510<a id="a13a69ef04626a27771a6e19542cac767"></a>
23511<h2 class="memtitle"><span class="permalink"><a href="#a13a69ef04626a27771a6e19542cac767">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< uint32_t > >()</h2>
23512
23513<div class="memitem">
23514<div class="memproto">
23515<table class="mlabels">
23516 <tr>
23517 <td class="mlabels-left">
23518 <table class="memname">
23519 <tr>
23520 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; &gt; </td>
23521 <td>(</td>
23522 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint32_t &gt;&#160;</td>
23523 <td class="paramname"><em>ptr</em></td><td>)</td>
23524 <td></td>
23525 </tr>
23526 </table>
23527 </td>
23528 <td class="mlabels-right">
23529<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23530 </tr>
23531</table>
23532</div><div class="memdoc">
23533
23534<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23535<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23536</div>
23537</div>
23538<a id="a70cff70817eb6a40e893331c4df276a5"></a>
23539<h2 class="memtitle"><span class="permalink"><a href="#a70cff70817eb6a40e893331c4df276a5">&#9670;&nbsp;</a></span>vld< vec_16_byte_t< uint8_t > >()</h2>
23540
23541<div class="memitem">
23542<div class="memproto">
23543<table class="mlabels">
23544 <tr>
23545 <td class="mlabels-left">
23546 <table class="memname">
23547 <tr>
23548 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; &gt; </td>
23549 <td>(</td>
23550 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint8_t &gt;&#160;</td>
23551 <td class="paramname"><em>ptr</em></td><td>)</td>
23552 <td></td>
23553 </tr>
23554 </table>
23555 </td>
23556 <td class="mlabels-right">
23557<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23558 </tr>
23559</table>
23560</div><div class="memdoc">
23561
23562<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23563<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23564</div>
23565</div>
23566<a id="a323be126777e57614c5dc57ee1345c7e"></a>
23567<h2 class="memtitle"><span class="permalink"><a href="#a323be126777e57614c5dc57ee1345c7e">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< float > >()</h2>
23568
23569<div class="memitem">
23570<div class="memproto">
23571<table class="mlabels">
23572 <tr>
23573 <td class="mlabels-left">
23574 <table class="memname">
23575 <tr>
23576 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; &gt; </td>
23577 <td>(</td>
23578 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; float &gt;&#160;</td>
23579 <td class="paramname"><em>ptr</em></td><td>)</td>
23580 <td></td>
23581 </tr>
23582 </table>
23583 </td>
23584 <td class="mlabels-right">
23585<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23586 </tr>
23587</table>
23588</div><div class="memdoc">
23589
23590<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23591<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23592</div>
23593</div>
23594<a id="a1b29ca880e2b7282c9318d6c36f07140"></a>
23595<h2 class="memtitle"><span class="permalink"><a href="#a1b29ca880e2b7282c9318d6c36f07140">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< int16_t > >()</h2>
23596
23597<div class="memitem">
23598<div class="memproto">
23599<table class="mlabels">
23600 <tr>
23601 <td class="mlabels-left">
23602 <table class="memname">
23603 <tr>
23604 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; &gt; </td>
23605 <td>(</td>
23606 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int16_t &gt;&#160;</td>
23607 <td class="paramname"><em>ptr</em></td><td>)</td>
23608 <td></td>
23609 </tr>
23610 </table>
23611 </td>
23612 <td class="mlabels-right">
23613<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23614 </tr>
23615</table>
23616</div><div class="memdoc">
23617
23618<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23619<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23620</div>
23621</div>
23622<a id="a10449c2936e1986b131e8c070db9c16b"></a>
23623<h2 class="memtitle"><span class="permalink"><a href="#a10449c2936e1986b131e8c070db9c16b">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< int32_t > >()</h2>
23624
23625<div class="memitem">
23626<div class="memproto">
23627<table class="mlabels">
23628 <tr>
23629 <td class="mlabels-left">
23630 <table class="memname">
23631 <tr>
23632 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; &gt; </td>
23633 <td>(</td>
23634 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int32_t &gt;&#160;</td>
23635 <td class="paramname"><em>ptr</em></td><td>)</td>
23636 <td></td>
23637 </tr>
23638 </table>
23639 </td>
23640 <td class="mlabels-right">
23641<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23642 </tr>
23643</table>
23644</div><div class="memdoc">
23645
23646<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23647<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23648</div>
23649</div>
23650<a id="add42730b56d7b3614fc39f525eb55286"></a>
23651<h2 class="memtitle"><span class="permalink"><a href="#add42730b56d7b3614fc39f525eb55286">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< int8_t > >()</h2>
23652
23653<div class="memitem">
23654<div class="memproto">
23655<table class="mlabels">
23656 <tr>
23657 <td class="mlabels-left">
23658 <table class="memname">
23659 <tr>
23660 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; &gt; </td>
23661 <td>(</td>
23662 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; int8_t &gt;&#160;</td>
23663 <td class="paramname"><em>ptr</em></td><td>)</td>
23664 <td></td>
23665 </tr>
23666 </table>
23667 </td>
23668 <td class="mlabels-right">
23669<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23670 </tr>
23671</table>
23672</div><div class="memdoc">
23673
23674<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23675<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23676</div>
23677</div>
23678<a id="ab764431d90825796c5060d85810781fa"></a>
23679<h2 class="memtitle"><span class="permalink"><a href="#ab764431d90825796c5060d85810781fa">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< uint16_t > >()</h2>
23680
23681<div class="memitem">
23682<div class="memproto">
23683<table class="mlabels">
23684 <tr>
23685 <td class="mlabels-left">
23686 <table class="memname">
23687 <tr>
23688 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; &gt; </td>
23689 <td>(</td>
23690 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint16_t &gt;&#160;</td>
23691 <td class="paramname"><em>ptr</em></td><td>)</td>
23692 <td></td>
23693 </tr>
23694 </table>
23695 </td>
23696 <td class="mlabels-right">
23697<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23698 </tr>
23699</table>
23700</div><div class="memdoc">
23701
23702<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23703<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23704</div>
23705</div>
23706<a id="ac7a8e67b90d2c99626733ea9bdc60a1d"></a>
23707<h2 class="memtitle"><span class="permalink"><a href="#ac7a8e67b90d2c99626733ea9bdc60a1d">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< uint32_t > >()</h2>
23708
23709<div class="memitem">
23710<div class="memproto">
23711<table class="mlabels">
23712 <tr>
23713 <td class="mlabels-left">
23714 <table class="memname">
23715 <tr>
23716 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; &gt; </td>
23717 <td>(</td>
23718 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint32_t &gt;&#160;</td>
23719 <td class="paramname"><em>ptr</em></td><td>)</td>
23720 <td></td>
23721 </tr>
23722 </table>
23723 </td>
23724 <td class="mlabels-right">
23725<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23726 </tr>
23727</table>
23728</div><div class="memdoc">
23729
23730<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23731<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23732</div>
23733</div>
23734<a id="abcfc5b1ed91557ba1b6edf2eae8533e7"></a>
23735<h2 class="memtitle"><span class="permalink"><a href="#abcfc5b1ed91557ba1b6edf2eae8533e7">&#9670;&nbsp;</a></span>vld< vec_8_byte_t< uint8_t > >()</h2>
23736
23737<div class="memitem">
23738<div class="memproto">
23739<table class="mlabels">
23740 <tr>
23741 <td class="mlabels-left">
23742 <table class="memname">
23743 <tr>
23744 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">arm_compute::vld</a>&lt; <a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; &gt; </td>
23745 <td>(</td>
23746 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a926fa1a0e7fd320cff5ba6c6f62f463b">const_ptr_t</a>&lt; uint8_t &gt;&#160;</td>
23747 <td class="paramname"><em>ptr</em></td><td>)</td>
23748 <td></td>
23749 </tr>
23750 </table>
23751 </td>
23752 <td class="mlabels-right">
23753<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23754 </tr>
23755</table>
23756</div><div class="memdoc">
23757
23758<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23759<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23760</div>
23761</div>
23762<a id="a1d090b80b655e7f8fd8977bb93808b04"></a>
23763<h2 class="memtitle"><span class="permalink"><a href="#a1d090b80b655e7f8fd8977bb93808b04">&#9670;&nbsp;</a></span>vlogq_f32()</h2>
23764
Anthony Barbierdbdab852017-06-23 15:42:00 +010023765<div class="memitem">
23766<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023767 <table class="memname">
23768 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023769 <td class="memname">float32x4_t arm_compute::vlogq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023770 <td>(</td>
23771 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000023772 <td class="paramname"><em>x</em></td><td>)</td>
23773 <td></td>
23774 </tr>
23775 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000023776</div><div class="memdoc">
23777
23778<p>Calculate logarithm. </p>
23779<dl class="params"><dt>Parameters</dt><dd>
23780 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023781 <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 +000023782 </table>
23783 </dd>
23784</dl>
23785<dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
23786
Anthony Barbier871448e2017-03-24 14:54:29 +000023787</div>
23788</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000023789<a id="a1cb1c90103d83ca052919e98dbaac553"></a>
23790<h2 class="memtitle"><span class="permalink"><a href="#a1cb1c90103d83ca052919e98dbaac553">&#9670;&nbsp;</a></span>vmax() <span class="overload">[1/7]</span></h2>
23791
23792<div class="memitem">
23793<div class="memproto">
23794<table class="mlabels">
23795 <tr>
23796 <td class="mlabels-left">
23797 <table class="memname">
23798 <tr>
23799 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt; arm_compute::vmax </td>
23800 <td>(</td>
23801 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td>
23802 <td class="paramname"><em>a</em>, </td>
23803 </tr>
23804 <tr>
23805 <td class="paramkey"></td>
23806 <td></td>
23807 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td>
23808 <td class="paramname"><em>b</em>&#160;</td>
23809 </tr>
23810 <tr>
23811 <td></td>
23812 <td>)</td>
23813 <td></td><td></td>
23814 </tr>
23815 </table>
23816 </td>
23817 <td class="mlabels-right">
23818<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23819 </tr>
23820</table>
23821</div><div class="memdoc">
23822
23823<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23824
23825<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
23826<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23827</div>
23828</div>
23829<a id="a2ee044b41b71a344cad69a08aecb1d5f"></a>
23830<h2 class="memtitle"><span class="permalink"><a href="#a2ee044b41b71a344cad69a08aecb1d5f">&#9670;&nbsp;</a></span>vmax() <span class="overload">[2/7]</span></h2>
23831
23832<div class="memitem">
23833<div class="memproto">
23834<table class="mlabels">
23835 <tr>
23836 <td class="mlabels-left">
23837 <table class="memname">
23838 <tr>
23839 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt; arm_compute::vmax </td>
23840 <td>(</td>
23841 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td>
23842 <td class="paramname"><em>a</em>, </td>
23843 </tr>
23844 <tr>
23845 <td class="paramkey"></td>
23846 <td></td>
23847 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td>
23848 <td class="paramname"><em>b</em>&#160;</td>
23849 </tr>
23850 <tr>
23851 <td></td>
23852 <td>)</td>
23853 <td></td><td></td>
23854 </tr>
23855 </table>
23856 </td>
23857 <td class="mlabels-right">
23858<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23859 </tr>
23860</table>
23861</div><div class="memdoc">
23862
23863<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23864<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23865</div>
23866</div>
23867<a id="a7c4bfe1c9c07571952a81783fa8540de"></a>
23868<h2 class="memtitle"><span class="permalink"><a href="#a7c4bfe1c9c07571952a81783fa8540de">&#9670;&nbsp;</a></span>vmax() <span class="overload">[3/7]</span></h2>
23869
23870<div class="memitem">
23871<div class="memproto">
23872<table class="mlabels">
23873 <tr>
23874 <td class="mlabels-left">
23875 <table class="memname">
23876 <tr>
23877 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt; arm_compute::vmax </td>
23878 <td>(</td>
23879 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td>
23880 <td class="paramname"><em>a</em>, </td>
23881 </tr>
23882 <tr>
23883 <td class="paramkey"></td>
23884 <td></td>
23885 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td>
23886 <td class="paramname"><em>b</em>&#160;</td>
23887 </tr>
23888 <tr>
23889 <td></td>
23890 <td>)</td>
23891 <td></td><td></td>
23892 </tr>
23893 </table>
23894 </td>
23895 <td class="mlabels-right">
23896<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23897 </tr>
23898</table>
23899</div><div class="memdoc">
23900
23901<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23902<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23903</div>
23904</div>
23905<a id="abe221c26fe4f91102c0f7b5e2336c070"></a>
23906<h2 class="memtitle"><span class="permalink"><a href="#abe221c26fe4f91102c0f7b5e2336c070">&#9670;&nbsp;</a></span>vmax() <span class="overload">[4/7]</span></h2>
23907
23908<div class="memitem">
23909<div class="memproto">
23910<table class="mlabels">
23911 <tr>
23912 <td class="mlabels-left">
23913 <table class="memname">
23914 <tr>
23915 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt; arm_compute::vmax </td>
23916 <td>(</td>
23917 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td>
23918 <td class="paramname"><em>a</em>, </td>
23919 </tr>
23920 <tr>
23921 <td class="paramkey"></td>
23922 <td></td>
23923 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td>
23924 <td class="paramname"><em>b</em>&#160;</td>
23925 </tr>
23926 <tr>
23927 <td></td>
23928 <td>)</td>
23929 <td></td><td></td>
23930 </tr>
23931 </table>
23932 </td>
23933 <td class="mlabels-right">
23934<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23935 </tr>
23936</table>
23937</div><div class="memdoc">
23938
23939<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23940<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23941</div>
23942</div>
23943<a id="a1bb4dd507d55db5ae8fafab84d31b870"></a>
23944<h2 class="memtitle"><span class="permalink"><a href="#a1bb4dd507d55db5ae8fafab84d31b870">&#9670;&nbsp;</a></span>vmax() <span class="overload">[5/7]</span></h2>
23945
23946<div class="memitem">
23947<div class="memproto">
23948<table class="mlabels">
23949 <tr>
23950 <td class="mlabels-left">
23951 <table class="memname">
23952 <tr>
23953 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt; arm_compute::vmax </td>
23954 <td>(</td>
23955 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td>
23956 <td class="paramname"><em>a</em>, </td>
23957 </tr>
23958 <tr>
23959 <td class="paramkey"></td>
23960 <td></td>
23961 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td>
23962 <td class="paramname"><em>b</em>&#160;</td>
23963 </tr>
23964 <tr>
23965 <td></td>
23966 <td>)</td>
23967 <td></td><td></td>
23968 </tr>
23969 </table>
23970 </td>
23971 <td class="mlabels-right">
23972<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23973 </tr>
23974</table>
23975</div><div class="memdoc">
23976
23977<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
23978<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
23979</div>
23980</div>
23981<a id="a4e2374d1a63f2e9433b7965eede927af"></a>
23982<h2 class="memtitle"><span class="permalink"><a href="#a4e2374d1a63f2e9433b7965eede927af">&#9670;&nbsp;</a></span>vmax() <span class="overload">[6/7]</span></h2>
23983
23984<div class="memitem">
23985<div class="memproto">
23986<table class="mlabels">
23987 <tr>
23988 <td class="mlabels-left">
23989 <table class="memname">
23990 <tr>
23991 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt; arm_compute::vmax </td>
23992 <td>(</td>
23993 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td>
23994 <td class="paramname"><em>a</em>, </td>
23995 </tr>
23996 <tr>
23997 <td class="paramkey"></td>
23998 <td></td>
23999 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td>
24000 <td class="paramname"><em>b</em>&#160;</td>
24001 </tr>
24002 <tr>
24003 <td></td>
24004 <td>)</td>
24005 <td></td><td></td>
24006 </tr>
24007 </table>
24008 </td>
24009 <td class="mlabels-right">
24010<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24011 </tr>
24012</table>
24013</div><div class="memdoc">
24014
24015<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24016<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24017</div>
24018</div>
24019<a id="a837afab6fd85e34f2bd6e267f4c9e849"></a>
24020<h2 class="memtitle"><span class="permalink"><a href="#a837afab6fd85e34f2bd6e267f4c9e849">&#9670;&nbsp;</a></span>vmax() <span class="overload">[7/7]</span></h2>
24021
24022<div class="memitem">
24023<div class="memproto">
24024<table class="mlabels">
24025 <tr>
24026 <td class="mlabels-left">
24027 <table class="memname">
24028 <tr>
24029 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; arm_compute::vmax </td>
24030 <td>(</td>
24031 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
24032 <td class="paramname"><em>a</em>, </td>
24033 </tr>
24034 <tr>
24035 <td class="paramkey"></td>
24036 <td></td>
24037 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
24038 <td class="paramname"><em>b</em>&#160;</td>
24039 </tr>
24040 <tr>
24041 <td></td>
24042 <td>)</td>
24043 <td></td><td></td>
24044 </tr>
24045 </table>
24046 </td>
24047 <td class="mlabels-right">
24048<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24049 </tr>
24050</table>
24051</div><div class="memdoc">
24052
24053<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24054<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24055</div>
24056</div>
24057<a id="ace593813d742d127296b09fa8ab3f85e"></a>
24058<h2 class="memtitle"><span class="permalink"><a href="#ace593813d742d127296b09fa8ab3f85e">&#9670;&nbsp;</a></span>vmax2q_f32()</h2>
24059
Kaizen8938bd32017-09-28 14:38:23 +010024060<div class="memitem">
24061<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024062 <table class="memname">
24063 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024064 <td class="memname">float32x4x2_t arm_compute::vmax2q_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024065 <td>(</td>
24066 <td class="paramtype">float32x4x2_t&#160;</td>
24067 <td class="paramname"><em>a</em>, </td>
24068 </tr>
24069 <tr>
24070 <td class="paramkey"></td>
24071 <td></td>
24072 <td class="paramtype">float32x4x2_t&#160;</td>
24073 <td class="paramname"><em>b</em>&#160;</td>
24074 </tr>
24075 <tr>
24076 <td></td>
24077 <td>)</td>
24078 <td></td><td></td>
24079 </tr>
24080 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024081</div><div class="memdoc">
24082
24083<p>Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. </p>
24084<dl class="params"><dt>Parameters</dt><dd>
24085 <table class="params">
24086 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
24087 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Float input vector</td></tr>
24088 </table>
24089 </dd>
24090</dl>
24091<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -&gt; float32x4x2 </dd></dl>
24092
Jenkinsb9abeae2018-11-22 11:58:08 +000024093<p class="reference">Referenced by <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>.</p>
24094
Kaizen8938bd32017-09-28 14:38:23 +010024095</div>
24096</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000024097<a id="aba8de9eaa10a7cb45c5aa603585d0e4c"></a>
24098<h2 class="memtitle"><span class="permalink"><a href="#aba8de9eaa10a7cb45c5aa603585d0e4c">&#9670;&nbsp;</a></span>vmlaq_qasymm8()</h2>
24099
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024100<div class="memitem">
24101<div class="memproto">
24102<table class="mlabels">
24103 <tr>
24104 <td class="mlabels-left">
24105 <table class="memname">
24106 <tr>
24107 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> vmlaq_qasymm8 </td>
24108 <td>(</td>
24109 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a>&#160;</td>
24110 <td class="paramname"><em>vd</em>, </td>
24111 </tr>
24112 <tr>
24113 <td class="paramkey"></td>
24114 <td></td>
24115 <td class="paramtype">float32x4_t&#160;</td>
24116 <td class="paramname"><em>vs</em>, </td>
24117 </tr>
24118 <tr>
24119 <td class="paramkey"></td>
24120 <td></td>
24121 <td class="paramtype">float32x4_t&#160;</td>
24122 <td class="paramname"><em>vo</em>&#160;</td>
24123 </tr>
24124 <tr>
24125 <td></td>
24126 <td>)</td>
24127 <td></td><td></td>
24128 </tr>
24129 </table>
24130 </td>
24131 <td class="mlabels-right">
24132<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24133 </tr>
24134</table>
24135</div><div class="memdoc">
24136
24137<p>Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. </p>
24138<p>vd*vs + vo</p>
24139<dl class="params"><dt>Parameters</dt><dd>
24140 <table class="params">
24141 <tr><td class="paramdir">[in]</td><td class="paramname">vd</td><td>Input vector value in QASYMM8 format </td></tr>
24142 <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>
24143 <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>
24144 </table>
24145 </dd>
24146</dl>
24147<dl class="section return"><dt>Returns</dt><dd>A 16-component vector in QASYMM8 format, saturated to fit </dd></dl>
24148
Jenkinsb9abeae2018-11-22 11:58:08 +000024149<p class="definition">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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024150<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 -->
24151</div>
24152</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000024153<a id="a5dce3fda8114a32a2c8f1f517adca368"></a>
24154<h2 class="memtitle"><span class="permalink"><a href="#a5dce3fda8114a32a2c8f1f517adca368">&#9670;&nbsp;</a></span>vmul_n() <span class="overload">[1/2]</span></h2>
24155
24156<div class="memitem">
24157<div class="memproto">
24158<table class="mlabels">
24159 <tr>
24160 <td class="mlabels-left">
24161 <table class="memname">
24162 <tr>
24163 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; arm_compute::vmul_n </td>
24164 <td>(</td>
24165 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
24166 <td class="paramname"><em>vec</em>, </td>
24167 </tr>
24168 <tr>
24169 <td class="paramkey"></td>
24170 <td></td>
24171 <td class="paramtype">float&#160;</td>
24172 <td class="paramname"><em>val</em>&#160;</td>
24173 </tr>
24174 <tr>
24175 <td></td>
24176 <td>)</td>
24177 <td></td><td></td>
24178 </tr>
24179 </table>
24180 </td>
24181 <td class="mlabels-right">
24182<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24183 </tr>
24184</table>
24185</div><div class="memdoc">
24186
24187<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24188
24189<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
24190<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24191</div>
24192</div>
24193<a id="abc9f4323a93d34d19bab7cc371649441"></a>
24194<h2 class="memtitle"><span class="permalink"><a href="#abc9f4323a93d34d19bab7cc371649441">&#9670;&nbsp;</a></span>vmul_n() <span class="overload">[2/2]</span></h2>
24195
24196<div class="memitem">
24197<div class="memproto">
24198 <table class="memname">
24199 <tr>
24200 <td class="memname">float32x4x4_t arm_compute::vmul_n </td>
24201 <td>(</td>
24202 <td class="paramtype">float32x4x4_t&#160;</td>
24203 <td class="paramname"><em>vec</em>, </td>
24204 </tr>
24205 <tr>
24206 <td class="paramkey"></td>
24207 <td></td>
24208 <td class="paramtype">float&#160;</td>
24209 <td class="paramname"><em>val</em>&#160;</td>
24210 </tr>
24211 <tr>
24212 <td></td>
24213 <td>)</td>
24214 <td></td><td></td>
24215 </tr>
24216 </table>
24217</div><div class="memdoc">
24218
24219<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00312">312</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24220<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; float32x4x4_t res = { {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; vmulq_n_f32(vec.val[0], val),</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; vmulq_n_f32(vec.val[1], val),</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; vmulq_n_f32(vec.val[2], val),</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; vmulq_n_f32(vec.val[3], val)</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; };</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;}</div></div><!-- fragment -->
24221</div>
24222</div>
24223<a id="aae85042ef273ca700734604b5488f2ff"></a>
24224<h2 class="memtitle"><span class="permalink"><a href="#aae85042ef273ca700734604b5488f2ff">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[1/7]</span></h2>
24225
24226<div class="memitem">
24227<div class="memproto">
24228<table class="mlabels">
24229 <tr>
24230 <td class="mlabels-left">
24231 <table class="memname">
24232 <tr>
24233 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt; arm_compute::vpmax </td>
24234 <td>(</td>
24235 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td>
24236 <td class="paramname"><em>a</em>, </td>
24237 </tr>
24238 <tr>
24239 <td class="paramkey"></td>
24240 <td></td>
24241 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td>
24242 <td class="paramname"><em>b</em>&#160;</td>
24243 </tr>
24244 <tr>
24245 <td></td>
24246 <td>)</td>
24247 <td></td><td></td>
24248 </tr>
24249 </table>
24250 </td>
24251 <td class="mlabels-right">
24252<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24253 </tr>
24254</table>
24255</div><div class="memdoc">
24256
24257<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24258
24259<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
24260<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24261</div>
24262</div>
24263<a id="a0d9a679f8dfa41f17d46f6c1e56ca82d"></a>
24264<h2 class="memtitle"><span class="permalink"><a href="#a0d9a679f8dfa41f17d46f6c1e56ca82d">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[2/7]</span></h2>
24265
24266<div class="memitem">
24267<div class="memproto">
24268<table class="mlabels">
24269 <tr>
24270 <td class="mlabels-left">
24271 <table class="memname">
24272 <tr>
24273 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt; arm_compute::vpmax </td>
24274 <td>(</td>
24275 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td>
24276 <td class="paramname"><em>a</em>, </td>
24277 </tr>
24278 <tr>
24279 <td class="paramkey"></td>
24280 <td></td>
24281 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td>
24282 <td class="paramname"><em>b</em>&#160;</td>
24283 </tr>
24284 <tr>
24285 <td></td>
24286 <td>)</td>
24287 <td></td><td></td>
24288 </tr>
24289 </table>
24290 </td>
24291 <td class="mlabels-right">
24292<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24293 </tr>
24294</table>
24295</div><div class="memdoc">
24296
24297<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24298<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24299</div>
24300</div>
24301<a id="a2bc9036a2d288d7a4ad2d015d91ba5d9"></a>
24302<h2 class="memtitle"><span class="permalink"><a href="#a2bc9036a2d288d7a4ad2d015d91ba5d9">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[3/7]</span></h2>
24303
24304<div class="memitem">
24305<div class="memproto">
24306<table class="mlabels">
24307 <tr>
24308 <td class="mlabels-left">
24309 <table class="memname">
24310 <tr>
24311 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt; arm_compute::vpmax </td>
24312 <td>(</td>
24313 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td>
24314 <td class="paramname"><em>a</em>, </td>
24315 </tr>
24316 <tr>
24317 <td class="paramkey"></td>
24318 <td></td>
24319 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td>
24320 <td class="paramname"><em>b</em>&#160;</td>
24321 </tr>
24322 <tr>
24323 <td></td>
24324 <td>)</td>
24325 <td></td><td></td>
24326 </tr>
24327 </table>
24328 </td>
24329 <td class="mlabels-right">
24330<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24331 </tr>
24332</table>
24333</div><div class="memdoc">
24334
24335<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24336<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24337</div>
24338</div>
24339<a id="ab831eb6268e8d3dcfd9ce6e1e7daf598"></a>
24340<h2 class="memtitle"><span class="permalink"><a href="#ab831eb6268e8d3dcfd9ce6e1e7daf598">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[4/7]</span></h2>
24341
24342<div class="memitem">
24343<div class="memproto">
24344<table class="mlabels">
24345 <tr>
24346 <td class="mlabels-left">
24347 <table class="memname">
24348 <tr>
24349 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt; arm_compute::vpmax </td>
24350 <td>(</td>
24351 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td>
24352 <td class="paramname"><em>a</em>, </td>
24353 </tr>
24354 <tr>
24355 <td class="paramkey"></td>
24356 <td></td>
24357 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td>
24358 <td class="paramname"><em>b</em>&#160;</td>
24359 </tr>
24360 <tr>
24361 <td></td>
24362 <td>)</td>
24363 <td></td><td></td>
24364 </tr>
24365 </table>
24366 </td>
24367 <td class="mlabels-right">
24368<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24369 </tr>
24370</table>
24371</div><div class="memdoc">
24372
24373<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24374<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24375</div>
24376</div>
24377<a id="aacd10f0e821aff266057a1fc443c6344"></a>
24378<h2 class="memtitle"><span class="permalink"><a href="#aacd10f0e821aff266057a1fc443c6344">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[5/7]</span></h2>
24379
24380<div class="memitem">
24381<div class="memproto">
24382<table class="mlabels">
24383 <tr>
24384 <td class="mlabels-left">
24385 <table class="memname">
24386 <tr>
24387 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt; arm_compute::vpmax </td>
24388 <td>(</td>
24389 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td>
24390 <td class="paramname"><em>a</em>, </td>
24391 </tr>
24392 <tr>
24393 <td class="paramkey"></td>
24394 <td></td>
24395 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td>
24396 <td class="paramname"><em>b</em>&#160;</td>
24397 </tr>
24398 <tr>
24399 <td></td>
24400 <td>)</td>
24401 <td></td><td></td>
24402 </tr>
24403 </table>
24404 </td>
24405 <td class="mlabels-right">
24406<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24407 </tr>
24408</table>
24409</div><div class="memdoc">
24410
24411<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24412<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24413</div>
24414</div>
24415<a id="aeb42b9eb65ed0207ddcdb9c870fd5697"></a>
24416<h2 class="memtitle"><span class="permalink"><a href="#aeb42b9eb65ed0207ddcdb9c870fd5697">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[6/7]</span></h2>
24417
24418<div class="memitem">
24419<div class="memproto">
24420<table class="mlabels">
24421 <tr>
24422 <td class="mlabels-left">
24423 <table class="memname">
24424 <tr>
24425 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt; arm_compute::vpmax </td>
24426 <td>(</td>
24427 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td>
24428 <td class="paramname"><em>a</em>, </td>
24429 </tr>
24430 <tr>
24431 <td class="paramkey"></td>
24432 <td></td>
24433 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td>
24434 <td class="paramname"><em>b</em>&#160;</td>
24435 </tr>
24436 <tr>
24437 <td></td>
24438 <td>)</td>
24439 <td></td><td></td>
24440 </tr>
24441 </table>
24442 </td>
24443 <td class="mlabels-right">
24444<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24445 </tr>
24446</table>
24447</div><div class="memdoc">
24448
24449<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24450<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24451</div>
24452</div>
24453<a id="af8efc828ccf4a8f2c6b26cfe3813952d"></a>
24454<h2 class="memtitle"><span class="permalink"><a href="#af8efc828ccf4a8f2c6b26cfe3813952d">&#9670;&nbsp;</a></span>vpmax() <span class="overload">[7/7]</span></h2>
24455
24456<div class="memitem">
24457<div class="memproto">
24458<table class="mlabels">
24459 <tr>
24460 <td class="mlabels-left">
24461 <table class="memname">
24462 <tr>
24463 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt; arm_compute::vpmax </td>
24464 <td>(</td>
24465 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td>
24466 <td class="paramname"><em>a</em>, </td>
24467 </tr>
24468 <tr>
24469 <td class="paramkey"></td>
24470 <td></td>
24471 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td>
24472 <td class="paramname"><em>b</em>&#160;</td>
24473 </tr>
24474 <tr>
24475 <td></td>
24476 <td>)</td>
24477 <td></td><td></td>
24478 </tr>
24479 </table>
24480 </td>
24481 <td class="mlabels-right">
24482<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24483 </tr>
24484</table>
24485</div><div class="memdoc">
24486
24487<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24488<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24489</div>
24490</div>
24491<a id="aa6465367a67af2bae4ca46750231dae0"></a>
24492<h2 class="memtitle"><span class="permalink"><a href="#aa6465367a67af2bae4ca46750231dae0">&#9670;&nbsp;</a></span>vpowq_f32()</h2>
24493
Anthony Barbierdbdab852017-06-23 15:42:00 +010024494<div class="memitem">
24495<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024496 <table class="memname">
24497 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024498 <td class="memname">float32x4_t arm_compute::vpowq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024499 <td>(</td>
24500 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000024501 <td class="paramname"><em>val</em>, </td>
24502 </tr>
24503 <tr>
24504 <td class="paramkey"></td>
24505 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024506 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000024507 <td class="paramname"><em>n</em>&#160;</td>
24508 </tr>
24509 <tr>
24510 <td></td>
24511 <td>)</td>
24512 <td></td><td></td>
24513 </tr>
24514 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000024515</div><div class="memdoc">
24516
24517<p>Calculate n power of a number. </p>
24518<p>pow(x,n) = e^(n*log(x))</p>
24519<dl class="params"><dt>Parameters</dt><dd>
24520 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024521 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
24522 <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 +000024523 </table>
24524 </dd>
24525</dl>
24526<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
24527
Jenkinsb9abeae2018-11-22 11:58:08 +000024528<p class="reference">Referenced by <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>.</p>
24529
Kaizen8938bd32017-09-28 14:38:23 +010024530</div>
24531</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000024532<a id="a3753b9d735032ba72e7df0c5cbba31a1"></a>
24533<h2 class="memtitle"><span class="permalink"><a href="#a3753b9d735032ba72e7df0c5cbba31a1">&#9670;&nbsp;</a></span>vst() <span class="overload">[1/14]</span></h2>
24534
24535<div class="memitem">
24536<div class="memproto">
24537<table class="mlabels">
24538 <tr>
24539 <td class="mlabels-left">
24540 <table class="memname">
24541 <tr>
24542 <td class="memname">void arm_compute::vst </td>
24543 <td>(</td>
24544 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint8_t &gt;&#160;</td>
24545 <td class="paramname"><em>ptr</em>, </td>
24546 </tr>
24547 <tr>
24548 <td class="paramkey"></td>
24549 <td></td>
24550 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint8_t &gt;&#160;</td>
24551 <td class="paramname"><em>vec</em>&#160;</td>
24552 </tr>
24553 <tr>
24554 <td></td>
24555 <td>)</td>
24556 <td></td><td></td>
24557 </tr>
24558 </table>
24559 </td>
24560 <td class="mlabels-right">
24561<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24562 </tr>
24563</table>
24564</div><div class="memdoc">
24565
24566<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24567
24568<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
24569<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24570</div>
24571</div>
24572<a id="aa17a7667769390f153ad5289d5390341"></a>
24573<h2 class="memtitle"><span class="permalink"><a href="#aa17a7667769390f153ad5289d5390341">&#9670;&nbsp;</a></span>vst() <span class="overload">[2/14]</span></h2>
24574
24575<div class="memitem">
24576<div class="memproto">
24577<table class="mlabels">
24578 <tr>
24579 <td class="mlabels-left">
24580 <table class="memname">
24581 <tr>
24582 <td class="memname">void arm_compute::vst </td>
24583 <td>(</td>
24584 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint8_t &gt;&#160;</td>
24585 <td class="paramname"><em>ptr</em>, </td>
24586 </tr>
24587 <tr>
24588 <td class="paramkey"></td>
24589 <td></td>
24590 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint8_t &gt;&#160;</td>
24591 <td class="paramname"><em>vec</em>&#160;</td>
24592 </tr>
24593 <tr>
24594 <td></td>
24595 <td>)</td>
24596 <td></td><td></td>
24597 </tr>
24598 </table>
24599 </td>
24600 <td class="mlabels-right">
24601<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24602 </tr>
24603</table>
24604</div><div class="memdoc">
24605
24606<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24607<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24608</div>
24609</div>
24610<a id="acec5b4ba08b0ab7d080e2177e4b3deb1"></a>
24611<h2 class="memtitle"><span class="permalink"><a href="#acec5b4ba08b0ab7d080e2177e4b3deb1">&#9670;&nbsp;</a></span>vst() <span class="overload">[3/14]</span></h2>
24612
24613<div class="memitem">
24614<div class="memproto">
24615<table class="mlabels">
24616 <tr>
24617 <td class="mlabels-left">
24618 <table class="memname">
24619 <tr>
24620 <td class="memname">void arm_compute::vst </td>
24621 <td>(</td>
24622 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int8_t &gt;&#160;</td>
24623 <td class="paramname"><em>ptr</em>, </td>
24624 </tr>
24625 <tr>
24626 <td class="paramkey"></td>
24627 <td></td>
24628 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int8_t &gt;&#160;</td>
24629 <td class="paramname"><em>vec</em>&#160;</td>
24630 </tr>
24631 <tr>
24632 <td></td>
24633 <td>)</td>
24634 <td></td><td></td>
24635 </tr>
24636 </table>
24637 </td>
24638 <td class="mlabels-right">
24639<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24640 </tr>
24641</table>
24642</div><div class="memdoc">
24643
24644<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24645<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24646</div>
24647</div>
24648<a id="ab2c29d96efc44a4163d8f594cd836d1e"></a>
24649<h2 class="memtitle"><span class="permalink"><a href="#ab2c29d96efc44a4163d8f594cd836d1e">&#9670;&nbsp;</a></span>vst() <span class="overload">[4/14]</span></h2>
24650
24651<div class="memitem">
24652<div class="memproto">
24653<table class="mlabels">
24654 <tr>
24655 <td class="mlabels-left">
24656 <table class="memname">
24657 <tr>
24658 <td class="memname">void arm_compute::vst </td>
24659 <td>(</td>
24660 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int8_t &gt;&#160;</td>
24661 <td class="paramname"><em>ptr</em>, </td>
24662 </tr>
24663 <tr>
24664 <td class="paramkey"></td>
24665 <td></td>
24666 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int8_t &gt;&#160;</td>
24667 <td class="paramname"><em>vec</em>&#160;</td>
24668 </tr>
24669 <tr>
24670 <td></td>
24671 <td>)</td>
24672 <td></td><td></td>
24673 </tr>
24674 </table>
24675 </td>
24676 <td class="mlabels-right">
24677<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24678 </tr>
24679</table>
24680</div><div class="memdoc">
24681
24682<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24683<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24684</div>
24685</div>
24686<a id="a090a9d8254580d7c22668e21e581d58e"></a>
24687<h2 class="memtitle"><span class="permalink"><a href="#a090a9d8254580d7c22668e21e581d58e">&#9670;&nbsp;</a></span>vst() <span class="overload">[5/14]</span></h2>
24688
24689<div class="memitem">
24690<div class="memproto">
24691<table class="mlabels">
24692 <tr>
24693 <td class="mlabels-left">
24694 <table class="memname">
24695 <tr>
24696 <td class="memname">void arm_compute::vst </td>
24697 <td>(</td>
24698 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint16_t &gt;&#160;</td>
24699 <td class="paramname"><em>ptr</em>, </td>
24700 </tr>
24701 <tr>
24702 <td class="paramkey"></td>
24703 <td></td>
24704 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint16_t &gt;&#160;</td>
24705 <td class="paramname"><em>vec</em>&#160;</td>
24706 </tr>
24707 <tr>
24708 <td></td>
24709 <td>)</td>
24710 <td></td><td></td>
24711 </tr>
24712 </table>
24713 </td>
24714 <td class="mlabels-right">
24715<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24716 </tr>
24717</table>
24718</div><div class="memdoc">
24719
24720<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24721<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24722</div>
24723</div>
24724<a id="a9893527df6922f85f0f3173142247ece"></a>
24725<h2 class="memtitle"><span class="permalink"><a href="#a9893527df6922f85f0f3173142247ece">&#9670;&nbsp;</a></span>vst() <span class="overload">[6/14]</span></h2>
24726
24727<div class="memitem">
24728<div class="memproto">
24729<table class="mlabels">
24730 <tr>
24731 <td class="mlabels-left">
24732 <table class="memname">
24733 <tr>
24734 <td class="memname">void arm_compute::vst </td>
24735 <td>(</td>
24736 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint16_t &gt;&#160;</td>
24737 <td class="paramname"><em>ptr</em>, </td>
24738 </tr>
24739 <tr>
24740 <td class="paramkey"></td>
24741 <td></td>
24742 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint16_t &gt;&#160;</td>
24743 <td class="paramname"><em>vec</em>&#160;</td>
24744 </tr>
24745 <tr>
24746 <td></td>
24747 <td>)</td>
24748 <td></td><td></td>
24749 </tr>
24750 </table>
24751 </td>
24752 <td class="mlabels-right">
24753<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24754 </tr>
24755</table>
24756</div><div class="memdoc">
24757
24758<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24759<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24760</div>
24761</div>
24762<a id="a7a7441e9c3870a817f9084697730a0e9"></a>
24763<h2 class="memtitle"><span class="permalink"><a href="#a7a7441e9c3870a817f9084697730a0e9">&#9670;&nbsp;</a></span>vst() <span class="overload">[7/14]</span></h2>
24764
24765<div class="memitem">
24766<div class="memproto">
24767<table class="mlabels">
24768 <tr>
24769 <td class="mlabels-left">
24770 <table class="memname">
24771 <tr>
24772 <td class="memname">void arm_compute::vst </td>
24773 <td>(</td>
24774 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int16_t &gt;&#160;</td>
24775 <td class="paramname"><em>ptr</em>, </td>
24776 </tr>
24777 <tr>
24778 <td class="paramkey"></td>
24779 <td></td>
24780 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int16_t &gt;&#160;</td>
24781 <td class="paramname"><em>vec</em>&#160;</td>
24782 </tr>
24783 <tr>
24784 <td></td>
24785 <td>)</td>
24786 <td></td><td></td>
24787 </tr>
24788 </table>
24789 </td>
24790 <td class="mlabels-right">
24791<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24792 </tr>
24793</table>
24794</div><div class="memdoc">
24795
24796<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24797<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24798</div>
24799</div>
24800<a id="ac9aedf36525da0e2306db27867c2bb5d"></a>
24801<h2 class="memtitle"><span class="permalink"><a href="#ac9aedf36525da0e2306db27867c2bb5d">&#9670;&nbsp;</a></span>vst() <span class="overload">[8/14]</span></h2>
24802
24803<div class="memitem">
24804<div class="memproto">
24805<table class="mlabels">
24806 <tr>
24807 <td class="mlabels-left">
24808 <table class="memname">
24809 <tr>
24810 <td class="memname">void arm_compute::vst </td>
24811 <td>(</td>
24812 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int16_t &gt;&#160;</td>
24813 <td class="paramname"><em>ptr</em>, </td>
24814 </tr>
24815 <tr>
24816 <td class="paramkey"></td>
24817 <td></td>
24818 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int16_t &gt;&#160;</td>
24819 <td class="paramname"><em>vec</em>&#160;</td>
24820 </tr>
24821 <tr>
24822 <td></td>
24823 <td>)</td>
24824 <td></td><td></td>
24825 </tr>
24826 </table>
24827 </td>
24828 <td class="mlabels-right">
24829<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24830 </tr>
24831</table>
24832</div><div class="memdoc">
24833
24834<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24835<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24836</div>
24837</div>
24838<a id="aca451511712482f55001063da2317427"></a>
24839<h2 class="memtitle"><span class="permalink"><a href="#aca451511712482f55001063da2317427">&#9670;&nbsp;</a></span>vst() <span class="overload">[9/14]</span></h2>
24840
24841<div class="memitem">
24842<div class="memproto">
24843<table class="mlabels">
24844 <tr>
24845 <td class="mlabels-left">
24846 <table class="memname">
24847 <tr>
24848 <td class="memname">void arm_compute::vst </td>
24849 <td>(</td>
24850 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint32_t &gt;&#160;</td>
24851 <td class="paramname"><em>ptr</em>, </td>
24852 </tr>
24853 <tr>
24854 <td class="paramkey"></td>
24855 <td></td>
24856 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; uint32_t &gt;&#160;</td>
24857 <td class="paramname"><em>vec</em>&#160;</td>
24858 </tr>
24859 <tr>
24860 <td></td>
24861 <td>)</td>
24862 <td></td><td></td>
24863 </tr>
24864 </table>
24865 </td>
24866 <td class="mlabels-right">
24867<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24868 </tr>
24869</table>
24870</div><div class="memdoc">
24871
24872<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24873<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24874</div>
24875</div>
24876<a id="aa1e4aafb14bd8eee38caa7ad5db69507"></a>
24877<h2 class="memtitle"><span class="permalink"><a href="#aa1e4aafb14bd8eee38caa7ad5db69507">&#9670;&nbsp;</a></span>vst() <span class="overload">[10/14]</span></h2>
24878
24879<div class="memitem">
24880<div class="memproto">
24881<table class="mlabels">
24882 <tr>
24883 <td class="mlabels-left">
24884 <table class="memname">
24885 <tr>
24886 <td class="memname">void arm_compute::vst </td>
24887 <td>(</td>
24888 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; uint32_t &gt;&#160;</td>
24889 <td class="paramname"><em>ptr</em>, </td>
24890 </tr>
24891 <tr>
24892 <td class="paramkey"></td>
24893 <td></td>
24894 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; uint32_t &gt;&#160;</td>
24895 <td class="paramname"><em>vec</em>&#160;</td>
24896 </tr>
24897 <tr>
24898 <td></td>
24899 <td>)</td>
24900 <td></td><td></td>
24901 </tr>
24902 </table>
24903 </td>
24904 <td class="mlabels-right">
24905<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24906 </tr>
24907</table>
24908</div><div class="memdoc">
24909
24910<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24911<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24912</div>
24913</div>
24914<a id="a59f96d9a74850a843c1f710803fe8de8"></a>
24915<h2 class="memtitle"><span class="permalink"><a href="#a59f96d9a74850a843c1f710803fe8de8">&#9670;&nbsp;</a></span>vst() <span class="overload">[11/14]</span></h2>
24916
24917<div class="memitem">
24918<div class="memproto">
24919<table class="mlabels">
24920 <tr>
24921 <td class="mlabels-left">
24922 <table class="memname">
24923 <tr>
24924 <td class="memname">void arm_compute::vst </td>
24925 <td>(</td>
24926 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int32_t &gt;&#160;</td>
24927 <td class="paramname"><em>ptr</em>, </td>
24928 </tr>
24929 <tr>
24930 <td class="paramkey"></td>
24931 <td></td>
24932 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; int32_t &gt;&#160;</td>
24933 <td class="paramname"><em>vec</em>&#160;</td>
24934 </tr>
24935 <tr>
24936 <td></td>
24937 <td>)</td>
24938 <td></td><td></td>
24939 </tr>
24940 </table>
24941 </td>
24942 <td class="mlabels-right">
24943<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24944 </tr>
24945</table>
24946</div><div class="memdoc">
24947
24948<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24949<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24950</div>
24951</div>
24952<a id="a788c1fc3809f77d2866e4282d374770b"></a>
24953<h2 class="memtitle"><span class="permalink"><a href="#a788c1fc3809f77d2866e4282d374770b">&#9670;&nbsp;</a></span>vst() <span class="overload">[12/14]</span></h2>
24954
24955<div class="memitem">
24956<div class="memproto">
24957<table class="mlabels">
24958 <tr>
24959 <td class="mlabels-left">
24960 <table class="memname">
24961 <tr>
24962 <td class="memname">void arm_compute::vst </td>
24963 <td>(</td>
24964 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; int32_t &gt;&#160;</td>
24965 <td class="paramname"><em>ptr</em>, </td>
24966 </tr>
24967 <tr>
24968 <td class="paramkey"></td>
24969 <td></td>
24970 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; int32_t &gt;&#160;</td>
24971 <td class="paramname"><em>vec</em>&#160;</td>
24972 </tr>
24973 <tr>
24974 <td></td>
24975 <td>)</td>
24976 <td></td><td></td>
24977 </tr>
24978 </table>
24979 </td>
24980 <td class="mlabels-right">
24981<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24982 </tr>
24983</table>
24984</div><div class="memdoc">
24985
24986<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
24987<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
24988</div>
24989</div>
24990<a id="abd25994f8abe7093700a88a65fdb6ad5"></a>
24991<h2 class="memtitle"><span class="permalink"><a href="#abd25994f8abe7093700a88a65fdb6ad5">&#9670;&nbsp;</a></span>vst() <span class="overload">[13/14]</span></h2>
24992
24993<div class="memitem">
24994<div class="memproto">
24995<table class="mlabels">
24996 <tr>
24997 <td class="mlabels-left">
24998 <table class="memname">
24999 <tr>
25000 <td class="memname">void arm_compute::vst </td>
25001 <td>(</td>
25002 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; float &gt;&#160;</td>
25003 <td class="paramname"><em>ptr</em>, </td>
25004 </tr>
25005 <tr>
25006 <td class="paramkey"></td>
25007 <td></td>
25008 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
25009 <td class="paramname"><em>vec</em>&#160;</td>
25010 </tr>
25011 <tr>
25012 <td></td>
25013 <td>)</td>
25014 <td></td><td></td>
25015 </tr>
25016 </table>
25017 </td>
25018 <td class="mlabels-right">
25019<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25020 </tr>
25021</table>
25022</div><div class="memdoc">
25023
25024<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
25025<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
25026</div>
25027</div>
25028<a id="a01cfd18ed87a496fc5d3be04a040be61"></a>
25029<h2 class="memtitle"><span class="permalink"><a href="#a01cfd18ed87a496fc5d3be04a040be61">&#9670;&nbsp;</a></span>vst() <span class="overload">[14/14]</span></h2>
25030
25031<div class="memitem">
25032<div class="memproto">
25033<table class="mlabels">
25034 <tr>
25035 <td class="mlabels-left">
25036 <table class="memname">
25037 <tr>
25038 <td class="memname">void arm_compute::vst </td>
25039 <td>(</td>
25040 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>&lt; float &gt;&#160;</td>
25041 <td class="paramname"><em>ptr</em>, </td>
25042 </tr>
25043 <tr>
25044 <td class="paramkey"></td>
25045 <td></td>
25046 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>&lt; float &gt;&#160;</td>
25047 <td class="paramname"><em>vec</em>&#160;</td>
25048 </tr>
25049 <tr>
25050 <td></td>
25051 <td>)</td>
25052 <td></td><td></td>
25053 </tr>
25054 </table>
25055 </td>
25056 <td class="mlabels-right">
25057<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25058 </tr>
25059</table>
25060</div><div class="memdoc">
25061
25062<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
25063<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
25064</div>
25065</div>
25066<a id="ad0ebbe865e9e6cfd1b2df041f8374ed0"></a>
25067<h2 class="memtitle"><span class="permalink"><a href="#ad0ebbe865e9e6cfd1b2df041f8374ed0">&#9670;&nbsp;</a></span>vsub()</h2>
25068
25069<div class="memitem">
25070<div class="memproto">
25071<table class="mlabels">
25072 <tr>
25073 <td class="mlabels-left">
25074 <table class="memname">
25075 <tr>
25076 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt; arm_compute::vsub </td>
25077 <td>(</td>
25078 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
25079 <td class="paramname"><em>a</em>, </td>
25080 </tr>
25081 <tr>
25082 <td class="paramkey"></td>
25083 <td></td>
25084 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>&lt; float &gt;&#160;</td>
25085 <td class="paramname"><em>b</em>&#160;</td>
25086 </tr>
25087 <tr>
25088 <td></td>
25089 <td>)</td>
25090 <td></td><td></td>
25091 </tr>
25092 </table>
25093 </td>
25094 <td class="mlabels-right">
25095<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25096 </tr>
25097</table>
25098</div><div class="memdoc">
25099
25100<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
25101
25102<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
25103<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div></div><!-- fragment -->
25104</div>
25105</div>
25106<a id="a3e59419da344d02daca9c5b274a1da45"></a>
25107<h2 class="memtitle"><span class="permalink"><a href="#a3e59419da344d02daca9c5b274a1da45">&#9670;&nbsp;</a></span>vtanhq_f32()</h2>
25108
Anthony Barbierdbdab852017-06-23 15:42:00 +010025109<div class="memitem">
25110<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025111 <table class="memname">
25112 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025113 <td class="memname">float32x4_t arm_compute::vtanhq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025114 <td>(</td>
25115 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025116 <td class="paramname"><em>val</em></td><td>)</td>
25117 <td></td>
25118 </tr>
25119 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000025120</div><div class="memdoc">
25121
25122<p>Calculate hyperbolic tangent. </p>
25123<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
Anthony Barbier46d59272017-05-04 09:15:15 +010025124<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 +000025125<dl class="params"><dt>Parameters</dt><dd>
25126 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025127 <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 +000025128 </table>
25129 </dd>
25130</dl>
25131<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25132
Anthony Barbier871448e2017-03-24 14:54:29 +000025133</div>
25134</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000025135<a id="a0c10bb00a86edd8d0cd4c33b494f6cd4"></a>
25136<h2 class="memtitle"><span class="permalink"><a href="#a0c10bb00a86edd8d0cd4c33b494f6cd4">&#9670;&nbsp;</a></span>vtaylor_polyq_f32()</h2>
25137
Anthony Barbierdbdab852017-06-23 15:42:00 +010025138<div class="memitem">
25139<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025140 <table class="memname">
25141 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025142 <td class="memname">float32x4_t arm_compute::vtaylor_polyq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025143 <td>(</td>
25144 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025145 <td class="paramname"><em>x</em>, </td>
25146 </tr>
25147 <tr>
25148 <td class="paramkey"></td>
25149 <td></td>
25150 <td class="paramtype">const std::array&lt; float32x4_t, 8 &gt; &amp;&#160;</td>
25151 <td class="paramname"><em>coeffs</em>&#160;</td>
25152 </tr>
25153 <tr>
25154 <td></td>
25155 <td>)</td>
25156 <td></td><td></td>
25157 </tr>
25158 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000025159</div><div class="memdoc">
25160
25161<p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
25162<dl class="params"><dt>Parameters</dt><dd>
25163 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025164 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
25165 <tr><td class="paramdir">[in]</td><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000025166 </table>
25167 </dd>
25168</dl>
25169<dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
25170
Anthony Barbier871448e2017-03-24 14:54:29 +000025171</div>
25172</div>
25173<h2 class="groupheader">Variable Documentation</h2>
Jenkinsb9abeae2018-11-22 11:58:08 +000025174<a id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
25175<h2 class="memtitle"><span class="permalink"><a href="#a3fed059965fe44cbe7ed4091d6b63acf">&#9670;&nbsp;</a></span>CONSTANT_BORDER_VALUE</h2>
25176
Anthony Barbier871448e2017-03-24 14:54:29 +000025177<div class="memitem">
25178<div class="memproto">
25179 <table class="memname">
25180 <tr>
25181 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
25182 </tr>
25183 </table>
25184</div><div class="memdoc">
25185
25186<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>
25187
Jenkinsb9abeae2018-11-22 11:58:08 +000025188<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00100">100</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 +000025189
25190</div>
25191</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000025192<a id="a869945609357fa552d94eb16f7aad4e9"></a>
25193<h2 class="memtitle"><span class="permalink"><a href="#a869945609357fa552d94eb16f7aad4e9">&#9670;&nbsp;</a></span>exp_tab</h2>
25194
Anthony Barbier871448e2017-03-24 14:54:29 +000025195<div class="memitem">
25196<div class="memproto">
25197 <table class="memname">
25198 <tr>
25199 <td class="memname">const std::array&lt;float32x4_t, 8&gt; exp_tab</td>
25200 </tr>
25201 </table>
25202</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025203<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 +010025204<p>Exponent polynomial coefficients. </p>
25205
Jenkinsb9abeae2018-11-22 11:58:08 +000025206<p class="definition">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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025207
Anthony Barbier871448e2017-03-24 14:54:29 +000025208</div>
25209</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000025210<a id="a48fb9cf404e8f7043235bf14105c9793"></a>
25211<h2 class="memtitle"><span class="permalink"><a href="#a48fb9cf404e8f7043235bf14105c9793">&#9670;&nbsp;</a></span>log_tab</h2>
25212
Anthony Barbier871448e2017-03-24 14:54:29 +000025213<div class="memitem">
25214<div class="memproto">
25215 <table class="memname">
25216 <tr>
25217 <td class="memname">const std::array&lt;float32x4_t, 8&gt; log_tab</td>
25218 </tr>
25219 </table>
25220</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025221<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 +010025222<p>Logarithm polynomial coefficients. </p>
25223
Jenkinsb9abeae2018-11-22 11:58:08 +000025224<p class="definition">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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025225
Anthony Barbier871448e2017-03-24 14:54:29 +000025226</div>
25227</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000025228<a id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
25229<h2 class="memtitle"><span class="permalink"><a href="#a769d636d7a3c7c84579a5f477a18bc9d">&#9670;&nbsp;</a></span>MAX_DIMS</h2>
25230
Anthony Barbier871448e2017-03-24 14:54:29 +000025231<div class="memitem">
25232<div class="memproto">
25233 <table class="memname">
25234 <tr>
25235 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
25236 </tr>
25237 </table>
25238</div><div class="memdoc">
25239
Jenkinsb3a371b2018-05-23 11:36:53 +010025240<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>
25241
Jenkinsb9abeae2018-11-22 11:58:08 +000025242<p class="definition">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>
Anthony Barbier871448e2017-03-24 14:54:29 +000025243
25244</div>
25245</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000025246<a id="a13d15bf68bbaf481be9ba3988b1cf779"></a>
25247<h2 class="memtitle"><span class="permalink"><a href="#a13d15bf68bbaf481be9ba3988b1cf779">&#9670;&nbsp;</a></span>num_num_elems_processed_per_iteration</h2>
25248
25249<div class="memitem">
25250<div class="memproto">
25251 <table class="memname">
25252 <tr>
25253 <td class="memname">constexpr unsigned int num_num_elems_processed_per_iteration = 16</td>
25254 </tr>
25255 </table>
25256</div><div class="memdoc">
25257
25258<p class="definition">Definition at line <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml">NETableLookupKernel.cpp</a>.</p>
25259
25260<p class="reference">Referenced by <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00109">NETableLookupKernel::configure()</a>, and <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00046">NETableLookupKernel::NETableLookupKernel()</a>.</p>
25261
25262</div>
25263</div>
25264<a id="af9876aedd664cac0ddeacddb40cb71cd"></a>
25265<h2 class="memtitle"><span class="permalink"><a href="#af9876aedd664cac0ddeacddb40cb71cd">&#9670;&nbsp;</a></span>SCALE_PYRAMID_HALF</h2>
25266
Anthony Barbier871448e2017-03-24 14:54:29 +000025267<div class="memitem">
25268<div class="memproto">
25269 <table class="memname">
25270 <tr>
25271 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
25272 </tr>
25273 </table>
25274</div><div class="memdoc">
25275
Jenkinsb3a371b2018-05-23 11:36:53 +010025276<p>Constant value used to indicate a half-scale pyramid. </p>
25277
Jenkinsb9abeae2018-11-22 11:58:08 +000025278<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00103">103</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 +000025279
Jenkinsb9abeae2018-11-22 11:58:08 +000025280<p class="reference">Referenced by <a class="el" href="_c_l_gaussian_pyramid_8cpp_source.xhtml#l00059">CLGaussianPyramidHalf::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_8cpp_source.xhtml#l00057">NEGaussianPyramidHalf::configure()</a>, <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 +000025281
25282</div>
25283</div>
Jenkinsb9abeae2018-11-22 11:58:08 +000025284<a id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
25285<h2 class="memtitle"><span class="permalink"><a href="#a2ebcd5423d5fba468e7debd2e1aabe91">&#9670;&nbsp;</a></span>SCALE_PYRAMID_ORB</h2>
25286
Anthony Barbier871448e2017-03-24 14:54:29 +000025287<div class="memitem">
25288<div class="memproto">
25289 <table class="memname">
25290 <tr>
25291 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
25292 </tr>
25293 </table>
25294</div><div class="memdoc">
25295
Jenkinsb3a371b2018-05-23 11:36:53 +010025296<p>Constant value used to indicate a ORB scaled pyramid. </p>
25297
Jenkinsb9abeae2018-11-22 11:58:08 +000025298<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00106">106</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
25299
25300<p class="reference">Referenced by <a class="el" href="_c_l_gaussian_pyramid_8cpp_source.xhtml#l00139">CLGaussianPyramidOrb::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_8cpp_source.xhtml#l00133">NEGaussianPyramidOrb::configure()</a>, <a class="el" href="_pyramid_8cpp_source.xhtml#l00041">Pyramid::init_auto_padding()</a>, and <a class="el" href="_c_l_pyramid_8cpp_source.xhtml#l00047">CLPyramid::init_auto_padding()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000025301
25302</div>
25303</div>
25304</div><!-- contents -->
25305</div><!-- doc-content -->
25306<!-- start footer part -->
25307<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
25308 <ul>
25309 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
Jenkinsb9abeae2018-11-22 11:58:08 +000025310 <li class="footer">Generated on Thu Nov 22 2018 11:57:44 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +000025311 <a href="http://www.doxygen.org/index.html">
Jenkinsb9abeae2018-11-22 11:58:08 +000025312 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +000025313 </ul>
25314</div>
25315</body>
25316</html>