blob: bf52da2327e7208a9e741dd9656bbd4774f8e4b0 [file] [log] [blame]
Anthony Barbier871448e2017-03-24 14:54:29 +00001<!-- HTML header for doxygen 1.8.9.1-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007<meta name="generator" content="Doxygen 1.8.11"/>
Anthony Barbier871448e2017-03-24 14:54:29 +00008<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01009<title>Compute Library: arm_compute Namespace Reference</title>
Anthony Barbier871448e2017-03-24 14:54:29 +000010<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015<script type="text/javascript" src="navtreedata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000016<script type="text/javascript" src="navtree.js"></script>
17<script type="text/javascript">
18 $(document).ready(initResizable);
19 $(window).load(resizeHeight);
20</script>
21<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022<script type="text/javascript" src="search/searchdata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000023<script type="text/javascript" src="search/search.js"></script>
24<script type="text/javascript">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025 $(document).ready(function() { init_search(); });
Anthony Barbier871448e2017-03-24 14:54:29 +000026</script>
27<script type="text/x-mathjax-config">
28 MathJax.Hub.Config({
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
31});
Anthony Barbier8140e1e2017-12-14 23:48:46 +000032</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000033<link href="doxygen.css" rel="stylesheet" type="text/css" />
34</head>
35<body>
36<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37<div id="titlearea">
38<table cellspacing="0" cellpadding="0">
39 <tbody>
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010042 <div id="projectname">Compute Library
Jenkinsb3a371b2018-05-23 11:36:53 +010043 &#160;<span id="projectnumber">18.05</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000044 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000051<!-- Generated by Doxygen 1.8.11 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000052<script type="text/javascript">
53var searchBox = new SearchBox("searchBox", "search",false,'Search');
54</script>
55 <div id="navrow1" class="tabs">
56 <ul class="tablist">
57 <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
Anthony Barbierdbdab852017-06-23 15:42:00 +010058 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000059 <li class="current"><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61 <li><a href="files.xhtml"><span>Files</span></a></li>
62 <li>
63 <div id="MSearchBox" class="MSearchBoxInactive">
64 <span class="left">
65 <img id="MSearchSelect" src="search/mag_sel.png"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 alt=""/>
69 <input type="text" id="MSearchField" value="Search" accesskey="S"
70 onfocus="searchBox.OnSearchFieldFocus(true)"
71 onblur="searchBox.OnSearchFieldFocus(false)"
72 onkeyup="searchBox.OnSearchFieldChange(event)"/>
73 </span><span class="right">
74 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75 </span>
76 </div>
77 </li>
78 </ul>
79 </div>
80 <div id="navrow2" class="tabs2">
81 <ul class="tablist">
82 <li><a href="namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
83 <li><a href="namespacemembers.xhtml"><span>Namespace&#160;Members</span></a></li>
84 </ul>
85 </div>
86</div><!-- top -->
87<div id="side-nav" class="ui-resizable side-nav-resizable">
88 <div id="nav-tree">
89 <div id="nav-tree-contents">
90 <div id="nav-sync" class="sync"></div>
91 </div>
92 </div>
93 <div id="splitbar" style="-moz-user-select:none;"
94 class="ui-resizable-handle">
95 </div>
96</div>
97<script type="text/javascript">
98$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
99</script>
100<div id="doc-content">
101<!-- window showing the filter options -->
102<div id="MSearchSelectWindow"
103 onmouseover="return searchBox.OnSearchSelectShow()"
104 onmouseout="return searchBox.OnSearchSelectHide()"
105 onkeydown="return searchBox.OnSearchSelectKey(event)">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000106</div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000107
108<!-- iframe showing the search results (closed by default) -->
109<div id="MSearchResultsWindow">
110<iframe src="javascript:void(0)" frameborder="0"
111 name="MSearchResults" id="MSearchResults">
112</iframe>
113</div>
114
115<div class="header">
116 <div class="summary">
117<a href="#namespaces">Namespaces</a> &#124;
118<a href="#nested-classes">Data Structures</a> &#124;
119<a href="#typedef-members">Typedefs</a> &#124;
120<a href="#enum-members">Enumerations</a> &#124;
121<a href="#func-members">Functions</a> &#124;
122<a href="#var-members">Variables</a> </div>
123 <div class="headertitle">
124<div class="title">arm_compute Namespace Reference</div> </div>
125</div><!--header-->
126<div class="contents">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000127
128<p>This file contains all available output stages for GEMMLowp on OpenCL.
129<a href="#details">More...</a></p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000130<table class="memberdecls">
131<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
132Namespaces</h2></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000133<tr class="memitem:namespacearm__compute_1_1detail"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1detail.xhtml">detail</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000135<tr class="memitem:namespacearm__compute_1_1gles"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1gles.xhtml">gles</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100136<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000137<tr class="memitem:namespacearm__compute_1_1graph"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000139<tr class="memitem:namespacearm__compute_1_1graph__utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml">graph_utils</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000141<tr class="memitem:namespacearm__compute_1_1io"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1io.xhtml">io</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100142<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000143<tr class="memitem:namespacearm__compute_1_1logging"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1logging.xhtml">logging</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100144<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000145<tr class="memitem:namespacearm__compute_1_1misc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1misc.xhtml">misc</a></td></tr>
146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:namespacearm__compute_1_1quantization"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1quantization.xhtml">quantization</a></td></tr>
148<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100149<tr class="memitem:namespacearm__compute_1_1strong__type"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1strong__type.xhtml">strong_type</a></td></tr>
150<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000151<tr class="memitem:namespacearm__compute_1_1support"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1support.xhtml">support</a></td></tr>
152<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></td></tr>
154<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:namespacearm__compute_1_1traits"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1traits.xhtml">traits</a></td></tr>
156<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100157<tr class="memitem:namespacearm__compute_1_1tuners"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1tuners.xhtml">tuners</a></td></tr>
158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000159<tr class="memitem:namespacearm__compute_1_1utility"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utility.xhtml">utility</a></td></tr>
160<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:namespacearm__compute_1_1utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utils.xhtml">utils</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100162<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000163<tr class="memitem:namespacearm__compute_1_1wrapper"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml">wrapper</a></td></tr>
164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000165</table><table class="memberdecls">
166<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
167Data Structures</h2></td></tr>
168<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_auto_padding.xhtml">AccessWindowAutoPadding</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000169<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy access window. <a href="classarm__compute_1_1_access_window_auto_padding.xhtml#details">More...</a><br /></td></tr>
170<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
172<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a row access pattern. <a href="classarm__compute_1_1_access_window_horizontal.xhtml#details">More...</a><br /></td></tr>
173<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
175<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a rectangular access pattern. <a href="classarm__compute_1_1_access_window_rectangle.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000176<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000178<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a static rectangular access pattern. <a href="classarm__compute_1_1_access_window_static.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000179<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
180<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_transpose.xhtml">AccessWindowTranspose</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000181<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a XY-transpose access pattern. <a href="classarm__compute_1_1_access_window_transpose.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000182<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000183<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
184<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a column access pattern. <a href="classarm__compute_1_1_access_window_vertical.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000185<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000186<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">ActivationLayerInfo</a></td></tr>
187<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activation Layer Information class. <a href="classarm__compute_1_1_activation_layer_info.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000188<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000189<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_allocator.xhtml">Allocator</a></td></tr>
190<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default malloc allocator implementation. <a href="classarm__compute_1_1_allocator.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000191<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000192<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
193<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the <a class="el" href="classarm__compute_1_1_i_array.xhtml" title="Array of type T. ">IArray</a> interface which allocates a static number of T values. <a href="classarm__compute_1_1_array.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000194<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100195<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a></td></tr>
196<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assembly kernel glue. <a href="classarm__compute_1_1_assembly_kernel_glue.xhtml#details">More...</a><br /></td></tr>
197<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000198<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_lifetime_manager.xhtml">BlobLifetimeManager</a></td></tr>
199<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 +0000200<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000201<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_memory_pool.xhtml">BlobMemoryPool</a></td></tr>
202<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 +0000203<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000204<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
205<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 +0000206<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000207<tr class="memitem:"><td 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>
208<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 +0000209<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100210<tr class="memitem:"><td 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 +0000211<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>
212<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:"><td 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>
214<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 +0000215<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100216<tr class="memitem:"><td 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 +0000217<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 +0000218<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000219<tr class="memitem:"><td 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>
220<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 +0000221<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100222<tr class="memitem:"><td 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 +0000223<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>
224<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml">CLAccumulateWeighted</a></td></tr>
226<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>
227<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
229<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>
230<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
231<tr class="memitem:"><td 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>
232<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 +0000233<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100234<tr class="memitem:"><td 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 +0000235<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>
236<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
237<tr class="memitem:"><td 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>
238<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 +0000239<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100240<tr class="memitem:"><td 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 +0000241<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>
242<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
243<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
244<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 +0000245<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100246<tr class="memitem:"><td 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 +0000247<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>
248<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
249<tr class="memitem:"><td 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>
250<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>
251<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
252<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml">CLBatchNormalizationLayer</a></td></tr>
253<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 +0000254<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100255<tr class="memitem:"><td 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 +0000256<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>
257<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
258<tr class="memitem:"><td 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>
259<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 +0000260<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100261<tr class="memitem:"><td 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 +0000262<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>
263<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
264<tr class="memitem:"><td 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>
265<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 +0000266<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100267<tr class="memitem:"><td 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 +0000268<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>
269<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
270<tr class="memitem:"><td 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>
271<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 +0000272<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100273<tr class="memitem:"><td 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 +0000274<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>
275<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
276<tr class="memitem:"><td 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>
277<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 +0000278<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100279<tr class="memitem:"><td 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 +0000280<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>
281<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
282<tr class="memitem:"><td 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>
283<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 +0000284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100285<tr class="memitem:"><td 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 +0000286<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 +0000287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000288<tr class="memitem:"><td 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>
289<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 +0100290<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100291<tr class="memitem:"><td 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>
292<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>
293<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000294<tr class="memitem:"><td 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>
295<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 +0000296<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000297<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_canny_edge.xhtml">CLCannyEdge</a></td></tr>
298<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>
299<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
300<tr class="memitem:"><td 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>
301<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 +0000302<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100303<tr class="memitem:"><td 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 +0000304<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>
305<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
306<tr class="memitem:"><td 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>
307<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 +0000308<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100309<tr class="memitem:"><td 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 +0000310<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 +0100311<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100312<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_shuffle_layer.xhtml">CLChannelShuffleLayer</a></td></tr>
313<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>
314<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
315<tr class="memitem:"><td 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>
316<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>
317<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
318<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_coarse_s_v_m_memory_region.xhtml">CLCoarseSVMMemoryRegion</a></td></tr>
319<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>
320<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100321<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 +0000322<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 +0100323<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000324<tr class="memitem:"><td 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>
325<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 +0100326<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000327<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
328<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>
329<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
330<tr class="memitem:"><td 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>
331<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>
332<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100333<tr class="memitem:"><td 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>
334<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>
335<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
336<tr class="memitem:"><td 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>
337<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>
338<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000339<tr class="memitem:"><td 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>
340<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>
341<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
342<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
343<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>
344<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
345<tr class="memitem:"><td 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>
346<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>
347<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
348<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml">CLConvolutionLayerReshapeWeights</a></td></tr>
349<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>
350<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
351<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
352<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>
353<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
354<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
355<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>
356<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
357<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
358<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>
359<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100360<tr class="memitem:"><td 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>
361<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
362<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_copy_kernel.xhtml">CLCopyKernel</a></td></tr>
363<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>
364<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000365<tr class="memitem:"><td 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>
366<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>
367<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000368<tr class="memitem:"><td 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>
369<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>
370<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
371<tr class="memitem:"><td 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>
372<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>
373<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
374<tr class="memitem:"><td 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>
375<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>
376<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000377<tr class="memitem:"><td 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>
378<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>
379<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
380<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate_layer_kernel.xhtml">CLDepthConcatenateLayerKernel</a></td></tr>
381<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>
382<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
383<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_layer.xhtml">CLDepthConvertLayer</a></td></tr>
384<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>
385<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
386<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_layer_kernel.xhtml">CLDepthConvertLayerKernel</a></td></tr>
387<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>
388<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
389<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer.xhtml">CLDepthwiseConvolutionLayer</a></td></tr>
390<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>
391<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
392<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3.xhtml">CLDepthwiseConvolutionLayer3x3</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100393<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 +0000394<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100395<tr class="memitem:"><td 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>
396<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>
397<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
398<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel.xhtml">CLDepthwiseConvolutionLayer3x3NHWCKernel</a></td></tr>
399<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 +0000400<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
401<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml">CLDepthwiseIm2ColKernel</a></td></tr>
402<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>
403<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
404<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
405<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>
406<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
407<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml">CLDepthwiseVectorToTensorKernel</a></td></tr>
408<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>
409<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
410<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml">CLDepthwiseWeightsReshapeKernel</a></td></tr>
411<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>
412<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
413<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer.xhtml">CLDequantizationLayer</a></td></tr>
414<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>
415<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
416<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml">CLDequantizationLayerKernel</a></td></tr>
417<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>
418<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
419<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative.xhtml">CLDerivative</a></td></tr>
420<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>
421<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
422<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
423<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>
424<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100425<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>
426<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>
427<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000428<tr class="memitem:"><td 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>
429<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>
430<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
431<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
432<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>
433<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
434<tr class="memitem:"><td 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>
435<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>
436<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
437<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml">CLDirectConvolutionLayerKernel</a></td></tr>
438<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>
439<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000440<tr class="memitem:"><td 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>
441<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>
442<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000443<tr class="memitem:"><td 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>
444<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>
445<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
446<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
447<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>
448<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
449<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
450<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>
451<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
452<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
453<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>
454<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
455<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode.xhtml">CLErode</a></td></tr>
456<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>
457<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
458<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
459<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>
460<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
461<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
462<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>
463<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
464<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
465<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>
466<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
467<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border.xhtml">CLFillBorder</a></td></tr>
468<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>
469<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
470<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
471<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>
472<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100473<tr class="memitem:"><td 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>
474<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>
475<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000476<tr class="memitem:"><td 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>
477<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>
478<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
479<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor.xhtml">CLFloor</a></td></tr>
480<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>
481<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
482<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a></td></tr>
483<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>
484<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
485<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
486<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>
487<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
488<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml">CLFullyConnectedLayerReshapeWeights</a></td></tr>
489<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>
490<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
491<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
492<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>
493<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
494<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
495<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>
496<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
497<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
498<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>
499<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
500<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
501<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>
502<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
503<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
504<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>
505<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
506<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
507<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>
508<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
509<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
510<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>
511<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
512<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
513<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>
514<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
515<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
516<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>
517<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
518<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
519<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>
520<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
521<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
522<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>
523<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000524<tr class="memitem:"><td 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>
525<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>
526<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000527<tr class="memitem:"><td 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>
528<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>
529<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
530<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
531<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>
532<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
533<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml">CLGEMMLowpMatrixAReductionKernel</a></td></tr>
534<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>
535<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
536<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml">CLGEMMLowpMatrixBReductionKernel</a></td></tr>
537<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>
538<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
539<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_core.xhtml">CLGEMMLowpMatrixMultiplyCore</a></td></tr>
540<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>
541<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
542<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
543<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>
544<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
545<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_offset_contribution_kernel.xhtml">CLGEMMLowpOffsetContributionKernel</a></td></tr>
546<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>
547<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
548<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
549<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>
550<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
551<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
552<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>
553<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
554<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
555<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>
556<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
557<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
558<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>
559<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
560<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
561<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>
562<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
563<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
564<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>
565<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
566<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
567<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>
568<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
569<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml">CLGEMMMatrixVectorMultiplyKernel</a></td></tr>
570<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>
571<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
572<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml">CLGEMMTranspose1xW</a></td></tr>
573<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>
574<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
575<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
576<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>
577<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
578<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
579<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>
580<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
581<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
582<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>
583<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
584<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
585<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>
586<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
587<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram.xhtml">CLHistogram</a></td></tr>
588<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>
589<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
590<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
591<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>
592<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
593<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
594<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>
595<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
596<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g.xhtml">CLHOG</a></td></tr>
597<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>
598<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
599<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml">CLHOGBlockNormalizationKernel</a></td></tr>
600<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>
601<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
602<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml">CLHOGDescriptor</a></td></tr>
603<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>
604<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
605<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml">CLHOGDetector</a></td></tr>
606<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>
607<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
608<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml">CLHOGDetectorKernel</a></td></tr>
609<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> 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>
610<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
611<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml">CLHOGGradient</a></td></tr>
612<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>
613<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
614<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml">CLHOGMultiDetection</a></td></tr>
615<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>
616<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
617<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml">CLHOGOrientationBinningKernel</a></td></tr>
618<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br /></td></tr>
619<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
620<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
621<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>
622<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
623<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
624<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>
625<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
626<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
627<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>
628<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
629<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
630<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>
631<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
632<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
633<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>
634<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
635<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_layer.xhtml">CLL2NormalizeLayer</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100636<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 +0000637<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
638<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_layer_kernel.xhtml">CLL2NormalizeLayerKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100639<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 +0000640<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
641<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
642<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>
643<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
644<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
645<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>
646<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
647<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>
648<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 +0100649<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
650<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml">CLLKTrackerFinalizeKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000651<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>
652<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
653<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
654<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 +0100655<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
656<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml">CLLKTrackerStage0Kernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000657<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 +0100658<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
659<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml">CLLKTrackerStage1Kernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000660<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the 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>
661<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
662<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml">CLLocallyConnectedLayer</a></td></tr>
663<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 +0100664<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
665<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml">CLLocallyConnectedMatrixMultiplyKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000666<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 +0000667<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100668<tr class="memitem:"><td 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 +0000669<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 +0000670<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000671<tr class="memitem:"><td 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>
672<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 +0100673<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100674<tr class="memitem:"><td 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 +0000675<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 +0000676<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000677<tr class="memitem:"><td 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>
678<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 +0000679<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100680<tr class="memitem:"><td 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>
681<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>
682<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000683<tr class="memitem:"><td 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>
684<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 +0000685<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000686<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
687<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 +0000688<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000689<tr class="memitem:"><td 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>
690<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 +0000691<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000692<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a></td></tr>
693<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 +0000694<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000695<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev.xhtml">CLMeanStdDev</a></td></tr>
696<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>
697<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
698<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
699<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>
700<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
701<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
702<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>
703<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
704<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
705<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>
706<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100707<tr class="memitem:"><td 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>
708<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>
709<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000710<tr class="memitem:"><td 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>
711<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>
712<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
713<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml">CLMinMaxLayerKernel</a></td></tr>
714<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>
715<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
716<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
717<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>
718<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
719<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
720<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>
721<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
722<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml">CLMultiHOG</a></td></tr>
723<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>
724<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
725<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
726<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>
727<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
728<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
729<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>
730<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
731<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
732<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>
733<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
734<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
735<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>
736<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
737<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
738<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>
739<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
740<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
741<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>
742<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
743<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
744<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>
745<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
746<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>
747<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>
748<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
749<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
750<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>
751<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000752<tr class="memitem:"><td 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>
753<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>
754<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
755<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_permute_kernel.xhtml">CLPermuteKernel</a></td></tr>
756<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>
757<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000758<tr class="memitem:"><td 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>
759<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>
760<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
761<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
762<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>
763<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
764<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
765<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>
766<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
767<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
768<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>
769<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
770<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
771<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>
772<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
773<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
774<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>
775<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
776<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer.xhtml">CLQuantizationLayer</a></td></tr>
777<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>
778<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
779<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml">CLQuantizationLayerKernel</a></td></tr>
780<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>
781<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
782<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation.xhtml">CLReductionOperation</a></td></tr>
783<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>
784<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
785<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml">CLReductionOperationKernel</a></td></tr>
786<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>
787<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
788<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap.xhtml">CLRemap</a></td></tr>
789<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>
790<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
791<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
792<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>
793<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
794<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer.xhtml">CLReshapeLayer</a></td></tr>
795<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>
796<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
797<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a></td></tr>
798<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>
799<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100800<tr class="memitem:"><td 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>
801<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>
802<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000803<tr class="memitem:"><td 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>
804<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_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>
805<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
806<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a></td></tr>
807<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>
808<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
809<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale.xhtml">CLScale</a></td></tr>
810<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a>. <a href="classarm__compute_1_1_c_l_scale.xhtml#details">More...</a><br /></td></tr>
811<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
812<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
813<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>
814<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
815<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
816<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>
817<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
818<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
819<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>
820<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
821<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
822<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>
823<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
824<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
825<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>
826<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
827<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
828<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>
829<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
830<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
831<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>
832<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
833<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
834<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>
835<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
836<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
837<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>
838<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
839<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
840<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>
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_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
843<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>
844<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
845<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
846<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>
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_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
849<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml#details">More...</a><br /></td></tr>
850<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
851<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
852<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
853<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
854<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
855<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>
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_sub_tensor.xhtml">CLSubTensor</a></td></tr>
858<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 +0100859<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100860<tr class="memitem:"><td 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 +0100861<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 +0100862<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000863<tr class="memitem:"><td 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>
864<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>
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_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
867<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>
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_tensor.xhtml">CLTensor</a></td></tr>
870<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>
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_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
873<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>
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_threshold.xhtml">CLThreshold</a></td></tr>
876<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>
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_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
879<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>
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_transpose.xhtml">CLTranspose</a></td></tr>
882<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>
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_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
885<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>
886<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
887<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tuner.xhtml">CLTuner</a></td></tr>
888<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>
889<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
890<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine.xhtml">CLWarpAffine</a></td></tr>
891<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>
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_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
894<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>
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_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
897<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>
898<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
899<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
900<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>
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_weights_reshape_kernel.xhtml">CLWeightsReshapeKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100903<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>
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_width_concatenate_layer.xhtml">CLWidthConcatenateLayer</a></td></tr>
906<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>
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_width_concatenate_layer_kernel.xhtml">CLWidthConcatenateLayerKernel</a></td></tr>
909<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>
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_winograd_convolution_layer.xhtml">CLWinogradConvolutionLayer</a></td></tr>
912<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>
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_winograd_filter_transform_kernel.xhtml">CLWinogradFilterTransformKernel</a></td></tr>
915<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>
916<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
917<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_winograd_input_transform.xhtml">CLWinogradInputTransform</a></td></tr>
918<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>
919<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
920<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_winograd_input_transform_kernel.xhtml">CLWinogradInputTransformKernel</a></td></tr>
921<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>
922<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
923<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_winograd_output_transform_kernel.xhtml">CLWinogradOutputTransformKernel</a></td></tr>
924<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 +0000925<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000926<tr class="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 +0000927<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>
928<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
929<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>
930<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>
931<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
932<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>
933<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>
934<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
935<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
936<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>
937<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
938<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml">CPPDetectionWindowNonMaximaSuppressionKernel</a></td></tr>
939<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>
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_p_p_permute.xhtml">CPPPermute</a></td></tr>
942<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_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>
943<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
944<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_permute_kernel.xhtml">CPPPermuteKernel</a></td></tr>
945<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>
946<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
947<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
948<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>
949<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
950<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
951<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 +0000952<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100953<tr class="memitem:"><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>
954<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>
955<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
956<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_upsample_kernel.xhtml">CPPUpsampleKernel</a></td></tr>
957<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>
958<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
959<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000960<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000961<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>
962<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 +0000963<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
964<tr class="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 +0000965<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>
966<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
967<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
968<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 +0000969<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100970<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 +0100971<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 +0100972<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000973<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 +0100974<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 +0000975<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000976<tr class="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>
977<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 +0000978<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000979<tr class="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>
980<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 +0100981<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000982<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">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>
983<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 +0100984<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000985<tr class="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>
986<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 +0100987<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000988<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition.xhtml">GCArithmeticAddition</a></td></tr>
989<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml">GCArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_g_c_arithmetic_addition.xhtml#details">More...</a><br /></td></tr>
990<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
991<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml">GCArithmeticAdditionKernel</a></td></tr>
992<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>
993<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000994<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer.xhtml">GCBatchNormalizationLayer</a></td></tr>
995<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_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 +0000996<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000997<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml">GCBatchNormalizationLayerKernel</a></td></tr>
998<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 +0000999<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001000<tr class="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>
1001<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>
1002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001003<tr class="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>
1004<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 +00001005<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001006<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_convolution_layer.xhtml">GCConvolutionLayer</a></td></tr>
1007<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>
1008<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1009<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_convolution_layer_reshape_weights.xhtml">GCConvolutionLayerReshapeWeights</a></td></tr>
1010<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>
1011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001012<tr class="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>
1013<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 +00001014<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001015<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml">GCDepthConcatenateLayerKernel</a></td></tr>
1016<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 +00001017<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001018<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3.xhtml">GCDepthwiseConvolutionLayer3x3</a></td></tr>
1019<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>
1020<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1021<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3_kernel.xhtml">GCDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1022<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>
1023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001024<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer.xhtml">GCDirectConvolutionLayer</a></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001025<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 +00001026<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001027<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a></td></tr>
1028<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 +00001029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001030<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_dropout_layer.xhtml">GCDropoutLayer</a></td></tr>
1031<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 +00001032<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001033<tr class="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>
1034<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 +01001035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001036<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fill_border.xhtml">GCFillBorder</a></td></tr>
1037<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_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 +01001038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001039<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml">GCFillBorderKernel</a></td></tr>
1040<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 +00001041<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001042<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fully_connected_layer.xhtml">GCFullyConnectedLayer</a></td></tr>
1043<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 +00001044<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001045<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fully_connected_layer_reshape_weights.xhtml">GCFullyConnectedLayerReshapeWeights</a></td></tr>
1046<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 +01001047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001048<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m.xhtml">GCGEMM</a></td></tr>
1049<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 +00001050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001051<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4.xhtml">GCGEMMInterleave4x4</a></td></tr>
1052<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 +01001053<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001054<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml">GCGEMMInterleave4x4Kernel</a></td></tr>
1055<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 +00001056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001057<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">GCGEMMMatrixAccumulateBiasesKernel</a></td></tr>
1058<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 +00001059<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001060<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_addition_kernel.xhtml">GCGEMMMatrixAdditionKernel</a></td></tr>
1061<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 +00001062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001063<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_multiply_kernel.xhtml">GCGEMMMatrixMultiplyKernel</a></td></tr>
1064<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 +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">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>
1067<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 +01001068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001069<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml">GCGEMMTranspose1xWKernel</a></td></tr>
1070<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 +00001071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001072<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_im2_col_kernel.xhtml">GCIm2ColKernel</a></td></tr>
1073<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 +00001074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001075<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a></td></tr>
1076<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 +00001077<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001078<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_kernel_library.xhtml">GCKernelLibrary</a></td></tr>
1079<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 +01001080<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001081<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_max_kernel.xhtml">GCLogits1DMaxKernel</a></td></tr>
1082<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 +00001083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001084<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_norm_kernel.xhtml">GCLogits1DNormKernel</a></td></tr>
1085<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 +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_logits1_d_shift_exp_sum_kernel.xhtml">GCLogits1DShiftExpSumKernel</a></td></tr>
1088<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 +00001089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001090<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalization_layer.xhtml">GCNormalizationLayer</a></td></tr>
1091<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 +00001092<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_normalization_layer_kernel.xhtml">GCNormalizationLayerKernel</a></td></tr>
1094<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 +00001095<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_normalize_planar_y_u_v_layer.xhtml">GCNormalizePlanarYUVLayer</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_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>
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_normalize_planar_y_u_v_layer_kernel.xhtml">GCNormalizePlanarYUVLayerKernel</a></td></tr>
1100<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>
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_pixel_wise_multiplication.xhtml">GCPixelWiseMultiplication</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_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 +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_pixel_wise_multiplication_kernel.xhtml">GCPixelWiseMultiplicationKernel</a></td></tr>
1106<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 +00001107<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001108<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pooling_layer.xhtml">GCPoolingLayer</a></td></tr>
1109<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 +00001110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +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_pooling_layer_kernel.xhtml">GCPoolingLayerKernel</a></td></tr>
1112<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 +00001113<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_program.xhtml">GCProgram</a></td></tr>
1115<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 +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_scale.xhtml">GCScale</a></td></tr>
1118<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>
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_scale_kernel.xhtml">GCScaleKernel</a></td></tr>
1121<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>
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_scheduler.xhtml">GCScheduler</a></td></tr>
1124<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 +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_softmax_layer.xhtml">GCSoftmaxLayer</a></td></tr>
1127<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 +00001128<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +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_tensor.xhtml">GCTensor</a></td></tr>
1130<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 +00001131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001132<tr class="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>
1133<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 +00001134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +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_tensor_shift.xhtml">GCTensorShift</a></td></tr>
1136<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>
1137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1138<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor_shift_kernel.xhtml">GCTensorShiftKernel</a></td></tr>
1139<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>
1140<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_transpose.xhtml">GCTranspose</a></td></tr>
1142<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 +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_transpose_kernel.xhtml">GCTransposeKernel</a></td></tr>
1145<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 +00001146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +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_weights_reshape_kernel.xhtml">GCWeightsReshapeKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001148<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 +00001149<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_e_m_m_info.xhtml">GEMMInfo</a></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001151<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>
1152<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1153<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a></td></tr>
1154<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 +01001155<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001156<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_l_buffer_wrapper.xhtml">GLBufferWrapper</a></td></tr>
1157<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001158<tr class="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 +00001159<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>
1160<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1161<tr class="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>
1162<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>
1163<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1164<tr class="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>
1165<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 +01001166<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1167<tr class="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 +00001168<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>
1169<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1170<tr class="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>
1171<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>
1172<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1173<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
1174<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>
1175<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001176<tr class="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>
1177<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>
1178<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001179<tr class="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>
1180<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>
1181<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1182<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_g_e_m_m_lowp_reduction_kernel.xhtml">ICLGEMMLowpReductionKernel</a></td></tr>
1183<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>
1184<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1185<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_h_o_g.xhtml">ICLHOG</a></td></tr>
1186<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_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>
1187<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1188<tr class="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>
1189<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>
1190<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1191<tr class="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>
1192<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>
1193<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001194<tr class="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>
1195<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>
1196<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001197<tr class="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>
1198<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>
1199<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1200<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
1201<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>
1202<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1203<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
1204<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>
1205<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1206<tr class="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>
1207<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>
1208<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1209<tr class="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>
1210<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>
1211<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1212<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
1213<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>
1214<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001215<tr class="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>
1216<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>
1217<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001218<tr class="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>
1219<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>
1220<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1221<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
1222<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>
1223<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1224<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
1225<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>
1226<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1227<tr class="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>
1228<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>
1229<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1230<tr class="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 +01001231<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 +00001232<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1233<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
1234<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>
1235<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1236<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
1237<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 +01001238<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1239<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001240<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>
1241<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1242<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a></td></tr>
1243<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>
1244<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1245<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple2_d_kernel.xhtml">IGCSimple2DKernel</a></td></tr>
1246<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>
1247<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1248<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple3_d_kernel.xhtml">IGCSimple3DKernel</a></td></tr>
1249<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>
1250<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1251<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple_function.xhtml">IGCSimpleFunction</a></td></tr>
1252<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>
1253<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1254<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple_kernel.xhtml">IGCSimpleKernel</a></td></tr>
1255<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>
1256<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1257<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td></tr>
1258<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>
1259<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1260<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
1261<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>
1262<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1263<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
1264<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 +01001265<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1266<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lifetime_manager.xhtml">ILifetimeManager</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001267<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>
1268<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1269<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
1270<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 +01001271<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1272<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001273<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 +01001274<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1275<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_group.xhtml">IMemoryGroup</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001276<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 +01001277<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1278<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_manager.xhtml">IMemoryManager</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001279<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 +01001280<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1281<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_pool.xhtml">IMemoryPool</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001282<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 +01001283<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001284<tr class="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>
1285<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>
1286<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001287<tr class="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>
1288<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 +01001289<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001290<tr class="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>
1291<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 +01001292<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001293<tr class="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>
1294<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 +01001295<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001296<tr class="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>
1297<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 +01001298<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1299<tr class="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 +00001300<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 +01001301<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001302<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
1303<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 +01001304<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001305<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_winograd_layer_batched_g_e_m_m_kernel.xhtml">INEWinogradLayerBatchedGEMMKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001306<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NEON kernel to perform Winograd. <a href="classarm__compute_1_1_i_n_e_winograd_layer_batched_g_e_m_m_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001307<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1308<tr class="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 +01001309<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 +00001310<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1311<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_winograd_layer_transform_output_kernel.xhtml">INEWinogradLayerTransformOutputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001312<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 +00001313<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1314<tr class="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 +01001315<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>
1316<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1317<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>
1318<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 +00001319<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001320<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>
1321<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 +01001322<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001323<tr class="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>
1324<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 +01001325<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001326<tr class="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>
1327<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 +01001328<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001329<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
1330<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 +01001331<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001332<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_simple_lifetime_manager.xhtml">ISimpleLifetimeManager</a></td></tr>
1333<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 +01001334<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001335<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
1336<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 +01001337<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001338<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
1339<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>
1340<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1341<tr class="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>
1342<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>
1343<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1344<tr class="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>
1345<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br /></td></tr>
1346<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1347<tr class="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>
1348<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>
1349<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1350<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>
1351<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>
1352<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001353<tr class="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>
1354<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001355<tr class="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>
1356<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>
1357<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1358<tr class="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>
1359<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>
1360<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1361<tr class="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>
1362<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>
1363<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1364<tr class="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>
1365<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>
1366<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1367<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
1368<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 +01001369<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001370<tr class="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>
1371<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>
1372<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001373<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 +01001374<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 +01001375<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001376<tr class="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>
1377<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>
1378<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1379<tr class="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>
1380<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>
1381<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1382<tr class="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>
1383<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>
1384<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1385<tr class="memitem:"><td 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>
1386<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>
1387<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1388<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
1389<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>
1390<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1391<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
1392<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>
1393<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1394<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
1395<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>
1396<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1397<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
1398<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>
1399<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1400<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
1401<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>
1402<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1403<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
1404<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>
1405<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1406<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
1407<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>
1408<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1409<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
1410<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>
1411<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1412<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
1413<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>
1414<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1415<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
1416<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>
1417<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1418<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
1419<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>
1420<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1421<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
1422<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>
1423<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1424<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
1425<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>
1426<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1427<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
1428<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>
1429<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1430<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
1431<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>
1432<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1433<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
1434<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>
1435<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1436<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
1437<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>
1438<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1439<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
1440<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>
1441<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1442<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
1443<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>
1444<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1445<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
1446<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>
1447<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1448<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
1449<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>
1450<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1451<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
1452<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>
1453<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1454<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
1455<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>
1456<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1457<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
1458<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>
1459<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1460<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
1461<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>
1462<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1463<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
1464<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>
1465<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1466<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
1467<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>
1468<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1469<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
1470<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>
1471<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1472<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
1473<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>
1474<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1475<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a></td></tr>
1476<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>
1477<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1478<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im.xhtml">NECol2Im</a></td></tr>
1479<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>
1480<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1481<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
1482<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>
1483<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1484<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
1485<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>
1486<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1487<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
1488<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>
1489<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001490<tr class="memitem:"><td 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>
1491<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>
1492<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1493<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convert_fully_connected_weights_kernel.xhtml">NEConvertFullyConnectedWeightsKernel</a></td></tr>
1494<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>
1495<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001496<tr class="memitem:"><td 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>
1497<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>
1498<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1499<tr class="memitem:"><td 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>
1500<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>
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_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
1503<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>
1504<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1505<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
1506<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape and perform 1xW transposition on the weights. <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
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_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
1509<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>
1510<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1511<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
1512<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>
1513<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1514<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
1515<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>
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_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
1518<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>
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_deconvolution_layer.xhtml">NEDeconvolutionLayer</a></td></tr>
1521<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>
1522<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001523<tr class="memitem:"><td 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>
1524<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>
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_depth_concatenate_layer_kernel.xhtml">NEDepthConcatenateLayerKernel</a></td></tr>
1527<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>
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_depth_convert_layer.xhtml">NEDepthConvertLayer</a></td></tr>
1530<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_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>
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_depth_convert_layer_kernel.xhtml">NEDepthConvertLayerKernel</a></td></tr>
1533<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>
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_depthwise_convolution_layer.xhtml">NEDepthwiseConvolutionLayer</a></td></tr>
1536<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>
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_depthwise_convolution_layer3x3.xhtml">NEDepthwiseConvolutionLayer3x3</a></td></tr>
1539<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>
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_depthwise_convolution_layer3x3_kernel.xhtml">NEDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1542<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>
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_depthwise_im2_col_kernel.xhtml">NEDepthwiseIm2ColKernel</a></td></tr>
1545<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>
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_depthwise_separable_convolution_layer.xhtml">NEDepthwiseSeparableConvolutionLayer</a></td></tr>
1548<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>
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_depthwise_vector_to_tensor_kernel.xhtml">NEDepthwiseVectorToTensorKernel</a></td></tr>
1551<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>
1552<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1553<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml">NEDepthwiseWeightsReshapeKernel</a></td></tr>
1554<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>
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_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
1557<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>
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_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a></td></tr>
1560<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>
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_derivative.xhtml">NEDerivative</a></td></tr>
1563<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>
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_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
1566<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>
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_dilate.xhtml">NEDilate</a></td></tr>
1569<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>
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_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
1572<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>
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_direct_convolution_layer.xhtml">NEDirectConvolutionLayer</a></td></tr>
1575<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>
1576<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001577<tr class="memitem:"><td 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>
1578<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>
1579<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001580<tr class="memitem:"><td 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>
1581<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>
1582<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001583<tr class="memitem:"><td 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>
1584<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>
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_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
1587<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>
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_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
1590<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>
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_erode.xhtml">NEErode</a></td></tr>
1593<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>
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_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
1596<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>
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_fast_corners.xhtml">NEFastCorners</a></td></tr>
1599<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>
1600<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1601<tr class="memitem:"><td 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>
1602<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>
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_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
1605<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>
1606<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1607<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</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_fill_border_kernel.xhtml">NEFillBorderKernel</a>. <a href="classarm__compute_1_1_n_e_fill_border.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_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
1611<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>
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_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
1614<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>
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_flatten_layer.xhtml">NEFlattenLayer</a></td></tr>
1617<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_n_e_flatten_layer.xhtml#details">More...</a><br /></td></tr>
1618<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1619<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor.xhtml">NEFloor</a></td></tr>
1620<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>
1621<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1622<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
1623<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>
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_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
1626<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>
1627<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1628<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml">NEFullyConnectedLayerReshapeWeights</a></td></tr>
1629<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>
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_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
1632<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>
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_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
1635<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>
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_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
1638<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>
1639<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1640<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
1641<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>
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_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
1644<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>
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_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
1647<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>
1648<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1649<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
1650<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>
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_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
1653<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>
1654<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1655<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
1656<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>
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_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
1659<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>
1660<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1661<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m.xhtml">NEGEMM</a></td></tr>
1662<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>
1663<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001664<tr class="memitem:"><td 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>
1665<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>
1666<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001667<tr class="memitem:"><td 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>
1668<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_g_e_m_m_convolution_layer.xhtml#details">More...</a><br /></td></tr>
1669<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001670<tr class="memitem:"><td 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>
1671<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>
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_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
1674<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>
1675<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001676<tr class="memitem:"><td 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>
1677<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>
1678<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1679<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml">NEGEMMLowpMatrixAReductionKernel</a></td></tr>
1680<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>
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_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml">NEGEMMLowpMatrixBReductionKernel</a></td></tr>
1683<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>
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_g_e_m_m_lowp_matrix_multiply_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a></td></tr>
1686<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>
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_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
1689<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>
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_g_e_m_m_lowp_offset_contribution_kernel.xhtml">NEGEMMLowpOffsetContributionKernel</a></td></tr>
1692<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>
1693<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1694<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
1695<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>
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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
1698<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>
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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
1701<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>
1702<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1703<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
1704<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>
1705<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1706<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
1707<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>
1708<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1709<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
1710<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>
1711<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1712<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
1713<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>
1714<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1715<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_vector_multiply_kernel.xhtml">NEGEMMMatrixVectorMultiplyKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001716<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 +00001717<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1718<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
1719<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_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>
1720<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1721<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
1722<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>
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_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
1725<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>
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_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
1728<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>
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_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
1731<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>
1732<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001733<tr class="memitem:"><td 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>
1734<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>
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_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
1737<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>
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_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
1740<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>
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_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
1743<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>
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_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
1746<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>
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_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
1749<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>
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_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
1752<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>
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_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
1755<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>
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_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
1758<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>
1759<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1760<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col.xhtml">NEIm2Col</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_im2_col_kernel.xhtml">NEIm2ColKernel</a>. <a href="classarm__compute_1_1_n_e_im2_col.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_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
1764<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>
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_integral_image.xhtml">NEIntegralImage</a></td></tr>
1767<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>
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_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
1770<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>
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_l2_normalize_layer.xhtml">NEL2NormalizeLayer</a></td></tr>
1773<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>
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_l2_normalize_layer_kernel.xhtml">NEL2NormalizeLayerKernel</a></td></tr>
1776<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>
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_laplacian_pyramid.xhtml">NELaplacianPyramid</a></td></tr>
1779<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>
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_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
1782<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>
1783<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1784<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>
1785<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>
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_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
1788<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>
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_locally_connected_layer.xhtml">NELocallyConnectedLayer</a></td></tr>
1791<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>
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_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
1794<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>
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_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
1797<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>
1798<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001799<tr class="memitem:"><td 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>
1800<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 +00001801<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_magnitude.xhtml">NEMagnitude</a></td></tr>
1803<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>
1804<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1805<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
1806<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>
1807<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1808<tr class="memitem:"><td 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>
1809<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>
1810<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1811<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
1812<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>
1813<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1814<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3.xhtml">NEMedian3x3</a></td></tr>
1815<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>
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_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
1818<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>
1819<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1820<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
1821<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>
1822<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1823<tr class="memitem:"><td 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>
1824<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>
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_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
1827<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>
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_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
1830<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>
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_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
1833<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>
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_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
1836<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>
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_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
1839<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>
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_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
1842<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>
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_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
1845<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>
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_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
1848<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>
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_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
1851<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>
1852<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001853<tr class="memitem:"><td 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>
1854<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>
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_permute_kernel.xhtml">NEPermuteKernel</a></td></tr>
1857<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>
1858<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001859<tr class="memitem:"><td 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>
1860<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>
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_pixel_wise_multiplication.xhtml">NEPixelWiseMultiplication</a></td></tr>
1863<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>
1864<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1865<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
1866<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>
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_pooling_layer.xhtml">NEPoolingLayer</a></td></tr>
1869<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>
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_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
1872<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>
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_quantization_layer.xhtml">NEQuantizationLayer</a></td></tr>
1875<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>
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_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
1878<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>
1879<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1880<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation.xhtml">NEReductionOperation</a></td></tr>
1881<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>
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_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
1884<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>
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_remap.xhtml">NERemap</a></td></tr>
1887<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>
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_remap_kernel.xhtml">NERemapKernel</a></td></tr>
1890<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>
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_reshape_layer.xhtml">NEReshapeLayer</a></td></tr>
1893<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>
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_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
1896<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>
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_r_o_i_pooling_layer.xhtml">NEROIPoolingLayer</a></td></tr>
1899<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>
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_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a></td></tr>
1902<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>
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_scale.xhtml">NEScale</a></td></tr>
1905<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>
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_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
1908<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>
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_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
1911<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>
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_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
1914<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>
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_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</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> 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>
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_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
1920<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>
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_sobel3x3.xhtml">NESobel3x3</a></td></tr>
1923<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>
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_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
1926<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>
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_sobel5x5.xhtml">NESobel5x5</a></td></tr>
1929<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>
1930<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1931<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
1932<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>
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_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
1935<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>
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_sobel7x7.xhtml">NESobel7x7</a></td></tr>
1938<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>
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_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
1941<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>
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_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
1944<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>
1945<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1946<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
1947<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>
1948<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1949<tr class="memitem:"><td 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>
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_table_lookup_kernel.xhtml">NETableLookupKernel</a>. <a href="classarm__compute_1_1_n_e_table_lookup.xhtml#details">More...</a><br /></td></tr>
1951<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1952<tr class="memitem:"><td 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>
1953<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>
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_threshold.xhtml">NEThreshold</a></td></tr>
1956<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>
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_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
1959<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>
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_transpose.xhtml">NETranspose</a></td></tr>
1962<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>
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_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
1965<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>
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_warp_affine.xhtml">NEWarpAffine</a></td></tr>
1968<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>
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_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
1971<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>
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_warp_perspective.xhtml">NEWarpPerspective</a></td></tr>
1974<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>
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_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
1977<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>
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_weights_reshape_kernel.xhtml">NEWeightsReshapeKernel</a></td></tr>
1980<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>
1981<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001982<tr class="memitem:"><td 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>
1983<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 +00001984<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001985<tr class="memitem:"><td 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_batched_g_e_m_m_kernel.xhtml">NEWinogradLayerBatchedGEMMKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001986<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_batched_g_e_m_m_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001987<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_winograd_layer_transform_input_kernel.xhtml">NEWinogradLayerTransformInputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001989<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 +00001990<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_winograd_layer_transform_output_kernel.xhtml">NEWinogradLayerTransformOutputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001992<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 +00001993<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_winograd_layer_transform_weights_kernel.xhtml">NEWinogradLayerTransformWeightsKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001995<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 +00001996<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_normalization_layer_info.xhtml">NormalizationLayerInfo</a></td></tr>
1998<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>
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_offset_lifetime_manager.xhtml">OffsetLifetimeManager</a></td></tr>
2001<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>
2002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2003<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_offset_memory_pool.xhtml">OffsetMemoryPool</a></td></tr>
2004<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>
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_o_m_p_scheduler.xhtml">OMPScheduler</a></td></tr>
2007<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>
2008<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002009<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>
2010<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>
2011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002012<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a></td></tr>
2013<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>
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_pixel_value.xhtml">PixelValue</a></td></tr>
2016<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>
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_pooling_layer_info.xhtml">PoolingLayerInfo</a></td></tr>
2019<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>
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_pool_manager.xhtml">PoolManager</a></td></tr>
2022<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>
2023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2024<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_program.xhtml">Program</a></td></tr>
2025<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>
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_pyramid.xhtml">Pyramid</a></td></tr>
2028<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>
2029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2030<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid_info.xhtml">PyramidInfo</a></td></tr>
2031<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>
2032<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2033<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>
2034<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>
2035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2036<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>
2037<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>
2038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2039<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>
2040<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>
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_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a></td></tr>
2043<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>
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_scheduler.xhtml">Scheduler</a></td></tr>
2046<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>
2047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002048<tr class="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 +00002049<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>
2050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2051<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_single_thread_scheduler.xhtml">SingleThreadScheduler</a></td></tr>
2052<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>
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_size2_d.xhtml">Size2D</a></td></tr>
2055<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>
2056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2057<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a></td></tr>
2058<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>
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_steps.xhtml">Steps</a></td></tr>
2061<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>
2062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2063<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
2064<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>
2065<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2066<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor.xhtml">SubTensor</a></td></tr>
2067<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>
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_sub_tensor_info.xhtml">SubTensorInfo</a></td></tr>
2070<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>
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_tensor.xhtml">Tensor</a></td></tr>
2073<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>
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_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
2076<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>
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_tensor_info.xhtml">TensorInfo</a></td></tr>
2079<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>
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_tensor_shape.xhtml">TensorShape</a></td></tr>
2082<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>
2083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2084<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 +01002085<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 +00002086<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2087<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 +01002088<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 +00002089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2090<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a></td></tr>
2091<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>
2092<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2093<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
2094<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>
2095<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002096<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>
2097<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>
2098<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002099</table><table class="memberdecls">
2100<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
2101Typedefs</h2></td></tr>
2102<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 +01002103<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 +00002104<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2">&#160;</td></tr>
2105<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 +01002106<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 +00002107<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2108<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 +01002109<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 +00002110<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002111<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 +01002112<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 +01002113<tr class="separator:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002114<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 +01002115<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 +00002116<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
2117<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 +01002118<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 +00002119<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
2120<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 +01002121<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 +00002122<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2123<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 +01002124<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 +00002125<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
2126<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 +01002127<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 +00002128<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2129<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 +01002130<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 +00002131<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2">&#160;</td></tr>
2132<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 +01002133<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 +00002134<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2">&#160;</td></tr>
2135<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 +01002136<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 +00002137<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
2138<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 +00002139<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 +00002140<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2">&#160;</td></tr>
2141<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 +00002142<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 +00002143<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2144<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 +00002145<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 +00002146<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2147<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 +00002148<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 +00002149<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2">&#160;</td></tr>
2150<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 +00002151<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 +00002152<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2153<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 +00002154<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 +00002155<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2">&#160;</td></tr>
2156<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 +00002157<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 +00002158<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2159<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 +00002160<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 +00002161<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2162<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 +00002163<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 +00002164<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2">&#160;</td></tr>
2165<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 +00002166<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 +00002167<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
2168<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 +01002169<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 +00002170<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2">&#160;</td></tr>
2171<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 +01002172<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 +00002173<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
2174<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 +01002175<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 +00002176<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2">&#160;</td></tr>
2177<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 +01002178<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 +00002179<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002180<tr class="memitem:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002181<tr class="memdesc:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar value <a href="#a4c3f681c30c9398c45bc3cd5dc4f038a">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002182<tr class="separator:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2183<tr class="memitem:a1521eea74b97de8f2df9304e44179400"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002184<tr class="memdesc:a1521eea74b97de8f2df9304e44179400"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar value <a href="#a1521eea74b97de8f2df9304e44179400">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002185<tr class="separator:a1521eea74b97de8f2df9304e44179400"><td class="memSeparator" colspan="2">&#160;</td></tr>
2186<tr class="memitem:aa06c95f9976f3729316d689b4419089f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002187<tr class="memdesc:aa06c95f9976f3729316d689b4419089f"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point scalar value <a href="#aa06c95f9976f3729316d689b4419089f">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002188<tr class="separator:aa06c95f9976f3729316d689b4419089f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002189<tr class="memitem:adc3be0bc3741b081217b2609abcf0333"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002190<tr class="memdesc:adc3be0bc3741b081217b2609abcf0333"><td class="mdescLeft">&#160;</td><td class="mdescRight">64 bit fixed point scalar value <a href="#adc3be0bc3741b081217b2609abcf0333">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002191<tr class="separator:adc3be0bc3741b081217b2609abcf0333"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002192<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 +01002193<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 +00002194<tr class="separator:a39070701484fa98eaa18cfcdb6aeb175"><td class="memSeparator" colspan="2">&#160;</td></tr>
2195<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 +01002196<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 +00002197<tr class="separator:a10f3af894ca8b0479a5e6bc296083314"><td class="memSeparator" colspan="2">&#160;</td></tr>
2198<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 +01002199<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 +00002200<tr class="separator:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2201<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 +01002202<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 +00002203<tr class="separator:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002204<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 +01002205<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 +00002206<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2207<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 +01002208<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 +00002209<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2">&#160;</td></tr>
2210<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 +01002211<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 +00002212<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002213<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>
2214<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>
2215<tr class="separator:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002216<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 +01002217<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 +00002218<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2219<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 +01002220<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 +00002221<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2222<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 +01002223<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 +00002224<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2225<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 +01002226<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 +00002227<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2">&#160;</td></tr>
2228<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 +01002229<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 +00002230<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2231<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 +01002232<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 +00002233<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2">&#160;</td></tr>
2234<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 +01002235<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 +00002236<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2237<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 +01002238<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 +00002239<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2">&#160;</td></tr>
2240<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 +01002241<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 +00002242<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002243<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 +01002244<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 +00002245<tr class="separator:aff99c045b07329b332b1cb97a2dd1518"><td class="memSeparator" colspan="2">&#160;</td></tr>
2246<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 +01002247<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 +00002248<tr class="separator:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2249<tr class="memitem:a593fd1da692f305db6ca306cb8e0158e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593fd1da692f305db6ca306cb8e0158e">NEGradientFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002250<tr class="memdesc:a593fd1da692f305db6ca306cb8e0158e"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Gradient computation for FP16 datatype. <a href="#a593fd1da692f305db6ca306cb8e0158e">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002251<tr class="separator:a593fd1da692f305db6ca306cb8e0158e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002252<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 +00002253<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 +00002254<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2">&#160;</td></tr>
2255<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 +00002256<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 +00002257<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2258<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 +00002259<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 +00002260<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2261<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 +00002262<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 +00002263<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2264<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 +00002265<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 +00002266<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2267<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 +00002268<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 +00002269<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2">&#160;</td></tr>
2270<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 +00002271<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 +00002272<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
2273<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 +00002274<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 +00002275<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2276<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 +00002277<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 +00002278<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
2279<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 +00002280<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 +00002281<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002282<tr class="memitem:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memTemplParams" colspan="2">template&lt;int32_t block_size&gt; </td></tr>
2283<tr class="memitem:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b6679b5d5c7f7dc527258181b04cf35">NEHarrisScoreFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a>&lt; block_size &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002284<tr class="memdesc:a0b6679b5d5c7f7dc527258181b04cf35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate Weighted kernel using FP16. <a href="#a0b6679b5d5c7f7dc527258181b04cf35">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002285<tr class="separator:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002286<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 +01002287<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 +00002288<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002289<tr class="memitem:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memTemplParams" colspan="2">template&lt;MagnitudeType mag_type, PhaseType phase_type&gt; </td></tr>
2290<tr class="memitem:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d4d47f41fae07bb3efb2d723b9965c3">NEMagnitudePhaseFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a>&lt; mag_type, phase_type &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002291<tr class="memdesc:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="#a0d4d47f41fae07bb3efb2d723b9965c3">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002292<tr class="separator:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2293<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 +01002294<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 +00002295<tr class="separator:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2296<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>
2297<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>
2298<tr class="separator:a70ecc99f2f6b646579b58463dc026671"><td class="memSeparator" colspan="2">&#160;</td></tr>
2299<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>
2300<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>
2301<tr class="separator:a805d740633d70a5f0b019d72c517e67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2302<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>
2303<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>
2304<tr class="separator:a0c6e16826765130b480af53eda3635be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2305<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>
2306<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>
2307<tr class="separator:a41d3460ff424e2e21c629b3f27386a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2308<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>
2309<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>
2310<tr class="separator:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002311<tr class="memitem:a16a1bee14f1db073f75caa76dacf5078"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002312<tr class="memdesc:a16a1bee14f1db073f75caa76dacf5078"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 8 elements <a href="#a16a1bee14f1db073f75caa76dacf5078">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002313<tr class="separator:a16a1bee14f1db073f75caa76dacf5078"><td class="memSeparator" colspan="2">&#160;</td></tr>
2314<tr class="memitem:ace2375b626995858a398e1ffb3108f14"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002315<tr class="memdesc:ace2375b626995858a398e1ffb3108f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#ace2375b626995858a398e1ffb3108f14">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002316<tr class="separator:ace2375b626995858a398e1ffb3108f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
2317<tr class="memitem:a252c74fae9a9238ef7c23d306e670706"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002318<tr class="memdesc:a252c74fae9a9238ef7c23d306e670706"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 24 elements <a href="#a252c74fae9a9238ef7c23d306e670706">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002319<tr class="separator:a252c74fae9a9238ef7c23d306e670706"><td class="memSeparator" colspan="2">&#160;</td></tr>
2320<tr class="memitem:a01ae65c0a0736d4293e657a66bde1538"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002321<tr class="memdesc:a01ae65c0a0736d4293e657a66bde1538"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a01ae65c0a0736d4293e657a66bde1538">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002322<tr class="separator:a01ae65c0a0736d4293e657a66bde1538"><td class="memSeparator" colspan="2">&#160;</td></tr>
2323<tr class="memitem:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002324<tr class="memdesc:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#a5b99ed49abd6b7bf13dafdd17bcef855">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002325<tr class="separator:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memSeparator" colspan="2">&#160;</td></tr>
2326<tr class="memitem:a09108711e0c18d4e9811ea4597d573b1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002327<tr class="memdesc:a09108711e0c18d4e9811ea4597d573b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a09108711e0c18d4e9811ea4597d573b1">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002328<tr class="separator:a09108711e0c18d4e9811ea4597d573b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2329<tr class="memitem:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002330<tr class="memdesc:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 48 elements <a href="#a7e175277ee7de6a5aeb5cd8916dbb346">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002331<tr class="separator:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memSeparator" colspan="2">&#160;</td></tr>
2332<tr class="memitem:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002333<tr class="memdesc:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 64 elements <a href="#a3c4b33603ffff71e9f02c4be1a2f14d5">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002334<tr class="separator:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2335<tr class="memitem:a82c56f0856f56d430393e6a00baee983"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002336<tr class="memdesc:a82c56f0856f56d430393e6a00baee983"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 4 elements <a href="#a82c56f0856f56d430393e6a00baee983">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002337<tr class="separator:a82c56f0856f56d430393e6a00baee983"><td class="memSeparator" colspan="2">&#160;</td></tr>
2338<tr class="memitem:a8d57e0f4f122442011213667168ef538"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002339<tr class="memdesc:a8d57e0f4f122442011213667168ef538"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a8d57e0f4f122442011213667168ef538">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002340<tr class="separator:a8d57e0f4f122442011213667168ef538"><td class="memSeparator" colspan="2">&#160;</td></tr>
2341<tr class="memitem:a63f034ee885f20111e7f5d44e48e6d93"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002342<tr class="memdesc:a63f034ee885f20111e7f5d44e48e6d93"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 12 elements <a href="#a63f034ee885f20111e7f5d44e48e6d93">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002343<tr class="separator:a63f034ee885f20111e7f5d44e48e6d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
2344<tr class="memitem:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002345<tr class="memdesc:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a8525b18a2f34c3497bbfbd0e7c3a7875">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002346<tr class="separator:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memSeparator" colspan="2">&#160;</td></tr>
2347<tr class="memitem:a4e15143176bfacdde8b06f4bb0b67427"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002348<tr class="memdesc:a4e15143176bfacdde8b06f4bb0b67427"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a4e15143176bfacdde8b06f4bb0b67427">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002349<tr class="separator:a4e15143176bfacdde8b06f4bb0b67427"><td class="memSeparator" colspan="2">&#160;</td></tr>
2350<tr class="memitem:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002351<tr class="memdesc:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a3c4099e91913f28017e1f57b8e5cbf9f">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002352<tr class="separator:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2353<tr class="memitem:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002354<tr class="memdesc:a65e109cf43ade8a2a3c57a1120b90b05"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 24 elements <a href="#a65e109cf43ade8a2a3c57a1120b90b05">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002355<tr class="separator:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
2356<tr class="memitem:a6bc1e8d62f1055278d8f05454faa422f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002357<tr class="memdesc:a6bc1e8d62f1055278d8f05454faa422f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 32 elements <a href="#a6bc1e8d62f1055278d8f05454faa422f">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002358<tr class="separator:a6bc1e8d62f1055278d8f05454faa422f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002359<tr class="memitem:addcffa8e8086154c0449c23e6b0dff83"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002360<tr class="memdesc:addcffa8e8086154c0449c23e6b0dff83"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 2 elements <a href="#addcffa8e8086154c0449c23e6b0dff83">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002361<tr class="separator:addcffa8e8086154c0449c23e6b0dff83"><td class="memSeparator" colspan="2">&#160;</td></tr>
2362<tr class="memitem:abd854c117af4dbd12633db2fbc01dd49"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002363<tr class="memdesc:abd854c117af4dbd12633db2fbc01dd49"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 4 elements <a href="#abd854c117af4dbd12633db2fbc01dd49">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002364<tr class="separator:abd854c117af4dbd12633db2fbc01dd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
2365<tr class="memitem:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002366<tr class="memdesc:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 8 elements <a href="#a6ed7f8448a2a08a531e8202334e4dcdd">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002367<tr class="separator:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002368<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>
2369<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>
2370<tr class="separator:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002371<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 +00002372<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 +01002373<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002374<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>
2375<tr class="memdesc:a33e65be485104e2e9e69fca551d6f492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation vector. <a href="#a33e65be485104e2e9e69fca551d6f492">More...</a><br /></td></tr>
2376<tr class="separator:a33e65be485104e2e9e69fca551d6f492"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002377<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 +01002378<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 +00002379<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2">&#160;</td></tr>
2380<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 +01002381<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 +00002382<tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2">&#160;</td></tr>
2383<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 +01002384<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 +00002385<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2386<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 +01002387<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 +00002388<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
2389<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 +01002390<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 +00002391<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002392<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>
2393<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>
2394<tr class="separator:a35ae0858a604c4c0672ce857e8080ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002395<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 +01002396<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 +00002397<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2">&#160;</td></tr>
2398<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 +01002399<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 +00002400<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2401<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 +01002402<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 +00002403<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
2404<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 +01002405<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 +00002406<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2">&#160;</td></tr>
2407<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 +01002408<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 +00002409<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2410<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 +01002411<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 +00002412<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
2413<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 +01002414<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 +00002415<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
2416<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 +01002417<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 +00002418<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2419<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 +01002420<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 +00002421<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2">&#160;</td></tr>
2422<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 +01002423<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 +00002424<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002425<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 +01002426<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 +01002427<tr class="separator:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002428<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 +01002429<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 +00002430<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2">&#160;</td></tr>
2431<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 +01002432<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 +00002433<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2434<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 +01002435<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 +00002436<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2437<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 +01002438<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 +00002439<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2">&#160;</td></tr>
2440<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 +01002441<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 +00002442<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
2443<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 +01002444<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 +00002445<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2446<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 +01002447<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 +00002448<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002449<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 +01002450<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 +01002451<tr class="separator:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002452<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 +01002453<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 +00002454<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
2455<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 +00002456<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 +00002457<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2458<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 +00002459<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 +00002460<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
2461<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 +00002462<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 +00002463<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002464<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 +01002465<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 +00002466<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
2467<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 +01002468<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 +00002469<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
2470<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 +01002471<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 +00002472<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002473<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>
2474<tr class="separator:abb079bea3cd2a65a7018eab99392747e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002475<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 +01002476<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 +00002477<tr class="separator:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002478<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 +01002479<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 +01002480<tr class="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002481<tr class="memitem:aa0ae8d74ae5f69f30679b9acf678eca5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa0ae8d74ae5f69f30679b9acf678eca5">AssemblyKernelGlueF32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt; float, float &gt;</td></tr>
2482<tr class="memdesc:aa0ae8d74ae5f69f30679b9acf678eca5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Float 32 assembly kernel glue. <a href="#aa0ae8d74ae5f69f30679b9acf678eca5">More...</a><br /></td></tr>
2483<tr class="separator:aa0ae8d74ae5f69f30679b9acf678eca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2484<tr class="memitem:abb1d131ce675ab28d22ff80bf0942c4d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb1d131ce675ab28d22ff80bf0942c4d">AssemblyKernelGlueU8U32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt; uint8_t, uint32_t &gt;</td></tr>
2485<tr class="memdesc:abb1d131ce675ab28d22ff80bf0942c4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uint 8 to Uint 32 kernel glue. <a href="#abb1d131ce675ab28d22ff80bf0942c4d">More...</a><br /></td></tr>
2486<tr class="separator:abb1d131ce675ab28d22ff80bf0942c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2487<tr class="memitem:a08ae4f1297248a1e6d46564cd97066b4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08ae4f1297248a1e6d46564cd97066b4">AssemblyKernelGlueS8S32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt; int8_t, int32_t &gt;</td></tr>
2488<tr class="memdesc:a08ae4f1297248a1e6d46564cd97066b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Int 8 to Int 32 kernel glue. <a href="#a08ae4f1297248a1e6d46564cd97066b4">More...</a><br /></td></tr>
2489<tr class="separator:a08ae4f1297248a1e6d46564cd97066b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002490<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 +00002491<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 +01002492<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2493<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 +00002494<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 +01002495<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2496<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 +00002497<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 +01002498<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002499<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 +01002500<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 +00002501<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002502<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 +01002503<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 +01002504<tr class="separator:a0604c803e41880a4a16408efc4e6a69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002505<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 +01002506<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 +00002507<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002508<tr class="memitem:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt; void **, size_t &gt;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002509<tr class="memdesc:a762c7da7319adcc433b3ac7a67e18ed5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. <a href="#a762c7da7319adcc433b3ac7a67e18ed5">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002510<tr class="separator:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2511<tr class="memitem:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map&lt; size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> &gt;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002512<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 +01002513<tr class="separator:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2514<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 +01002515<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 +01002516<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002517</table><table class="memberdecls">
2518<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
2519Enumerations</h2></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002520<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 +01002521&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>,
2522<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>,
2523<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>,
2524<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002525<br />
Kaizen8938bd32017-09-28 14:38:23 +01002526&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002527<br />
Jenkinsb3a371b2018-05-23 11:36:53 +01002528 }<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 +00002529</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002530<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2531<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> { <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,
2532<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,
2533<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,
2534<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>
2535 }<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>
2536</td></tr>
2537<tr class="separator:aa41d7415a5386798147cccae2333d5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002538<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>,
2539<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>
Jenkinsb3a371b2018-05-23 11:36:53 +01002540 }<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>
2541</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002542<tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002543<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 />
2544&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0x101,
2545<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,
2546<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,
2547<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,
2548<br />
2549&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,
2550<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,
2551<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,
2552<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a> = 0x210,
2553<br />
2554&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a> = 0x220,
2555<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a> = 0x230,
2556<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a> = 0x231,
2557<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a> = 0x232,
2558<br />
2559&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">TNOX</a> = 0x240,
2560<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x250,
2561<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x260
2562<br />
2563 }<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>
2564</td></tr>
2565<tr class="separator:a735ac6c2a02e320969625308810444f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002566<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>,
2567<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
2568<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
2569 }<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>
2570</td></tr>
2571<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2572<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 +00002573&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2574<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
2575<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
2576<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002577<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002578&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
2579<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
2580<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
2581<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002582<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002583&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
2584<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
2585<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
2586<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002587<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002588&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
2589<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
2590<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
2591<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002592<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002593&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002594<br />
2595 }<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>
2596</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002597<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002598<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 +00002599&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2600<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
2601<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002602<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002603<br />
2604&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>,
2605<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002606<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
2607<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002608<br />
2609&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
2610<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002611<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002612<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002613<br />
2614&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
2615<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002616<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002617<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002618<br />
2619&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
2620<br />
2621 }<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>
2622</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002623<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002624<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>,
2625<a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>
2626 }<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>
2627</td></tr>
2628<tr class="separator:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002629<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>,
2630<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>,
Anthony Barbier06ea0482018-02-22 15:45:35 +00002631<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>
2632 }<tr class="memdesc:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported tensor data layouts. <a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">More...</a><br /></td></tr>
2633</td></tr>
2634<tr class="separator:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002635<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>,
2636<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>,
2637<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>,
2638<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>
2639 }<tr class="memdesc:a74ce3f7420453d3446218ff3b7453e02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported tensor data layout dimensions. <a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">More...</a><br /></td></tr>
2640</td></tr>
2641<tr class="separator:a74ce3f7420453d3446218ff3b7453e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002642<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>,
2643<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
2644<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002645 }<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>
2646</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002647<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2">&#160;</td></tr>
2648<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>,
2649<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002650 }<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>
2651</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002652<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2653<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>,
2654<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
2655<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002656 }<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>
2657</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002658<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2659<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>,
2660<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002661 }<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>
2662</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002663<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2">&#160;</td></tr>
2664<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>,
2665<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002666 }<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>
2667</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002668<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002669<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>,
2670<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
2671<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002672 }<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>
2673</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002674<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2">&#160;</td></tr>
2675<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>,
2676<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002677 }<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>
2678</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002679<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2680<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>,
2681<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002682 }<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>
2683</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002684<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002685<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 +00002686&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2687<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
2688<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
2689<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002690<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002691&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
2692<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
2693<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
2694<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002695<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002696&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
2697<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
2698<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
2699<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002700<br />
2701 }<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>
2702</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002703<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2704<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>,
2705<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
2706<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
2707<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002708 }<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>
2709</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002710<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2711<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,
2712<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
2713<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002714 }<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>
2715</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002716<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002717<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>,
2718<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002719 }<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>
2720</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002721<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002722<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>,
2723<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002724<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002725 }<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>
2726</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002727<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002728<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,
2729<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2,
2730<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002731 }<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>
2732</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002733<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2734<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>,
2735<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002736 }<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>
2737</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002738<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2739<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 +01002740<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>,
2741<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002742 }<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>
2743</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002744<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002745<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>,
2746<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,
2747<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>
2748 }<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>
2749</td></tr>
2750<tr class="separator:a683661ae75dcb7aef16b9c9bde31517d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002751<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>,
2752<a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002753 }<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>
2754</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002755<tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002756<tr class="memitem:afa20b6a7f4383003babd690f026f22dc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> { <br />
Kaizenbf8b01d2017-10-12 14:26:51 +01002757&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>,
2758<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>,
2759<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>,
2760<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002761<br />
Kaizenbf8b01d2017-10-12 14:26:51 +01002762&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002763<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>,
2764<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002765<br />
2766 }<tr class="memdesc:afa20b6a7f4383003babd690f026f22dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed point operation. <a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">More...</a><br /></td></tr>
2767</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002768<tr class="separator:afa20b6a7f4383003babd690f026f22dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002769<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>
2770 }<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>
2771</td></tr>
2772<tr class="separator:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002773</table><table class="memberdecls">
2774<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
2775Functions</h2></td></tr>
2776<tr class="memitem:ab04905b0c6c0e4091160561eae870101"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab04905b0c6c0e4091160561eae870101">get_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002777<tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002778<tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002779<tr class="memitem:ae5f4dd9f672832f7dce02fc14487f544"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5f4dd9f672832f7dce02fc14487f544">get_data_size_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002780<tr class="memdesc:ae5f4dd9f672832f7dce02fc14487f544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of a data type in number of bits. <a href="#ae5f4dd9f672832f7dce02fc14487f544">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002781<tr class="separator:ae5f4dd9f672832f7dce02fc14487f544"><td class="memSeparator" colspan="2">&#160;</td></tr>
2782<tr class="memitem:afc95473636a442507fda7ad48f3414c0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc95473636a442507fda7ad48f3414c0">get_underlying_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002783<tr class="memdesc:afc95473636a442507fda7ad48f3414c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="#afc95473636a442507fda7ad48f3414c0">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002784<tr class="separator:afc95473636a442507fda7ad48f3414c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002785<tr class="memitem:a9d0143bdde8255313aae6ac020dd629c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d0143bdde8255313aae6ac020dd629c">get_target_from_device</a> (cl::Device &amp;device)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002786<tr class="memdesc:a9d0143bdde8255313aae6ac020dd629c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="#a9d0143bdde8255313aae6ac020dd629c">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002787<tr class="separator:a9d0143bdde8255313aae6ac020dd629c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002788<tr class="memitem:a54c9b94a266f8065b64f001c47815b68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a54c9b94a266f8065b64f001c47815b68">get_cl_version</a> (const cl::Device &amp;device)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002789<tr class="memdesc:a54c9b94a266f8065b64f001c47815b68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="#a54c9b94a266f8065b64f001c47815b68">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002790<tr class="separator:a54c9b94a266f8065b64f001c47815b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002791<tr class="memitem:a94de99589574c0072be98be1ba806cad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a94de99589574c0072be98be1ba806cad">device_supports_extension</a> (const cl::Device &amp;device, const char *extension_name)</td></tr>
2792<tr class="memdesc:a94de99589574c0072be98be1ba806cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a given extension is supported. <a href="#a94de99589574c0072be98be1ba806cad">More...</a><br /></td></tr>
2793<tr class="separator:a94de99589574c0072be98be1ba806cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
2794<tr class="memitem:aa5e9f3429ae4136235c87f98ecb46c9d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5e9f3429ae4136235c87f98ecb46c9d">fp16_supported</a> (const cl::Device &amp;device)</td></tr>
2795<tr class="memdesc:aa5e9f3429ae4136235c87f98ecb46c9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_khr_fp16 extension is supported. <a href="#aa5e9f3429ae4136235c87f98ecb46c9d">More...</a><br /></td></tr>
2796<tr class="separator:aa5e9f3429ae4136235c87f98ecb46c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2797<tr class="memitem:a1faf3c8249d988fd152ab2dd16b029dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1faf3c8249d988fd152ab2dd16b029dc">arm_non_uniform_workgroup_supported</a> (const cl::Device &amp;device)</td></tr>
2798<tr class="memdesc:a1faf3c8249d988fd152ab2dd16b029dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported. <a href="#a1faf3c8249d988fd152ab2dd16b029dc">More...</a><br /></td></tr>
2799<tr class="separator:a1faf3c8249d988fd152ab2dd16b029dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002800<tr class="memitem:a0f68015f649819f1102aa73d7b88b29e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f68015f649819f1102aa73d7b88b29e">enqueue</a> (cl::CommandQueue &amp;queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const cl::NDRange &amp;lws_hint=<a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange())</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002801<tr class="memdesc:a0f68015f649819f1102aa73d7b88b29e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a0f68015f649819f1102aa73d7b88b29e">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002802<tr class="separator:a0f68015f649819f1102aa73d7b88b29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002803<tr class="memitem:aa4f4d7a58287017588fc338965873f14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4f4d7a58287017588fc338965873f14">opencl_is_available</a> ()</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002804<tr class="memdesc:aa4f4d7a58287017588fc338965873f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if OpenCL is available. <a href="#aa4f4d7a58287017588fc338965873f14">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002805<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002806<tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2807<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 +01002808<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 +00002809<tr class="separator:a096590f2456b9e9bcb8db98175720b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
2810<tr class="memitem:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2811<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 +01002812<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 +00002813<tr class="separator:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002814<tr class="memitem:a053a24bb37402fa4b4d8d5963976ba17"><td class="memTemplParams" colspan="2">template&lt;typename... T&gt; </td></tr>
2815<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>
2816<tr class="memdesc:a053a24bb37402fa4b4d8d5963976ba17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignores unused arguments. <a href="#a053a24bb37402fa4b4d8d5963976ba17">More...</a><br /></td></tr>
2817<tr class="separator:a053a24bb37402fa4b4d8d5963976ba17"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002818<tr class="memitem:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2edb6ec8bea5c26d7d802d21caf64d02">create_error_va_list</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</td></tr>
2819<tr class="memdesc:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an error containing the error message from variable argument list. <a href="#a2edb6ec8bea5c26d7d802d21caf64d02">More...</a><br /></td></tr>
2820<tr class="separator:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2821<tr class="memitem:a3eee3c80d78ee4574a5eed0af5af919d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3eee3c80d78ee4574a5eed0af5af919d">create_error</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg,...)</td></tr>
2822<tr class="memdesc:a3eee3c80d78ee4574a5eed0af5af919d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an error containing the error message. <a href="#a3eee3c80d78ee4574a5eed0af5af919d">More...</a><br /></td></tr>
2823<tr class="separator:a3eee3c80d78ee4574a5eed0af5af919d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002824<tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002825<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002826<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002827<tr class="memitem:a203882febb616f5468d1b63b60ffb331"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002828<tr class="memdesc:a203882febb616f5468d1b63b60ffb331"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating shift left <a href="#a203882febb616f5468d1b63b60ffb331">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002829<tr class="separator:a203882febb616f5468d1b63b60ffb331"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002830<tr class="memitem:a3e4f9ff20167e78399975ec02c009c95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e4f9ff20167e78399975ec02c009c95">sshr_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002831<tr class="memdesc:a3e4f9ff20167e78399975ec02c009c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar shift right <a href="#a3e4f9ff20167e78399975ec02c009c95">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002832<tr class="separator:a3e4f9ff20167e78399975ec02c009c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
2833<tr class="memitem:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dfcf4fd912cbd9853c0f7ddfcf3a163">sshr_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002834<tr class="memdesc:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar shift right <a href="#a1dfcf4fd912cbd9853c0f7ddfcf3a163">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002835<tr class="separator:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memSeparator" colspan="2">&#160;</td></tr>
2836<tr class="memitem:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002837<tr class="memdesc:a383b9d12f86c35ceed6dd5922439aa4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating shift left <a href="#a383b9d12f86c35ceed6dd5922439aa4c">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002838<tr class="separator:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002839<tr class="memitem:a43315c66c4d00207f70143233b189085"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002840<tr class="memdesc:a43315c66c4d00207f70143233b189085"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar absolute value <a href="#a43315c66c4d00207f70143233b189085">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002841<tr class="separator:a43315c66c4d00207f70143233b189085"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002842<tr class="memitem:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002843<tr class="memdesc:a5d49ea329c81268d6e12031f6f13f1eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar absolute value <a href="#a5d49ea329c81268d6e12031f6f13f1eb">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002844<tr class="separator:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002845<tr class="memitem:aa8cee074ec68e2ae7830a9472efd8429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002846<tr class="memdesc:aa8cee074ec68e2ae7830a9472efd8429"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar add <a href="#aa8cee074ec68e2ae7830a9472efd8429">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002847<tr class="separator:aa8cee074ec68e2ae7830a9472efd8429"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002848<tr class="memitem:ab30659aa2125bd5857547d424e601e34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002849<tr class="memdesc:ab30659aa2125bd5857547d424e601e34"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar add <a href="#ab30659aa2125bd5857547d424e601e34">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002850<tr class="separator:ab30659aa2125bd5857547d424e601e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002851<tr class="memitem:a532d90e007d0cb6f3d43107229c40c32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002852<tr class="memdesc:a532d90e007d0cb6f3d43107229c40c32"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating add <a href="#a532d90e007d0cb6f3d43107229c40c32">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002853<tr class="separator:a532d90e007d0cb6f3d43107229c40c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
2854<tr class="memitem:a45669fcc0f31fce521179510e85dcb62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002855<tr class="memdesc:a45669fcc0f31fce521179510e85dcb62"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating add <a href="#a45669fcc0f31fce521179510e85dcb62">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002856<tr class="separator:a45669fcc0f31fce521179510e85dcb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002857<tr class="memitem:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af1a4a8b0eeee4d2d1c14774e2417f3de">sqadd_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a, <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002858<tr class="memdesc:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point scalar saturating add <a href="#af1a4a8b0eeee4d2d1c14774e2417f3de">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002859<tr class="separator:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002860<tr class="memitem:ab97841950d268532e51f28a208ddafd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002861<tr class="memdesc:ab97841950d268532e51f28a208ddafd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar subtraction <a href="#ab97841950d268532e51f28a208ddafd4">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002862<tr class="separator:ab97841950d268532e51f28a208ddafd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002863<tr class="memitem:a70476eda2d46c943d572362fe2fc9d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002864<tr class="memdesc:a70476eda2d46c943d572362fe2fc9d14"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar subtraction <a href="#a70476eda2d46c943d572362fe2fc9d14">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002865<tr class="separator:a70476eda2d46c943d572362fe2fc9d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002866<tr class="memitem:ae74bbb6e25cc1b774428722b2faad00c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002867<tr class="memdesc:ae74bbb6e25cc1b774428722b2faad00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating subtraction <a href="#ae74bbb6e25cc1b774428722b2faad00c">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002868<tr class="separator:ae74bbb6e25cc1b774428722b2faad00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002869<tr class="memitem:a217e5c603560d6f73971983c6d1572a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002870<tr class="memdesc:a217e5c603560d6f73971983c6d1572a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating subtraction <a href="#a217e5c603560d6f73971983c6d1572a1">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002871<tr class="separator:a217e5c603560d6f73971983c6d1572a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002872<tr class="memitem:aec48f137adc904d648dd7eba0d828fab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002873<tr class="memdesc:aec48f137adc904d648dd7eba0d828fab"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar multiply <a href="#aec48f137adc904d648dd7eba0d828fab">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002874<tr class="separator:aec48f137adc904d648dd7eba0d828fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002875<tr class="memitem:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002876<tr class="memdesc:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar multiply <a href="#a7e6eff2c8b93f18002c06059b7e5b79a">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002877<tr class="separator:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002878<tr class="memitem:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002879<tr class="memdesc:af0b73b0c4980a551d7cd4edec43ffd92"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating multiply <a href="#af0b73b0c4980a551d7cd4edec43ffd92">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002880<tr class="separator:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002881<tr class="memitem:a55c8a365b4242664f8c0f19e91bcee92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002882<tr class="memdesc:a55c8a365b4242664f8c0f19e91bcee92"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating multiply <a href="#a55c8a365b4242664f8c0f19e91bcee92">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002883<tr class="separator:a55c8a365b4242664f8c0f19e91bcee92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002884<tr class="memitem:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0721e062e6d7a90f07fd08aeda5e7eda">sqmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002885<tr class="memdesc:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar multiply long <a href="#a0721e062e6d7a90f07fd08aeda5e7eda">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002886<tr class="separator:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
2887<tr class="memitem:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f9fcf8e60c300e602327f8ff67800cb">sqmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002888<tr class="memdesc:a7f9fcf8e60c300e602327f8ff67800cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar multiply long <a href="#a7f9fcf8e60c300e602327f8ff67800cb">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002889<tr class="separator:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002890<tr class="memitem:ab768d7001612a149c0bf695b773d659b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab768d7001612a149c0bf695b773d659b">sinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002891<tr class="memdesc:ab768d7001612a149c0bf695b773d659b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar inverse square root <a href="#ab768d7001612a149c0bf695b773d659b">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002892<tr class="separator:ab768d7001612a149c0bf695b773d659b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002893<tr class="memitem:a162390097e05ddc016310bad881c461c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a162390097e05ddc016310bad881c461c">sinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002894<tr class="memdesc:a162390097e05ddc016310bad881c461c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar inverse square root <a href="#a162390097e05ddc016310bad881c461c">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002895<tr class="separator:a162390097e05ddc016310bad881c461c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002896<tr class="memitem:ae39636f0e83dd3b854b89181a230216f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002897<tr class="memdesc:ae39636f0e83dd3b854b89181a230216f"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar division <a href="#ae39636f0e83dd3b854b89181a230216f">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002898<tr class="separator:ae39636f0e83dd3b854b89181a230216f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002899<tr class="memitem:a62b21ae2dd27770147d5b7c265fa534c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002900<tr class="memdesc:a62b21ae2dd27770147d5b7c265fa534c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar division <a href="#a62b21ae2dd27770147d5b7c265fa534c">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002901<tr class="separator:a62b21ae2dd27770147d5b7c265fa534c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2902<tr class="memitem:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a20724c7cb556b1ff4fd9d01c7020d762">sqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002903<tr class="memdesc:a20724c7cb556b1ff4fd9d01c7020d762"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar exponential <a href="#a20724c7cb556b1ff4fd9d01c7020d762">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002904<tr class="separator:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memSeparator" colspan="2">&#160;</td></tr>
2905<tr class="memitem:aba5b39758733711eaf3015d17839feb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba5b39758733711eaf3015d17839feb5">sqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002906<tr class="memdesc:aba5b39758733711eaf3015d17839feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#aba5b39758733711eaf3015d17839feb5">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002907<tr class="separator:aba5b39758733711eaf3015d17839feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2908<tr class="memitem:acc38b787d0451ec4a3e632ed919ac298"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acc38b787d0451ec4a3e632ed919ac298">sexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002909<tr class="memdesc:acc38b787d0451ec4a3e632ed919ac298"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#acc38b787d0451ec4a3e632ed919ac298">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002910<tr class="separator:acc38b787d0451ec4a3e632ed919ac298"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002911<tr class="memitem:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002912<tr class="memdesc:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar logarithm <a href="#a596a7e3c63f80e67ea7cb713e8fc9992">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002913<tr class="separator:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002914<tr class="memitem:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002915<tr class="memdesc:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar logarithm <a href="#ad45601a3c0f1d9f6210041651f4e2f4b">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002916<tr class="separator:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002917<tr class="memitem:a62232512d049619479b670c58a607924"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62232512d049619479b670c58a607924">scvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002918<tr class="memdesc:a62232512d049619479b670c58a607924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an 8 bit fixed point to float. <a href="#a62232512d049619479b670c58a607924">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002919<tr class="separator:a62232512d049619479b670c58a607924"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002920<tr class="memitem:a4f425447c1efb8d2b48cb50b110f4739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f425447c1efb8d2b48cb50b110f4739">sqcvt_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002921<tr class="memdesc:a4f425447c1efb8d2b48cb50b110f4739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float to 8 bit fixed point. <a href="#a4f425447c1efb8d2b48cb50b110f4739">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002922<tr class="separator:a4f425447c1efb8d2b48cb50b110f4739"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002923<tr class="memitem:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e8e161b9a16d750a6cff3fba6cd480">scvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002924<tr class="memdesc:a55e8e161b9a16d750a6cff3fba6cd480"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point to float. <a href="#a55e8e161b9a16d750a6cff3fba6cd480">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002925<tr class="separator:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002926<tr class="memitem:a790df824287a4f498e648dbbb481906b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a790df824287a4f498e648dbbb481906b">sqcvt_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002927<tr class="memdesc:a790df824287a4f498e648dbbb481906b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float to 16 bit fixed point. <a href="#a790df824287a4f498e648dbbb481906b">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002928<tr class="separator:a790df824287a4f498e648dbbb481906b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002929<tr class="memitem:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad555b251940cba2ca1c6eb168f0bbea4">sqmovn_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002930<tr class="memdesc:ad555b251940cba2ca1c6eb168f0bbea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar saturating move and narrow. <a href="#ad555b251940cba2ca1c6eb168f0bbea4">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002931<tr class="separator:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002932<tr class="memitem:a4a4859f4f212d3824e70a36aed901b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a4859f4f212d3824e70a36aed901b5b">sqmovn_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002933<tr class="memdesc:a4a4859f4f212d3824e70a36aed901b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar saturating move and narrow. <a href="#a4a4859f4f212d3824e70a36aed901b5b">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002934<tr class="separator:a4a4859f4f212d3824e70a36aed901b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002935<tr class="memitem:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2b27a559f3ff7deecfcd13e1e24194b">get_target_from_device</a> ()</td></tr>
2936<tr class="memdesc:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from GLES using GL_RENDERER enum. <a href="#ac2b27a559f3ff7deecfcd13e1e24194b">More...</a><br /></td></tr>
2937<tr class="separator:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002938<tr class="memitem:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab36bc98bdbf6c4d7bee0cb099513c806">enqueue</a> (<a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;lws=<a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1U, 1U, 1U))</td></tr>
2939<tr class="memdesc:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#ab36bc98bdbf6c4d7bee0cb099513c806">More...</a><br /></td></tr>
2940<tr class="separator:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="memSeparator" colspan="2">&#160;</td></tr>
2941<tr class="memitem:a19c7b9bc5f36935ba40314907ffe54ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19c7b9bc5f36935ba40314907ffe54ce">opengles31_is_available</a> ()</td></tr>
2942<tr class="memdesc:a19c7b9bc5f36935ba40314907ffe54ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the OpenGL ES 3.1 API is available at runtime. <a href="#a19c7b9bc5f36935ba40314907ffe54ce">More...</a><br /></td></tr>
2943<tr class="separator:a19c7b9bc5f36935ba40314907ffe54ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002944<tr class="memitem:afab814721e78cbfc34e7e7fe2874fa56"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afab814721e78cbfc34e7e7fe2874fa56">string_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
2945<tr class="memdesc:afab814721e78cbfc34e7e7fe2874fa56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given gpu device target to string. <a href="#afab814721e78cbfc34e7e7fe2874fa56">More...</a><br /></td></tr>
2946<tr class="separator:afab814721e78cbfc34e7e7fe2874fa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
2947<tr class="memitem:ade888194135e9dcce690e9e71a40620a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade888194135e9dcce690e9e71a40620a">get_target_from_name</a> (const std::string &amp;device_name)</td></tr>
2948<tr class="memdesc:ade888194135e9dcce690e9e71a40620a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from a device name. <a href="#ade888194135e9dcce690e9e71a40620a">More...</a><br /></td></tr>
2949<tr class="separator:ade888194135e9dcce690e9e71a40620a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2950<tr class="memitem:a4a351d5c39dec88af98a671da1c43fd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a351d5c39dec88af98a671da1c43fd6">get_arch_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
2951<tr class="memdesc:a4a351d5c39dec88af98a671da1c43fd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU arch. <a href="#a4a351d5c39dec88af98a671da1c43fd6">More...</a><br /></td></tr>
2952<tr class="separator:a4a351d5c39dec88af98a671da1c43fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2953<tr class="memitem:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
2954<tr class="memitem:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e3b0d9b90f6c97d5fe97b7d17c7ee25">gpu_target_is_in</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target_to_check, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target, Args...targets)</td></tr>
2955<tr class="memdesc:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a gpu target is equal to the provided targets. <a href="#a0e3b0d9b90f6c97d5fe97b7d17c7ee25">More...</a><br /></td></tr>
2956<tr class="separator:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="memSeparator" colspan="2">&#160;</td></tr>
2957<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>
2958<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>
2959<tr class="separator:aab39ce9a593f7e12a4bf4cb47272b917"><td class="memSeparator" colspan="2">&#160;</td></tr>
2960<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplParams" colspan="2">template&lt;typename Kernel , typename... T&gt; </td></tr>
2961<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35fb9d1dde1b976f4b7d361aabcc7c0d">create_configure_kernel</a> (T &amp;&amp;...args)</td></tr>
2962<tr class="memdesc:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object It also calls the kernel's configuration. <a href="#a35fb9d1dde1b976f4b7d361aabcc7c0d">More...</a><br /></td></tr>
2963<tr class="separator:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2964<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplParams" colspan="2">template&lt;typename Kernel &gt; </td></tr>
2965<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>
2966<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>
2967<tr class="separator:abc72c95941485d8a068fa38372308574"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002968<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2969<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 +00002970<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 +01002971<tr class="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002972<tr class="memitem:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2973<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>
2974<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>
2975<tr class="separator:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memSeparator" colspan="2">&#160;</td></tr>
2976<tr class="memitem:a6174495b626531de015ae2b810859287"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2977<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>
2978<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>
2979<tr class="separator:a6174495b626531de015ae2b810859287"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002980<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2981<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 +00002982<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 +01002983<tr class="separator:a1c8d639ec2b3086a9506e72605a32333"><td class="memSeparator" colspan="2">&#160;</td></tr>
2984<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2985<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 +00002986<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 +01002987<tr class="separator:afa55519774605e5b840fb031fdd7b196"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002988<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 +00002989<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 +01002990<tr class="separator:ab7b3af731907e85fcaf72555c446176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002991<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplParams" colspan="2">template&lt;typename L , typename... Ts&gt; </td></tr>
2992<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002993<tr class="memdesc:a6c0dcc38187027dcb89cd9724bc5a823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a6c0dcc38187027dcb89cd9724bc5a823">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002994<tr class="separator:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002995<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2996<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2a92cae51d2734a65676052adb33c22">update_window_and_padding</a> (<a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, Ts &amp;&amp;...patterns)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002997<tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002998<tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00002999<tr class="memitem:a1c28e5916fd54b778da115bfe646f588"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window</a> (const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
3000<tr class="memdesc:a1c28e5916fd54b778da115bfe646f588"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#a1c28e5916fd54b778da115bfe646f588">More...</a><br /></td></tr>
3001<tr class="separator:a1c28e5916fd54b778da115bfe646f588"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003002<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 +00003003<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 +01003004<tr class="separator:aa2117aef4381edbdf81e17ec088df7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003005<tr class="memitem:a252e257c58bfccbb272c0a5bf81d42cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a252e257c58bfccbb272c0a5bf81d42cb">calculate_max_window_horizontal</a> (const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
3006<tr class="memdesc:a252e257c58bfccbb272c0a5bf81d42cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a252e257c58bfccbb272c0a5bf81d42cb">More...</a><br /></td></tr>
3007<tr class="separator:a252e257c58bfccbb272c0a5bf81d42cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003008<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 +00003009<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 +01003010<tr class="separator:a47456b4d520aee1cba80bf6e20f6685a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003011<tr class="memitem:a2bbb5d1cdb27c0e8c517cb7c544226c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2bbb5d1cdb27c0e8c517cb7c544226c6">calculate_max_enlarged_window</a> (const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
3012<tr class="memdesc:a2bbb5d1cdb27c0e8c517cb7c544226c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#a2bbb5d1cdb27c0e8c517cb7c544226c6">More...</a><br /></td></tr>
3013<tr class="separator:a2bbb5d1cdb27c0e8c517cb7c544226c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003014<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 +00003015<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 +01003016<tr class="separator:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003017<tr class="memitem:a133621090cfb0f151340c6e04bd7bcc8"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3018<tr class="memitem:a133621090cfb0f151340c6e04bd7bcc8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a133621090cfb0f151340c6e04bd7bcc8">intersect_valid_regions</a> (const Ts &amp;...regions)</td></tr>
3019<tr class="memdesc:a133621090cfb0f151340c6e04bd7bcc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersect multiple valid regions. <a href="#a133621090cfb0f151340c6e04bd7bcc8">More...</a><br /></td></tr>
3020<tr class="separator:a133621090cfb0f151340c6e04bd7bcc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003021<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3022<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35178800b82e07a49da5a81cdeda9a0c">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, T stride_x, Ts &amp;&amp;...fixed_strides)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003023<tr class="memdesc:a35178800b82e07a49da5a81cdeda9a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#a35178800b82e07a49da5a81cdeda9a0c">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003024<tr class="separator:a35178800b82e07a49da5a81cdeda9a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3025<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3026<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 +00003027<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 +01003028<tr class="separator:a8c35748731709927597cb5a2c227e682"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003029<tr class="memitem:a21c3e11887f3acf9284ca763372c7da0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3030<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>
3031<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>
3032<tr class="separator:a21c3e11887f3acf9284ca763372c7da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003033<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>
3034<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>
3035<tr class="separator:a5045aaec85553032a782c44ab8d26341"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003036<tr class="memitem:a9a20062caae09fce4a567be558f9d702"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a20062caae09fce4a567be558f9d702">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, int fixed_point_position, <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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003037<tr class="memdesc:a9a20062caae09fce4a567be558f9d702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto initialize the tensor info (shape, number of channels, data type and fixed point position) if the current assignment is empty. <a href="#a9a20062caae09fce4a567be558f9d702">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003038<tr class="separator:a9a20062caae09fce4a567be558f9d702"><td class="memSeparator" colspan="2">&#160;</td></tr>
3039<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>
3040<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>
3041<tr class="separator:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003042<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 +01003043<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 +01003044<tr class="separator:a9d1a839c51134b2ae171a2264c541b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3045<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 +01003046<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 +01003047<tr class="separator:a8076ba239b6681067b6cfea7f773a39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3048<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 +01003049<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 +01003050<tr class="separator:ad19446be52c2c162fa678b9ae236f445"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003051<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>
3052<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>
3053<tr class="separator:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003054<tr class="memitem:a0894ed18ca6f55d6053882676cc2c95c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0894ed18ca6f55d6053882676cc2c95c">set_fixed_point_position_if_zero</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, int fixed_point_position)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003055<tr class="memdesc:a0894ed18ca6f55d6053882676cc2c95c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the fixed point position to the specified value if the current fixed point position is 0 and the data type is QS8 or QS16. <a href="#a0894ed18ca6f55d6053882676cc2c95c">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003056<tr class="separator:a0894ed18ca6f55d6053882676cc2c95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003057<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 +01003058<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 +00003059<tr class="separator:a75509469ec2689ec143f4a37bbcb4437"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003060<tr class="memitem:a4f83578a33b502bf6419ead091249423"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f83578a33b502bf6419ead091249423">calculate_valid_region_scale</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;src_info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;dst_shape, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> interpolate_policy, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> sampling_policy, bool border_undefined)</td></tr>
3061<tr class="memdesc:a4f83578a33b502bf6419ead091249423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#a4f83578a33b502bf6419ead091249423">More...</a><br /></td></tr>
3062<tr class="separator:a4f83578a33b502bf6419ead091249423"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003063<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 +00003064<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 +01003065<tr class="separator:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3066<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 +00003067<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 +01003068<tr class="separator:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003069<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>
3070<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>
3071<tr class="separator:a46e938020a3ac8c926d0590b7fe957db"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003072<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 +00003073<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 +00003074<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3075<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 +00003076<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 +00003077<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003078<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>
3079<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>
3080<tr class="separator:a5e28a3911204ac952601f512c82b48f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3081<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>
3082<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>
3083<tr class="separator:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003084<tr class="memitem:a695a8105065167f7e4596d31f23a3573"><td class="memTemplParams" colspan="2">template&lt;bool is_bounded_relu&gt; </td></tr>
3085<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>
3086<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>
3087<tr class="separator:a695a8105065167f7e4596d31f23a3573"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003088<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 +01003089<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 +00003090<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2">&#160;</td></tr>
3091<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 +01003092<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 +00003093<tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
3094<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template&lt;bool yuyv, bool alpha&gt; </td></tr>
3095<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 +01003096<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 +00003097<tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3098<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template&lt;bool uv, bool alpha&gt; </td></tr>
3099<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 +01003100<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 +00003101<tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2">&#160;</td></tr>
3102<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3103<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 +01003104<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 +00003105<tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2">&#160;</td></tr>
3106<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
3107<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 +01003108<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 +00003109<tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3110<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 +01003111<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 +00003112<tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3113<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
3114<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 +01003115<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 +00003116<tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2">&#160;</td></tr>
3117<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
3118<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 +01003119<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 +00003120<tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
3121<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
3122<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 +01003123<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 +00003124<tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3125<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 +01003126<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 +00003127<tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3128<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3129<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 +01003130<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 +00003131<tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3132<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3133<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 +01003134<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 +00003135<tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2">&#160;</td></tr>
3136<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
3137<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 +01003138<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 +00003139<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003140<tr class="memitem:a01aba870fcfc162ae8aa04ac2a71699f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01aba870fcfc162ae8aa04ac2a71699f">vget_low_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
3141<tr class="memdesc:a01aba870fcfc162ae8aa04ac2a71699f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#a01aba870fcfc162ae8aa04ac2a71699f">More...</a><br /></td></tr>
3142<tr class="separator:a01aba870fcfc162ae8aa04ac2a71699f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3143<tr class="memitem:a9e66057ae3f10ac402b7d7da1649ca59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9e66057ae3f10ac402b7d7da1649ca59">vget_low_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
3144<tr class="memdesc:a9e66057ae3f10ac402b7d7da1649ca59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#a9e66057ae3f10ac402b7d7da1649ca59">More...</a><br /></td></tr>
3145<tr class="separator:a9e66057ae3f10ac402b7d7da1649ca59"><td class="memSeparator" colspan="2">&#160;</td></tr>
3146<tr class="memitem:ab1a1485f2120c55da4a57a59be074f27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab1a1485f2120c55da4a57a59be074f27">vget_high_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
3147<tr class="memdesc:ab1a1485f2120c55da4a57a59be074f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ab1a1485f2120c55da4a57a59be074f27">More...</a><br /></td></tr>
3148<tr class="separator:ab1a1485f2120c55da4a57a59be074f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
3149<tr class="memitem:adb8a3a973b625b035f663bcac5781596"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb8a3a973b625b035f663bcac5781596">vget_high_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
3150<tr class="memdesc:adb8a3a973b625b035f663bcac5781596"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#adb8a3a973b625b035f663bcac5781596">More...</a><br /></td></tr>
3151<tr class="separator:adb8a3a973b625b035f663bcac5781596"><td class="memSeparator" colspan="2">&#160;</td></tr>
3152<tr class="memitem:a36fd8142f6f27eb7a663f6d1c2dbd0ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a36fd8142f6f27eb7a663f6d1c2dbd0ff">vld1_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
3153<tr class="memdesc:a36fd8142f6f27eb7a663f6d1c2dbd0ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (8 elements) <a href="#a36fd8142f6f27eb7a663f6d1c2dbd0ff">More...</a><br /></td></tr>
3154<tr class="separator:a36fd8142f6f27eb7a663f6d1c2dbd0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
3155<tr class="memitem:a5be0b430ef4d7b6a8da81a09f08f63bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5be0b430ef4d7b6a8da81a09f08f63bc">vld1_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
3156<tr class="memdesc:a5be0b430ef4d7b6a8da81a09f08f63bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (4 elements) <a href="#a5be0b430ef4d7b6a8da81a09f08f63bc">More...</a><br /></td></tr>
3157<tr class="separator:a5be0b430ef4d7b6a8da81a09f08f63bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
3158<tr class="memitem:a6fe68b389512d3adff15f45fc061bebd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fe68b389512d3adff15f45fc061bebd">vld1q_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
3159<tr class="memdesc:a6fe68b389512d3adff15f45fc061bebd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (16 elements) <a href="#a6fe68b389512d3adff15f45fc061bebd">More...</a><br /></td></tr>
3160<tr class="separator:a6fe68b389512d3adff15f45fc061bebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3161<tr class="memitem:ac1fbd31b8bc9abfb5d951679c839ec8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac1fbd31b8bc9abfb5d951679c839ec8b">vld1q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
3162<tr class="memdesc:ac1fbd31b8bc9abfb5d951679c839ec8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (8 elements) <a href="#ac1fbd31b8bc9abfb5d951679c839ec8b">More...</a><br /></td></tr>
3163<tr class="separator:ac1fbd31b8bc9abfb5d951679c839ec8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3164<tr class="memitem:ae6b66e4796e08d83db8fe89721e33d00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae6b66e4796e08d83db8fe89721e33d00">vld1_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
3165<tr class="memdesc:ae6b66e4796e08d83db8fe89721e33d00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) <a href="#ae6b66e4796e08d83db8fe89721e33d00">More...</a><br /></td></tr>
3166<tr class="separator:ae6b66e4796e08d83db8fe89721e33d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
3167<tr class="memitem:afae4f82c3373c53f461bffef703b95ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afae4f82c3373c53f461bffef703b95ff">vld1_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
3168<tr class="memdesc:afae4f82c3373c53f461bffef703b95ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) <a href="#afae4f82c3373c53f461bffef703b95ff">More...</a><br /></td></tr>
3169<tr class="separator:afae4f82c3373c53f461bffef703b95ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
3170<tr class="memitem:af6610f298ec273b9c83880a99fec49ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af6610f298ec273b9c83880a99fec49ac">vld1q_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
3171<tr class="memdesc:af6610f298ec273b9c83880a99fec49ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) <a href="#af6610f298ec273b9c83880a99fec49ac">More...</a><br /></td></tr>
3172<tr class="separator:af6610f298ec273b9c83880a99fec49ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
3173<tr class="memitem:a63c5b930195280ddd6716edd68651e3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a63c5b930195280ddd6716edd68651e3a">vld1q_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
3174<tr class="memdesc:a63c5b930195280ddd6716edd68651e3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) <a href="#a63c5b930195280ddd6716edd68651e3a">More...</a><br /></td></tr>
3175<tr class="separator:a63c5b930195280ddd6716edd68651e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003176<tr class="memitem:a8bab58697ee7d7df117384a05d4e2f92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bab58697ee7d7df117384a05d4e2f92">vld2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003177<tr class="memdesc:a8bab58697ee7d7df117384a05d4e2f92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load two 16 bit fixed point vectors from memory (8x2 elements) <a href="#a8bab58697ee7d7df117384a05d4e2f92">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003178<tr class="separator:a8bab58697ee7d7df117384a05d4e2f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003179<tr class="memitem:a7eed40dd2defff08c98f66bf0c67c61d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7eed40dd2defff08c98f66bf0c67c61d">vst1_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3180<tr class="memdesc:a7eed40dd2defff08c98f66bf0c67c61d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (8 elements) <a href="#a7eed40dd2defff08c98f66bf0c67c61d">More...</a><br /></td></tr>
3181<tr class="separator:a7eed40dd2defff08c98f66bf0c67c61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3182<tr class="memitem:a5002d49f346614198f3e8b475f27a7eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5002d49f346614198f3e8b475f27a7eb">vst1_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3183<tr class="memdesc:a5002d49f346614198f3e8b475f27a7eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (4 elements) <a href="#a5002d49f346614198f3e8b475f27a7eb">More...</a><br /></td></tr>
3184<tr class="separator:a5002d49f346614198f3e8b475f27a7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3185<tr class="memitem:a1839b5e8f0a3b1702b661a1838fba830"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1839b5e8f0a3b1702b661a1838fba830">vst1q_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3186<tr class="memdesc:a1839b5e8f0a3b1702b661a1838fba830"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (16 elements) <a href="#a1839b5e8f0a3b1702b661a1838fba830">More...</a><br /></td></tr>
3187<tr class="separator:a1839b5e8f0a3b1702b661a1838fba830"><td class="memSeparator" colspan="2">&#160;</td></tr>
3188<tr class="memitem:af3bb253fc02f0f58278794832cff641c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3bb253fc02f0f58278794832cff641c">vst1q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3189<tr class="memdesc:af3bb253fc02f0f58278794832cff641c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (8 elements) <a href="#af3bb253fc02f0f58278794832cff641c">More...</a><br /></td></tr>
3190<tr class="separator:af3bb253fc02f0f58278794832cff641c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3191<tr class="memitem:a133a4b6b925f585d9e3cab041494ddca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a133a4b6b925f585d9e3cab041494ddca">vst2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> b)</td></tr>
3192<tr class="memdesc:a133a4b6b925f585d9e3cab041494ddca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store two 16 bit fixed point vector to memory (8x2 elements) <a href="#a133a4b6b925f585d9e3cab041494ddca">More...</a><br /></td></tr>
3193<tr class="separator:a133a4b6b925f585d9e3cab041494ddca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003194<tr class="memitem:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">vqmovn_q16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003195<tr class="memdesc:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating narrow (8 elements) <a href="#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003196<tr class="separator:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003197<tr class="memitem:a12e7578c32321d2362114563881153ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12e7578c32321d2362114563881153ee">vqmovn_q32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003198<tr class="memdesc:a12e7578c32321d2362114563881153ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector saturating narrow (4 elements) <a href="#a12e7578c32321d2362114563881153ee">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003199<tr class="separator:a12e7578c32321d2362114563881153ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003200<tr class="memitem:ae5928c224ded2b86475c0e85036aa42b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5928c224ded2b86475c0e85036aa42b">vdup_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
3201<tr class="memdesc:ae5928c224ded2b86475c0e85036aa42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (8 elements) <a href="#ae5928c224ded2b86475c0e85036aa42b">More...</a><br /></td></tr>
3202<tr class="separator:ae5928c224ded2b86475c0e85036aa42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3203<tr class="memitem:aa6ebf4319713b842c2b95fe5e251d199"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa6ebf4319713b842c2b95fe5e251d199">vdup_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
3204<tr class="memdesc:aa6ebf4319713b842c2b95fe5e251d199"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (4 elements) <a href="#aa6ebf4319713b842c2b95fe5e251d199">More...</a><br /></td></tr>
3205<tr class="separator:aa6ebf4319713b842c2b95fe5e251d199"><td class="memSeparator" colspan="2">&#160;</td></tr>
3206<tr class="memitem:a14e4a79c204d38d9ab1c510180ce3a98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14e4a79c204d38d9ab1c510180ce3a98">vdupq_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
3207<tr class="memdesc:a14e4a79c204d38d9ab1c510180ce3a98"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (16 elements) <a href="#a14e4a79c204d38d9ab1c510180ce3a98">More...</a><br /></td></tr>
3208<tr class="separator:a14e4a79c204d38d9ab1c510180ce3a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
3209<tr class="memitem:a579ff1fb4795bc28e7eae6f480e03e08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a579ff1fb4795bc28e7eae6f480e03e08">vdupq_n_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
3210<tr class="memdesc:a579ff1fb4795bc28e7eae6f480e03e08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 8 bit fixed point vector (16 elements) <a href="#a579ff1fb4795bc28e7eae6f480e03e08">More...</a><br /></td></tr>
3211<tr class="separator:a579ff1fb4795bc28e7eae6f480e03e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
3212<tr class="memitem:aa286876d5353075d13377380bf0068ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa286876d5353075d13377380bf0068ef">vdupq_n_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
3213<tr class="memdesc:aa286876d5353075d13377380bf0068ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 16 bit fixed point vector (8 elements) <a href="#aa286876d5353075d13377380bf0068ef">More...</a><br /></td></tr>
3214<tr class="separator:aa286876d5353075d13377380bf0068ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003215<tr class="memitem:a740436aed8843612da747f40ff926875"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003216<tr class="memdesc:a740436aed8843612da747f40ff926875"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (8 elements) <a href="#a740436aed8843612da747f40ff926875">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003217<tr class="separator:a740436aed8843612da747f40ff926875"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003218<tr class="memitem:a6c5277e56fb1c3434ded55b90faa51e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c5277e56fb1c3434ded55b90faa51e8">vabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
3219<tr class="memdesc:a6c5277e56fb1c3434ded55b90faa51e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (8 elements) <a href="#a6c5277e56fb1c3434ded55b90faa51e8">More...</a><br /></td></tr>
3220<tr class="separator:a6c5277e56fb1c3434ded55b90faa51e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3221<tr class="memitem:a52988f4969583e2677bc4f04da8439e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a52988f4969583e2677bc4f04da8439e4">vabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
3222<tr class="memdesc:a52988f4969583e2677bc4f04da8439e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (4 elements) <a href="#a52988f4969583e2677bc4f04da8439e4">More...</a><br /></td></tr>
3223<tr class="separator:a52988f4969583e2677bc4f04da8439e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3224<tr class="memitem:ac3a568bc6c67b5706661db5243829f50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3a568bc6c67b5706661db5243829f50">vabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
3225<tr class="memdesc:ac3a568bc6c67b5706661db5243829f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (16 elements) <a href="#ac3a568bc6c67b5706661db5243829f50">More...</a><br /></td></tr>
3226<tr class="separator:ac3a568bc6c67b5706661db5243829f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
3227<tr class="memitem:ade3f03f4b20d7887ab4fa0abf527e1d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade3f03f4b20d7887ab4fa0abf527e1d6">vabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
3228<tr class="memdesc:ade3f03f4b20d7887ab4fa0abf527e1d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (8 elements) <a href="#ade3f03f4b20d7887ab4fa0abf527e1d6">More...</a><br /></td></tr>
3229<tr class="separator:ade3f03f4b20d7887ab4fa0abf527e1d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3230<tr class="memitem:a16e9223adc0503cd621862bc579ac8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16e9223adc0503cd621862bc579ac8fd">vqabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
3231<tr class="memdesc:a16e9223adc0503cd621862bc579ac8fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (8 elements) <a href="#a16e9223adc0503cd621862bc579ac8fd">More...</a><br /></td></tr>
3232<tr class="separator:a16e9223adc0503cd621862bc579ac8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3233<tr class="memitem:a0d7dfd9d3e62db1e218a965839901b63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d7dfd9d3e62db1e218a965839901b63">vqabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
3234<tr class="memdesc:a0d7dfd9d3e62db1e218a965839901b63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (4 elements) <a href="#a0d7dfd9d3e62db1e218a965839901b63">More...</a><br /></td></tr>
3235<tr class="separator:a0d7dfd9d3e62db1e218a965839901b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
3236<tr class="memitem:abe1d2a5130d2aaf0df28a90a45f8968d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abe1d2a5130d2aaf0df28a90a45f8968d">vqabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
3237<tr class="memdesc:abe1d2a5130d2aaf0df28a90a45f8968d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (16 elements) <a href="#abe1d2a5130d2aaf0df28a90a45f8968d">More...</a><br /></td></tr>
3238<tr class="separator:abe1d2a5130d2aaf0df28a90a45f8968d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3239<tr class="memitem:af6a8c22ef994a8035e92882ac525f416"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af6a8c22ef994a8035e92882ac525f416">vqabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
3240<tr class="memdesc:af6a8c22ef994a8035e92882ac525f416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (8 elements) <a href="#af6a8c22ef994a8035e92882ac525f416">More...</a><br /></td></tr>
3241<tr class="separator:af6a8c22ef994a8035e92882ac525f416"><td class="memSeparator" colspan="2">&#160;</td></tr>
3242<tr class="memitem:a1e832672b8b717f5af77bc138c4e684d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1e832672b8b717f5af77bc138c4e684d">vmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3243<tr class="memdesc:a1e832672b8b717f5af77bc138c4e684d"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (8 elements) <a href="#a1e832672b8b717f5af77bc138c4e684d">More...</a><br /></td></tr>
3244<tr class="separator:a1e832672b8b717f5af77bc138c4e684d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3245<tr class="memitem:afda7e56c8683e05da9787945eacf027f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afda7e56c8683e05da9787945eacf027f">vmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3246<tr class="memdesc:afda7e56c8683e05da9787945eacf027f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (4 elements) <a href="#afda7e56c8683e05da9787945eacf027f">More...</a><br /></td></tr>
3247<tr class="separator:afda7e56c8683e05da9787945eacf027f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3248<tr class="memitem:a5ed31e134ad256235f1b237a5cf16b72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ed31e134ad256235f1b237a5cf16b72">vmaxq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3249<tr class="memdesc:a5ed31e134ad256235f1b237a5cf16b72"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (16 elements) <a href="#a5ed31e134ad256235f1b237a5cf16b72">More...</a><br /></td></tr>
3250<tr class="separator:a5ed31e134ad256235f1b237a5cf16b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
3251<tr class="memitem:a62b936c1f23af7aedbad5859a6f01c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62b936c1f23af7aedbad5859a6f01c94">vmaxq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3252<tr class="memdesc:a62b936c1f23af7aedbad5859a6f01c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (8 elements) <a href="#a62b936c1f23af7aedbad5859a6f01c94">More...</a><br /></td></tr>
3253<tr class="separator:a62b936c1f23af7aedbad5859a6f01c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
3254<tr class="memitem:ac253431834fc1859d112e62ce2a6f59c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac253431834fc1859d112e62ce2a6f59c">vpmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3255<tr class="memdesc:ac253431834fc1859d112e62ce2a6f59c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise max (8 elements) <a href="#ac253431834fc1859d112e62ce2a6f59c">More...</a><br /></td></tr>
3256<tr class="separator:ac253431834fc1859d112e62ce2a6f59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3257<tr class="memitem:a45b269785fb545f072e5fd313b8b3648"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45b269785fb545f072e5fd313b8b3648">vpmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3258<tr class="memdesc:a45b269785fb545f072e5fd313b8b3648"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise max (4 elements) <a href="#a45b269785fb545f072e5fd313b8b3648">More...</a><br /></td></tr>
3259<tr class="separator:a45b269785fb545f072e5fd313b8b3648"><td class="memSeparator" colspan="2">&#160;</td></tr>
3260<tr class="memitem:a612e9bb7486e8cf609902d247047787c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a612e9bb7486e8cf609902d247047787c">vmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3261<tr class="memdesc:a612e9bb7486e8cf609902d247047787c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (8 elements) <a href="#a612e9bb7486e8cf609902d247047787c">More...</a><br /></td></tr>
3262<tr class="separator:a612e9bb7486e8cf609902d247047787c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3263<tr class="memitem:adaa26cd2173ae553d357eddb015f4d69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adaa26cd2173ae553d357eddb015f4d69">vmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3264<tr class="memdesc:adaa26cd2173ae553d357eddb015f4d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (4 elements) <a href="#adaa26cd2173ae553d357eddb015f4d69">More...</a><br /></td></tr>
3265<tr class="separator:adaa26cd2173ae553d357eddb015f4d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
3266<tr class="memitem:afb63c79277d00a478faf54a760f0f38c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb63c79277d00a478faf54a760f0f38c">vminq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3267<tr class="memdesc:afb63c79277d00a478faf54a760f0f38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (16 elements) <a href="#afb63c79277d00a478faf54a760f0f38c">More...</a><br /></td></tr>
3268<tr class="separator:afb63c79277d00a478faf54a760f0f38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3269<tr class="memitem:ae25469583330f615fb9d3729c615cc63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae25469583330f615fb9d3729c615cc63">vminq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3270<tr class="memdesc:ae25469583330f615fb9d3729c615cc63"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (8 elements) <a href="#ae25469583330f615fb9d3729c615cc63">More...</a><br /></td></tr>
3271<tr class="separator:ae25469583330f615fb9d3729c615cc63"><td class="memSeparator" colspan="2">&#160;</td></tr>
3272<tr class="memitem:a9f6abd342d47b531832e11b1837ad0b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f6abd342d47b531832e11b1837ad0b4">vpmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3273<tr class="memdesc:a9f6abd342d47b531832e11b1837ad0b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise min (8 elements) <a href="#a9f6abd342d47b531832e11b1837ad0b4">More...</a><br /></td></tr>
3274<tr class="separator:a9f6abd342d47b531832e11b1837ad0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3275<tr class="memitem:a0ab85cdf2cf2a3c2724a1431cab2d93c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0ab85cdf2cf2a3c2724a1431cab2d93c">vpmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3276<tr class="memdesc:a0ab85cdf2cf2a3c2724a1431cab2d93c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise min (4 elements) <a href="#a0ab85cdf2cf2a3c2724a1431cab2d93c">More...</a><br /></td></tr>
3277<tr class="separator:a0ab85cdf2cf2a3c2724a1431cab2d93c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3278<tr class="memitem:a6ae2c8aa90fad62779e17a2adb06f353"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ae2c8aa90fad62779e17a2adb06f353">vadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3279<tr class="memdesc:a6ae2c8aa90fad62779e17a2adb06f353"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (8 elements) <a href="#a6ae2c8aa90fad62779e17a2adb06f353">More...</a><br /></td></tr>
3280<tr class="separator:a6ae2c8aa90fad62779e17a2adb06f353"><td class="memSeparator" colspan="2">&#160;</td></tr>
3281<tr class="memitem:aeae8ace3bb6e0cdb407fdac73f1c67a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeae8ace3bb6e0cdb407fdac73f1c67a6">vadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3282<tr class="memdesc:aeae8ace3bb6e0cdb407fdac73f1c67a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (4 elements) <a href="#aeae8ace3bb6e0cdb407fdac73f1c67a6">More...</a><br /></td></tr>
3283<tr class="separator:aeae8ace3bb6e0cdb407fdac73f1c67a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3284<tr class="memitem:a14157ffd112ba32acb3af50e46d0e76a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14157ffd112ba32acb3af50e46d0e76a">vaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3285<tr class="memdesc:a14157ffd112ba32acb3af50e46d0e76a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (16 elements) <a href="#a14157ffd112ba32acb3af50e46d0e76a">More...</a><br /></td></tr>
3286<tr class="separator:a14157ffd112ba32acb3af50e46d0e76a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3287<tr class="memitem:a76505d3ed993337fde8186da5060e8e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76505d3ed993337fde8186da5060e8e8">vaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3288<tr class="memdesc:a76505d3ed993337fde8186da5060e8e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (8 elements) <a href="#a76505d3ed993337fde8186da5060e8e8">More...</a><br /></td></tr>
3289<tr class="separator:a76505d3ed993337fde8186da5060e8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3290<tr class="memitem:a53c990687ed6af989bcf4920b06c5092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a53c990687ed6af989bcf4920b06c5092">vqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3291<tr class="memdesc:a53c990687ed6af989bcf4920b06c5092"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (8 elements) <a href="#a53c990687ed6af989bcf4920b06c5092">More...</a><br /></td></tr>
3292<tr class="separator:a53c990687ed6af989bcf4920b06c5092"><td class="memSeparator" colspan="2">&#160;</td></tr>
3293<tr class="memitem:a7b9af77579156d434eb576314495e313"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b9af77579156d434eb576314495e313">vqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3294<tr class="memdesc:a7b9af77579156d434eb576314495e313"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (4 elements) <a href="#a7b9af77579156d434eb576314495e313">More...</a><br /></td></tr>
3295<tr class="separator:a7b9af77579156d434eb576314495e313"><td class="memSeparator" colspan="2">&#160;</td></tr>
3296<tr class="memitem:aaa057569eb92497b2c8c973b3318adb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa057569eb92497b2c8c973b3318adb8">vqaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3297<tr class="memdesc:aaa057569eb92497b2c8c973b3318adb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (16 elements) <a href="#aaa057569eb92497b2c8c973b3318adb8">More...</a><br /></td></tr>
3298<tr class="separator:aaa057569eb92497b2c8c973b3318adb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3299<tr class="memitem:ac211d3f3dc485752995088353ae380b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac211d3f3dc485752995088353ae380b5">vqaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3300<tr class="memdesc:ac211d3f3dc485752995088353ae380b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (8 elements) <a href="#ac211d3f3dc485752995088353ae380b5">More...</a><br /></td></tr>
3301<tr class="separator:ac211d3f3dc485752995088353ae380b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3302<tr class="memitem:a976c55d88da1b155b4a83130a2c25555"><td class="memItemLeft" align="right" valign="top">int16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a976c55d88da1b155b4a83130a2c25555">vpaddl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
3303<tr class="memdesc:a976c55d88da1b155b4a83130a2c25555"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating pairwise add (8 elements) <a href="#a976c55d88da1b155b4a83130a2c25555">More...</a><br /></td></tr>
3304<tr class="separator:a976c55d88da1b155b4a83130a2c25555"><td class="memSeparator" colspan="2">&#160;</td></tr>
3305<tr class="memitem:ac8b8422b0719e35a7faba44cbd81c973"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8b8422b0719e35a7faba44cbd81c973">vsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3306<tr class="memdesc:ac8b8422b0719e35a7faba44cbd81c973"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (8 elements) <a href="#ac8b8422b0719e35a7faba44cbd81c973">More...</a><br /></td></tr>
3307<tr class="separator:ac8b8422b0719e35a7faba44cbd81c973"><td class="memSeparator" colspan="2">&#160;</td></tr>
3308<tr class="memitem:a9c19223d683db3fb9a2afae06a9172da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c19223d683db3fb9a2afae06a9172da">vsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3309<tr class="memdesc:a9c19223d683db3fb9a2afae06a9172da"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (4 elements) <a href="#a9c19223d683db3fb9a2afae06a9172da">More...</a><br /></td></tr>
3310<tr class="separator:a9c19223d683db3fb9a2afae06a9172da"><td class="memSeparator" colspan="2">&#160;</td></tr>
3311<tr class="memitem:ac081f136f0b4e5e1faba00197b0f5bb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac081f136f0b4e5e1faba00197b0f5bb6">vsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3312<tr class="memdesc:ac081f136f0b4e5e1faba00197b0f5bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (16 elements) <a href="#ac081f136f0b4e5e1faba00197b0f5bb6">More...</a><br /></td></tr>
3313<tr class="separator:ac081f136f0b4e5e1faba00197b0f5bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3314<tr class="memitem:a8d4129255837b86e09fcc326e46821fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8d4129255837b86e09fcc326e46821fb">vsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3315<tr class="memdesc:a8d4129255837b86e09fcc326e46821fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (8 elements) <a href="#a8d4129255837b86e09fcc326e46821fb">More...</a><br /></td></tr>
3316<tr class="separator:a8d4129255837b86e09fcc326e46821fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3317<tr class="memitem:a8a94adba1cfff4ce4142add654c60521"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a94adba1cfff4ce4142add654c60521">vqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
3318<tr class="memdesc:a8a94adba1cfff4ce4142add654c60521"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (8 elements) <a href="#a8a94adba1cfff4ce4142add654c60521">More...</a><br /></td></tr>
3319<tr class="separator:a8a94adba1cfff4ce4142add654c60521"><td class="memSeparator" colspan="2">&#160;</td></tr>
3320<tr class="memitem:a496848521c818232b32b1ea1f481d1f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a496848521c818232b32b1ea1f481d1f2">vqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
3321<tr class="memdesc:a496848521c818232b32b1ea1f481d1f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (4 elements) <a href="#a496848521c818232b32b1ea1f481d1f2">More...</a><br /></td></tr>
3322<tr class="separator:a496848521c818232b32b1ea1f481d1f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3323<tr class="memitem:a7e8458b3298a996c332d771b1058e515"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e8458b3298a996c332d771b1058e515">vqsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
3324<tr class="memdesc:a7e8458b3298a996c332d771b1058e515"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (16 elements) <a href="#a7e8458b3298a996c332d771b1058e515">More...</a><br /></td></tr>
3325<tr class="separator:a7e8458b3298a996c332d771b1058e515"><td class="memSeparator" colspan="2">&#160;</td></tr>
3326<tr class="memitem:a270d4ddc6689933d1d239eabf7649e54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a270d4ddc6689933d1d239eabf7649e54">vqsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
3327<tr class="memdesc:a270d4ddc6689933d1d239eabf7649e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (8 elements) <a href="#a270d4ddc6689933d1d239eabf7649e54">More...</a><br /></td></tr>
3328<tr class="separator:a270d4ddc6689933d1d239eabf7649e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
3329<tr class="memitem:a87756fc439f4a516852d4c1c845006bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a87756fc439f4a516852d4c1c845006bd">vmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
3330<tr class="memdesc:a87756fc439f4a516852d4c1c845006bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (8 elements) <a href="#a87756fc439f4a516852d4c1c845006bd">More...</a><br /></td></tr>
3331<tr class="separator:a87756fc439f4a516852d4c1c845006bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3332<tr class="memitem:aa8689c6e9627c58b6362ac9556b7b85f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8689c6e9627c58b6362ac9556b7b85f">vmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
3333<tr class="memdesc:aa8689c6e9627c58b6362ac9556b7b85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (4 elements) <a href="#aa8689c6e9627c58b6362ac9556b7b85f">More...</a><br /></td></tr>
3334<tr class="separator:aa8689c6e9627c58b6362ac9556b7b85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3335<tr class="memitem:a9b64880d62b60bb7237d0eb920c02087"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9b64880d62b60bb7237d0eb920c02087">vmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
3336<tr class="memdesc:a9b64880d62b60bb7237d0eb920c02087"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (16 elements) <a href="#a9b64880d62b60bb7237d0eb920c02087">More...</a><br /></td></tr>
3337<tr class="separator:a9b64880d62b60bb7237d0eb920c02087"><td class="memSeparator" colspan="2">&#160;</td></tr>
3338<tr class="memitem:aff021302b2661f42dffbb9fe4a6e3587"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff021302b2661f42dffbb9fe4a6e3587">vmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
3339<tr class="memdesc:aff021302b2661f42dffbb9fe4a6e3587"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (8 elements) <a href="#aff021302b2661f42dffbb9fe4a6e3587">More...</a><br /></td></tr>
3340<tr class="separator:aff021302b2661f42dffbb9fe4a6e3587"><td class="memSeparator" colspan="2">&#160;</td></tr>
3341<tr class="memitem:a13b07f92cefe3dcc799ab28c351419cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a13b07f92cefe3dcc799ab28c351419cb">vqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
3342<tr class="memdesc:a13b07f92cefe3dcc799ab28c351419cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (8 elements) <a href="#a13b07f92cefe3dcc799ab28c351419cb">More...</a><br /></td></tr>
3343<tr class="separator:a13b07f92cefe3dcc799ab28c351419cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3344<tr class="memitem:afdab93549d4c969851a39081a7f282a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afdab93549d4c969851a39081a7f282a1">vqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
3345<tr class="memdesc:afdab93549d4c969851a39081a7f282a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (4 elements) <a href="#afdab93549d4c969851a39081a7f282a1">More...</a><br /></td></tr>
3346<tr class="separator:afdab93549d4c969851a39081a7f282a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3347<tr class="memitem:a8391ec73756d60aa43a82c04d5ece85e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8391ec73756d60aa43a82c04d5ece85e">vqmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
3348<tr class="memdesc:a8391ec73756d60aa43a82c04d5ece85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (16 elements) <a href="#a8391ec73756d60aa43a82c04d5ece85e">More...</a><br /></td></tr>
3349<tr class="separator:a8391ec73756d60aa43a82c04d5ece85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3350<tr class="memitem:a97a9dc05834e61a1aca309400bfded8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a97a9dc05834e61a1aca309400bfded8c">vqmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
3351<tr class="memdesc:a97a9dc05834e61a1aca309400bfded8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (8 elements) <a href="#a97a9dc05834e61a1aca309400bfded8c">More...</a><br /></td></tr>
3352<tr class="separator:a97a9dc05834e61a1aca309400bfded8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3353<tr class="memitem:adedd47ca832ff5041f2e3fb9cecda6e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adedd47ca832ff5041f2e3fb9cecda6e9">vmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
3354<tr class="memdesc:adedd47ca832ff5041f2e3fb9cecda6e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector long multiply (8 elements) <a href="#adedd47ca832ff5041f2e3fb9cecda6e9">More...</a><br /></td></tr>
3355<tr class="separator:adedd47ca832ff5041f2e3fb9cecda6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3356<tr class="memitem:a240b655cf59e7e8e07bd7873e9db0209"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a240b655cf59e7e8e07bd7873e9db0209">vmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
3357<tr class="memdesc:a240b655cf59e7e8e07bd7873e9db0209"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector long multiply (4 elements) <a href="#a240b655cf59e7e8e07bd7873e9db0209">More...</a><br /></td></tr>
3358<tr class="separator:a240b655cf59e7e8e07bd7873e9db0209"><td class="memSeparator" colspan="2">&#160;</td></tr>
3359<tr class="memitem:a9148ef4deac37685c5dca50713e1bc51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9148ef4deac37685c5dca50713e1bc51">vmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
3360<tr class="memdesc:a9148ef4deac37685c5dca50713e1bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (8 elements). <a href="#a9148ef4deac37685c5dca50713e1bc51">More...</a><br /></td></tr>
3361<tr class="separator:a9148ef4deac37685c5dca50713e1bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
3362<tr class="memitem:a65dd9a9ece185e072304bfb84f1da896"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65dd9a9ece185e072304bfb84f1da896">vmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
3363<tr class="memdesc:a65dd9a9ece185e072304bfb84f1da896"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (4 elements). <a href="#a65dd9a9ece185e072304bfb84f1da896">More...</a><br /></td></tr>
3364<tr class="separator:a65dd9a9ece185e072304bfb84f1da896"><td class="memSeparator" colspan="2">&#160;</td></tr>
3365<tr class="memitem:a8f7e4ade15cc5e0ff880a5cae0afe551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8f7e4ade15cc5e0ff880a5cae0afe551">vmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
3366<tr class="memdesc:a8f7e4ade15cc5e0ff880a5cae0afe551"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (16 elements). <a href="#a8f7e4ade15cc5e0ff880a5cae0afe551">More...</a><br /></td></tr>
3367<tr class="separator:a8f7e4ade15cc5e0ff880a5cae0afe551"><td class="memSeparator" colspan="2">&#160;</td></tr>
3368<tr class="memitem:a5740aa7e90f78b876eab289c1f555bd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5740aa7e90f78b876eab289c1f555bd6">vmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
3369<tr class="memdesc:a5740aa7e90f78b876eab289c1f555bd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (16 elements). <a href="#a5740aa7e90f78b876eab289c1f555bd6">More...</a><br /></td></tr>
3370<tr class="separator:a5740aa7e90f78b876eab289c1f555bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3371<tr class="memitem:a1ef65dbc253ba9bdf9878d587134948d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ef65dbc253ba9bdf9878d587134948d">vqmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
3372<tr class="memdesc:a1ef65dbc253ba9bdf9878d587134948d"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#a1ef65dbc253ba9bdf9878d587134948d">More...</a><br /></td></tr>
3373<tr class="separator:a1ef65dbc253ba9bdf9878d587134948d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3374<tr class="memitem:a82aa0004d0ec3a36047eb9aa8145ae58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82aa0004d0ec3a36047eb9aa8145ae58">vqmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
3375<tr class="memdesc:a82aa0004d0ec3a36047eb9aa8145ae58"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (4 elements). <a href="#a82aa0004d0ec3a36047eb9aa8145ae58">More...</a><br /></td></tr>
3376<tr class="separator:a82aa0004d0ec3a36047eb9aa8145ae58"><td class="memSeparator" colspan="2">&#160;</td></tr>
3377<tr class="memitem:a9b87f278c2405ed16a39dd3c727ed176"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9b87f278c2405ed16a39dd3c727ed176">vqmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
3378<tr class="memdesc:a9b87f278c2405ed16a39dd3c727ed176"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (16 elements). <a href="#a9b87f278c2405ed16a39dd3c727ed176">More...</a><br /></td></tr>
3379<tr class="separator:a9b87f278c2405ed16a39dd3c727ed176"><td class="memSeparator" colspan="2">&#160;</td></tr>
3380<tr class="memitem:a7f95e15953c87e04b31dd4fb508ba661"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f95e15953c87e04b31dd4fb508ba661">vqmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
3381<tr class="memdesc:a7f95e15953c87e04b31dd4fb508ba661"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#a7f95e15953c87e04b31dd4fb508ba661">More...</a><br /></td></tr>
3382<tr class="separator:a7f95e15953c87e04b31dd4fb508ba661"><td class="memSeparator" colspan="2">&#160;</td></tr>
3383<tr class="memitem:a1daaabdf809ac3cbfde6d95555faef78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1daaabdf809ac3cbfde6d95555faef78">vmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
3384<tr class="memdesc:a1daaabdf809ac3cbfde6d95555faef78"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate long (8 elements). <a href="#a1daaabdf809ac3cbfde6d95555faef78">More...</a><br /></td></tr>
3385<tr class="separator:a1daaabdf809ac3cbfde6d95555faef78"><td class="memSeparator" colspan="2">&#160;</td></tr>
3386<tr class="memitem:a163987dd7c9679354c24ad7d3a32fafb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a163987dd7c9679354c24ad7d3a32fafb">vmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
3387<tr class="memdesc:a163987dd7c9679354c24ad7d3a32fafb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate long (4 elements). <a href="#a163987dd7c9679354c24ad7d3a32fafb">More...</a><br /></td></tr>
3388<tr class="separator:a163987dd7c9679354c24ad7d3a32fafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3389<tr class="memitem:a2e9b5e17434f8beaf1010d256b4b41c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2e9b5e17434f8beaf1010d256b4b41c2">vqmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
3390<tr class="memdesc:a2e9b5e17434f8beaf1010d256b4b41c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate long (8 elements). <a href="#a2e9b5e17434f8beaf1010d256b4b41c2">More...</a><br /></td></tr>
3391<tr class="separator:a2e9b5e17434f8beaf1010d256b4b41c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3392<tr class="memitem:a3821183742f08737679437e657400fd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3821183742f08737679437e657400fd2">vqmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
3393<tr class="memdesc:a3821183742f08737679437e657400fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate long (4 elements). <a href="#a3821183742f08737679437e657400fd2">More...</a><br /></td></tr>
3394<tr class="separator:a3821183742f08737679437e657400fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003395<tr class="memitem:a371a36182341de1fa885d16e8780302f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a371a36182341de1fa885d16e8780302f">vqcvt_qs8_f32</a> (const float32x4x2_t a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003396<tr class="memdesc:a371a36182341de1fa885d16e8780302f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. <a href="#a371a36182341de1fa885d16e8780302f">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003397<tr class="separator:a371a36182341de1fa885d16e8780302f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003398<tr class="memitem:ad6a5927c42259aa1e8e8acef8f42b2be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad6a5927c42259aa1e8e8acef8f42b2be">vqcvt_qs16_f32</a> (const float32x4_t a, int fixed_point_position)</td></tr>
3399<tr class="memdesc:ad6a5927c42259aa1e8e8acef8f42b2be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. <a href="#ad6a5927c42259aa1e8e8acef8f42b2be">More...</a><br /></td></tr>
3400<tr class="separator:ad6a5927c42259aa1e8e8acef8f42b2be"><td class="memSeparator" colspan="2">&#160;</td></tr>
3401<tr class="memitem:a8363f66cbb4859d6bff88722def231bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8363f66cbb4859d6bff88722def231bb">vqcvtq_qs8_f32</a> (const float32x4x4_t &amp;a, int fixed_point_position)</td></tr>
3402<tr class="memdesc:a8363f66cbb4859d6bff88722def231bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. <a href="#a8363f66cbb4859d6bff88722def231bb">More...</a><br /></td></tr>
3403<tr class="separator:a8363f66cbb4859d6bff88722def231bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3404<tr class="memitem:ab65a962155ae0435b66bfa12328e5edf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab65a962155ae0435b66bfa12328e5edf">vqcvtq_qs16_f32</a> (const float32x4x2_t &amp;a, int fixed_point_position)</td></tr>
3405<tr class="memdesc:ab65a962155ae0435b66bfa12328e5edf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. <a href="#ab65a962155ae0435b66bfa12328e5edf">More...</a><br /></td></tr>
3406<tr class="separator:ab65a962155ae0435b66bfa12328e5edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3407<tr class="memitem:a0e5310342a6ac0682691754a45d968ac"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e5310342a6ac0682691754a45d968ac">vcvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3408<tr class="memdesc:a0e5310342a6ac0682691754a45d968ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a0e5310342a6ac0682691754a45d968ac">More...</a><br /></td></tr>
3409<tr class="separator:a0e5310342a6ac0682691754a45d968ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
3410<tr class="memitem:aa3eadd9dc42dec63c6a23af0044704c0"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3eadd9dc42dec63c6a23af0044704c0">vcvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3411<tr class="memdesc:aa3eadd9dc42dec63c6a23af0044704c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. <a href="#aa3eadd9dc42dec63c6a23af0044704c0">More...</a><br /></td></tr>
3412<tr class="separator:aa3eadd9dc42dec63c6a23af0044704c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003413<tr class="memitem:a19e68f6a298ae587a491df52d6859350"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19e68f6a298ae587a491df52d6859350">vcvtq_qs8_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003414<tr class="memdesc:a19e68f6a298ae587a491df52d6859350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. <a href="#a19e68f6a298ae587a491df52d6859350">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003415<tr class="separator:a19e68f6a298ae587a491df52d6859350"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003416<tr class="memitem:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a943abeff66faa34d1c2aeeab4ebfabdf">vcvtq_qs16_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003417<tr class="memdesc:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a943abeff66faa34d1c2aeeab4ebfabdf">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003418<tr class="separator:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003419<tr class="memitem:a8296fccbf09fbf34ad4b92f4021006da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8296fccbf09fbf34ad4b92f4021006da">vrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3420<tr class="memdesc:a8296fccbf09fbf34ad4b92f4021006da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a8296fccbf09fbf34ad4b92f4021006da">More...</a><br /></td></tr>
3421<tr class="separator:a8296fccbf09fbf34ad4b92f4021006da"><td class="memSeparator" colspan="2">&#160;</td></tr>
3422<tr class="memitem:a6684a81eb6da5626f58dc2f779442363"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6684a81eb6da5626f58dc2f779442363">vrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3423<tr class="memdesc:a6684a81eb6da5626f58dc2f779442363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a6684a81eb6da5626f58dc2f779442363">More...</a><br /></td></tr>
3424<tr class="separator:a6684a81eb6da5626f58dc2f779442363"><td class="memSeparator" colspan="2">&#160;</td></tr>
3425<tr class="memitem:aaa8caca8d68cca50001e0c60b01cf3b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa8caca8d68cca50001e0c60b01cf3b7">vrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3426<tr class="memdesc:aaa8caca8d68cca50001e0c60b01cf3b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aaa8caca8d68cca50001e0c60b01cf3b7">More...</a><br /></td></tr>
3427<tr class="separator:aaa8caca8d68cca50001e0c60b01cf3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3428<tr class="memitem:a0c9efa256360bb7dbb87e1ddd439727b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c9efa256360bb7dbb87e1ddd439727b">vrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3429<tr class="memdesc:a0c9efa256360bb7dbb87e1ddd439727b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a0c9efa256360bb7dbb87e1ddd439727b">More...</a><br /></td></tr>
3430<tr class="separator:a0c9efa256360bb7dbb87e1ddd439727b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3431<tr class="memitem:ae882a78a649d7d737cab1cb496e6e0f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae882a78a649d7d737cab1cb496e6e0f0">vdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int8x8_t b, int fixed_point_position)</td></tr>
3432<tr class="memdesc:ae882a78a649d7d737cab1cb496e6e0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (8 elements) <a href="#ae882a78a649d7d737cab1cb496e6e0f0">More...</a><br /></td></tr>
3433<tr class="separator:ae882a78a649d7d737cab1cb496e6e0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3434<tr class="memitem:a73c3ec663189efd1ef6e93249939ed02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73c3ec663189efd1ef6e93249939ed02">vdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
3435<tr class="memdesc:a73c3ec663189efd1ef6e93249939ed02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (4 elements) <a href="#a73c3ec663189efd1ef6e93249939ed02">More...</a><br /></td></tr>
3436<tr class="separator:a73c3ec663189efd1ef6e93249939ed02"><td class="memSeparator" colspan="2">&#160;</td></tr>
3437<tr class="memitem:abacd82fd9acb85349b751a3eba0fd8db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abacd82fd9acb85349b751a3eba0fd8db">vdivq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
3438<tr class="memdesc:abacd82fd9acb85349b751a3eba0fd8db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (16 elements) <a href="#abacd82fd9acb85349b751a3eba0fd8db">More...</a><br /></td></tr>
3439<tr class="separator:abacd82fd9acb85349b751a3eba0fd8db"><td class="memSeparator" colspan="2">&#160;</td></tr>
3440<tr class="memitem:af5830e15cd59ed3198b916ec03efa07a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af5830e15cd59ed3198b916ec03efa07a">vdivq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
3441<tr class="memdesc:af5830e15cd59ed3198b916ec03efa07a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (8 elements) <a href="#af5830e15cd59ed3198b916ec03efa07a">More...</a><br /></td></tr>
3442<tr class="separator:af5830e15cd59ed3198b916ec03efa07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3443<tr class="memitem:a0e0e8c2bd0e807665d319522a9759290"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
3444<tr class="memitem:a0e0e8c2bd0e807665d319522a9759290"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e0e8c2bd0e807665d319522a9759290">vtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3445<tr class="memdesc:a0e0e8c2bd0e807665d319522a9759290"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a0e0e8c2bd0e807665d319522a9759290">More...</a><br /></td></tr>
3446<tr class="separator:a0e0e8c2bd0e807665d319522a9759290"><td class="memSeparator" colspan="2">&#160;</td></tr>
3447<tr class="memitem:a1629fb1e72d3c423a27c4b99befdca42"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
3448<tr class="memitem:a1629fb1e72d3c423a27c4b99befdca42"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1629fb1e72d3c423a27c4b99befdca42">vtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3449<tr class="memdesc:a1629fb1e72d3c423a27c4b99befdca42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a1629fb1e72d3c423a27c4b99befdca42">More...</a><br /></td></tr>
3450<tr class="separator:a1629fb1e72d3c423a27c4b99befdca42"><td class="memSeparator" colspan="2">&#160;</td></tr>
3451<tr class="memitem:a026e9fe1c4037706de8f6206efd98a56"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
3452<tr class="memitem:a026e9fe1c4037706de8f6206efd98a56"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a026e9fe1c4037706de8f6206efd98a56">vtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3453<tr class="memdesc:a026e9fe1c4037706de8f6206efd98a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a026e9fe1c4037706de8f6206efd98a56">More...</a><br /></td></tr>
3454<tr class="separator:a026e9fe1c4037706de8f6206efd98a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
3455<tr class="memitem:aa8fcc7e78931bef2916548369bc928e3"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
3456<tr class="memitem:aa8fcc7e78931bef2916548369bc928e3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8fcc7e78931bef2916548369bc928e3">vtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3457<tr class="memdesc:aa8fcc7e78931bef2916548369bc928e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#aa8fcc7e78931bef2916548369bc928e3">More...</a><br /></td></tr>
3458<tr class="separator:aa8fcc7e78931bef2916548369bc928e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
3459<tr class="memitem:a796dc111009ab985d6bac8664743b56e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a796dc111009ab985d6bac8664743b56e">vqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3460<tr class="memdesc:a796dc111009ab985d6bac8664743b56e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (8 elements) <a href="#a796dc111009ab985d6bac8664743b56e">More...</a><br /></td></tr>
3461<tr class="separator:a796dc111009ab985d6bac8664743b56e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3462<tr class="memitem:a8aec993498bbb804d3411179eaae5ce8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8aec993498bbb804d3411179eaae5ce8">vqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3463<tr class="memdesc:a8aec993498bbb804d3411179eaae5ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (4 elements) <a href="#a8aec993498bbb804d3411179eaae5ce8">More...</a><br /></td></tr>
3464<tr class="separator:a8aec993498bbb804d3411179eaae5ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3465<tr class="memitem:a7274ff184c5e2bf7fd8159ee7905fb7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7274ff184c5e2bf7fd8159ee7905fb7c">vqexpq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3466<tr class="memdesc:a7274ff184c5e2bf7fd8159ee7905fb7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (16 elements) <a href="#a7274ff184c5e2bf7fd8159ee7905fb7c">More...</a><br /></td></tr>
3467<tr class="separator:a7274ff184c5e2bf7fd8159ee7905fb7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3468<tr class="memitem:acb7e4a856a35070e51f402767916fbb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acb7e4a856a35070e51f402767916fbb5">vqexpq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3469<tr class="memdesc:acb7e4a856a35070e51f402767916fbb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (8 elements) <a href="#acb7e4a856a35070e51f402767916fbb5">More...</a><br /></td></tr>
3470<tr class="separator:acb7e4a856a35070e51f402767916fbb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3471<tr class="memitem:a4ca0ad1dc517c2646d7da1583936867f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ca0ad1dc517c2646d7da1583936867f">vlog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3472<tr class="memdesc:a4ca0ad1dc517c2646d7da1583936867f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 8 bit (8 elements) <a href="#a4ca0ad1dc517c2646d7da1583936867f">More...</a><br /></td></tr>
3473<tr class="separator:a4ca0ad1dc517c2646d7da1583936867f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3474<tr class="memitem:a33add780af7e9251ccbb0e3c50c9cc11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33add780af7e9251ccbb0e3c50c9cc11">vlog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3475<tr class="memdesc:a33add780af7e9251ccbb0e3c50c9cc11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (4 elements) <a href="#a33add780af7e9251ccbb0e3c50c9cc11">More...</a><br /></td></tr>
3476<tr class="separator:a33add780af7e9251ccbb0e3c50c9cc11"><td class="memSeparator" colspan="2">&#160;</td></tr>
3477<tr class="memitem:a72f1d32348ca1824c4f914d648dd0d61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72f1d32348ca1824c4f914d648dd0d61">vlogq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3478<tr class="memdesc:a72f1d32348ca1824c4f914d648dd0d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16bit (16 elements) <a href="#a72f1d32348ca1824c4f914d648dd0d61">More...</a><br /></td></tr>
3479<tr class="separator:a72f1d32348ca1824c4f914d648dd0d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
3480<tr class="memitem:a941057e2a953c1c350edcf384ccb0c0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a941057e2a953c1c350edcf384ccb0c0d">vlogq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3481<tr class="memdesc:a941057e2a953c1c350edcf384ccb0c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (8 elements) <a href="#a941057e2a953c1c350edcf384ccb0c0d">More...</a><br /></td></tr>
3482<tr class="separator:a941057e2a953c1c350edcf384ccb0c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3483<tr class="memitem:a85869673985438d7681e9c114bef6e25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a85869673985438d7681e9c114bef6e25">vinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3484<tr class="memdesc:a85869673985438d7681e9c114bef6e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a85869673985438d7681e9c114bef6e25">More...</a><br /></td></tr>
3485<tr class="separator:a85869673985438d7681e9c114bef6e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
3486<tr class="memitem:a21e91de60863fd472ebb82d7dc349d8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21e91de60863fd472ebb82d7dc349d8f">vinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3487<tr class="memdesc:a21e91de60863fd472ebb82d7dc349d8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#a21e91de60863fd472ebb82d7dc349d8f">More...</a><br /></td></tr>
3488<tr class="separator:a21e91de60863fd472ebb82d7dc349d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3489<tr class="memitem:afcdeee5eb58f1d043bf16fada4d1bbc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcdeee5eb58f1d043bf16fada4d1bbc5">vqinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3490<tr class="memdesc:afcdeee5eb58f1d043bf16fada4d1bbc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#afcdeee5eb58f1d043bf16fada4d1bbc5">More...</a><br /></td></tr>
3491<tr class="separator:afcdeee5eb58f1d043bf16fada4d1bbc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3492<tr class="memitem:ad1c8116664a899f8756dcfe1c9acbea2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad1c8116664a899f8756dcfe1c9acbea2">vqinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3493<tr class="memdesc:ad1c8116664a899f8756dcfe1c9acbea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#ad1c8116664a899f8756dcfe1c9acbea2">More...</a><br /></td></tr>
3494<tr class="separator:ad1c8116664a899f8756dcfe1c9acbea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3495<tr class="memitem:a40884fce7e40ddc919782b553cd19c83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a40884fce7e40ddc919782b553cd19c83">vinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3496<tr class="memdesc:a40884fce7e40ddc919782b553cd19c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#a40884fce7e40ddc919782b553cd19c83">More...</a><br /></td></tr>
3497<tr class="separator:a40884fce7e40ddc919782b553cd19c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
3498<tr class="memitem:a14c3ee7e923e6b37c7b3dbf115cbeaf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14c3ee7e923e6b37c7b3dbf115cbeaf9">vinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3499<tr class="memdesc:a14c3ee7e923e6b37c7b3dbf115cbeaf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a14c3ee7e923e6b37c7b3dbf115cbeaf9">More...</a><br /></td></tr>
3500<tr class="separator:a14c3ee7e923e6b37c7b3dbf115cbeaf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3501<tr class="memitem:a097eca47afb2688ec59dc72cd84d442d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a097eca47afb2688ec59dc72cd84d442d">vqinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3502<tr class="memdesc:a097eca47afb2688ec59dc72cd84d442d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#a097eca47afb2688ec59dc72cd84d442d">More...</a><br /></td></tr>
3503<tr class="separator:a097eca47afb2688ec59dc72cd84d442d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3504<tr class="memitem:a9c366f52098f4262c6233f46f565d118"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c366f52098f4262c6233f46f565d118">vqinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3505<tr class="memdesc:a9c366f52098f4262c6233f46f565d118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) <a href="#a9c366f52098f4262c6233f46f565d118">More...</a><br /></td></tr>
3506<tr class="separator:a9c366f52098f4262c6233f46f565d118"><td class="memSeparator" colspan="2">&#160;</td></tr>
3507<tr class="memitem:a7e2b6f46b6457834c1e0248089a52ec8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e2b6f46b6457834c1e0248089a52ec8">vqtanh_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
3508<tr class="memdesc:a7e2b6f46b6457834c1e0248089a52ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (8 elements) <a href="#a7e2b6f46b6457834c1e0248089a52ec8">More...</a><br /></td></tr>
3509<tr class="separator:a7e2b6f46b6457834c1e0248089a52ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3510<tr class="memitem:a37fac70d8902a85688e7c0e8781099e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37fac70d8902a85688e7c0e8781099e8">vqtanh_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
3511<tr class="memdesc:a37fac70d8902a85688e7c0e8781099e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16 bit (4 elements) <a href="#a37fac70d8902a85688e7c0e8781099e8">More...</a><br /></td></tr>
3512<tr class="separator:a37fac70d8902a85688e7c0e8781099e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3513<tr class="memitem:aa999fb138baf59c481d6a7c40832623c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa999fb138baf59c481d6a7c40832623c">vqtanhq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
3514<tr class="memdesc:aa999fb138baf59c481d6a7c40832623c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (16 elements) <a href="#aa999fb138baf59c481d6a7c40832623c">More...</a><br /></td></tr>
3515<tr class="separator:aa999fb138baf59c481d6a7c40832623c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3516<tr class="memitem:a424118de27c3118ff9d2d704663f746c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a424118de27c3118ff9d2d704663f746c">vqtanhq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
3517<tr class="memdesc:a424118de27c3118ff9d2d704663f746c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16bit (8 elements) <a href="#a424118de27c3118ff9d2d704663f746c">More...</a><br /></td></tr>
3518<tr class="separator:a424118de27c3118ff9d2d704663f746c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3519<tr class="memitem:a0d4cef7d7331ac5a216d8bd3000564db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d4cef7d7331ac5a216d8bd3000564db">vqpowq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
3520<tr class="memdesc:a0d4cef7d7331ac5a216d8bd3000564db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 8bit (16 elements). <a href="#a0d4cef7d7331ac5a216d8bd3000564db">More...</a><br /></td></tr>
3521<tr class="separator:a0d4cef7d7331ac5a216d8bd3000564db"><td class="memSeparator" colspan="2">&#160;</td></tr>
3522<tr class="memitem:a7db8aa4f9e7973933b2fb17c8278add0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7db8aa4f9e7973933b2fb17c8278add0">vqpowq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
3523<tr class="memdesc:a7db8aa4f9e7973933b2fb17c8278add0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 16bit (8 elements). <a href="#a7db8aa4f9e7973933b2fb17c8278add0">More...</a><br /></td></tr>
3524<tr class="separator:a7db8aa4f9e7973933b2fb17c8278add0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3525<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>
3526<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>
3527<tr class="separator:ace593813d742d127296b09fa8ab3f85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3528<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>
3529<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>
3530<tr class="separator:af7a0f3e622aa4bc8c6077d2262a04e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3531<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>
3532<tr class="memdesc:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#afc415e7fc5e633a0b85b08b2bba5b5cf">More...</a><br /></td></tr>
3533<tr class="separator:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3534<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>
3535<tr class="memdesc:ab8970d7aed07d8649f5e3088455948b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#ab8970d7aed07d8649f5e3088455948b8">More...</a><br /></td></tr>
3536<tr class="separator:ab8970d7aed07d8649f5e3088455948b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3537<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>
3538<tr class="memdesc:acc6fd1bcd12ef1141e15401a04d31187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#acc6fd1bcd12ef1141e15401a04d31187">More...</a><br /></td></tr>
3539<tr class="separator:acc6fd1bcd12ef1141e15401a04d31187"><td class="memSeparator" colspan="2">&#160;</td></tr>
3540<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>
3541<tr class="memdesc:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a2e0f2412b4d1302272d1aeb85d21ab25">More...</a><br /></td></tr>
3542<tr class="separator:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="memSeparator" colspan="2">&#160;</td></tr>
3543<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>
3544<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>
3545<tr class="separator:a0c10bb00a86edd8d0cd4c33b494f6cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3546<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>
3547<tr class="memdesc:ab55486f1153a4c5f507d4923b59fc6a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#ab55486f1153a4c5f507d4923b59fc6a0">More...</a><br /></td></tr>
3548<tr class="separator:ab55486f1153a4c5f507d4923b59fc6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3549<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>
3550<tr class="memdesc:a1d090b80b655e7f8fd8977bb93808b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm. <a href="#a1d090b80b655e7f8fd8977bb93808b04">More...</a><br /></td></tr>
3551<tr class="separator:a1d090b80b655e7f8fd8977bb93808b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
3552<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>
3553<tr class="memdesc:a3e59419da344d02daca9c5b274a1da45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a3e59419da344d02daca9c5b274a1da45">More...</a><br /></td></tr>
3554<tr class="separator:a3e59419da344d02daca9c5b274a1da45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3555<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>
3556<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>
3557<tr class="separator:aa6465367a67af2bae4ca46750231dae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003558<tr class="memitem:a6452ac376d4adb94d93a93d678bb6757"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">round</a> (float x, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
3559<tr class="memdesc:a6452ac376d4adb94d93a93d678bb6757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a rounded value of x. <a href="#a6452ac376d4adb94d93a93d678bb6757">More...</a><br /></td></tr>
3560<tr class="separator:a6452ac376d4adb94d93a93d678bb6757"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003561<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
3562<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a> (S val, T m) -&gt; decltype((val+m-1)/m)</td></tr>
3563<tr class="memdesc:a12705a88669cb9fb90451ebe0db53c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#a12705a88669cb9fb90451ebe0db53c41">More...</a><br /></td></tr>
3564<tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003565<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003566<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf0c6059174045f80af46a0f1fb57bc6">ceil_to_multiple</a> (S value, T divisor) -&gt; decltype(((value+divisor-1)/divisor)*divisor)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003567<tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the smallest number larger or equal to value that is a multiple of divisor. <a href="#adf0c6059174045f80af46a0f1fb57bc6">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003568<tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3569<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003570<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6959e681668a37a9242d2aae4e8b4375">floor_to_multiple</a> (S value, T divisor) -&gt; decltype((value/divisor)*divisor)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003571<tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a6959e681668a37a9242d2aae4e8b4375">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003572<tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003573<tr class="memitem:a64c17a5a42d2499a1626222ff9753b4d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information</a> ()</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003574<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003575<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3576<tr class="memitem:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file</a> (const std::string &amp;filename, bool binary)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003577<tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003578<tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003579<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 +00003580<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 +00003581<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
3582<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 +00003583<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 +00003584<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3585<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 +00003586<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 +00003587<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3588<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 +00003589<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 +00003590<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
3591<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 +00003592<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 +00003593<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003594<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>
3595<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>
3596<tr class="separator:afab149f8d8b0f6405303ee8056fa77d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003597<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 +00003598<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 +00003599<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3600<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 +00003601<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 +00003602<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003603<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>
3604<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>
3605<tr class="separator:a5e4254e9c71fffafb79b99d972df8f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003606<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>
3607<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>
3608<tr class="separator:aa2f22cc01532e0236e438324310fdb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
3609<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>
3610<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>
3611<tr class="separator:a95358b677c5c17f5cc1e369e4a27e2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003612<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 +00003613<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 +00003614<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3615<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 +00003616<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 +00003617<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003618<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3619<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075313545533c34978309ed57d18333f">calculate_depth_concatenate_shape</a> (const std::vector&lt; T * &gt; &amp;inputs_vector)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003620<tr class="memdesc:a075313545533c34978309ed57d18333f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the output shapes of the depth concatenate function. <a href="#a075313545533c34978309ed57d18333f">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003621<tr class="separator:a075313545533c34978309ed57d18333f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003622<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>
3623<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>
3624<tr class="separator:add7f7487c235331a6518dd16ad1e3b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
3625<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>
3626<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>
3627<tr class="separator:a9d714e1b7d9d7818309138b7d830ebcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003628<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 +00003629<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 +00003630<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003631<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 +00003632<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 +00003633<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003634<tr class="memitem:afa7962c747457714d0944af80cb07058"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa7962c747457714d0944af80cb07058">calculate_same_pad</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input_shape, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights_shape, <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> conv_info)</td></tr>
3635<tr class="memdesc:afa7962c747457714d0944af80cb07058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate padding requirements in case of SAME padding. <a href="#afa7962c747457714d0944af80cb07058">More...</a><br /></td></tr>
3636<tr class="separator:afa7962c747457714d0944af80cb07058"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003637<tr class="memitem:a7d57332eb91a8735f173556b3caf6236"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape</a> (const std::pair&lt; unsigned int, unsigned int &gt; &amp;out_dims, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights)</td></tr>
3638<tr class="memdesc:a7d57332eb91a8735f173556b3caf6236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected shape for the deconvolution output tensor. <a href="#a7d57332eb91a8735f173556b3caf6236">More...</a><br /></td></tr>
3639<tr class="separator:a7d57332eb91a8735f173556b3caf6236"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003640<tr class="memitem:a5c7b26988083a67a91cd3e7962f38521"><td class="memItemLeft" align="right" valign="top">const std::pair&lt; unsigned int, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c7b26988083a67a91cd3e7962f38521">deconvolution_output_dimensions</a> (unsigned int in_width, unsigned int in_height, unsigned int kernel_width, unsigned int kernel_height, unsigned int padx, unsigned int pady, unsigned int inner_border_right, unsigned int inner_border_top, unsigned int stride_x, unsigned int stride_y)</td></tr>
3641<tr class="memdesc:a5c7b26988083a67a91cd3e7962f38521"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a5c7b26988083a67a91cd3e7962f38521">More...</a><br /></td></tr>
3642<tr class="separator:a5c7b26988083a67a91cd3e7962f38521"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003643<tr class="memitem:ac78192301777700de24d8c75667baf35"><td class="memItemLeft" align="right" valign="top">const std::pair&lt; unsigned int, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac78192301777700de24d8c75667baf35">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;dilation=<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>(1U, 1U))</td></tr>
3644<tr class="memdesc:ac78192301777700de24d8c75667baf35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#ac78192301777700de24d8c75667baf35">More...</a><br /></td></tr>
3645<tr class="separator:ac78192301777700de24d8c75667baf35"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003646<tr class="memitem:a9c92c867fc64454545668d87b20979eb"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003647<tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003648<tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3649<tr class="memitem:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003650<tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003651<tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003652<tr class="memitem:aa7755f939796ad7076886813ff89ed77"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa7755f939796ad7076886813ff89ed77">string_from_data_layout</a> (<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dl)</td></tr>
3653<tr class="memdesc:aa7755f939796ad7076886813ff89ed77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data layout identity into a string. <a href="#aa7755f939796ad7076886813ff89ed77">More...</a><br /></td></tr>
3654<tr class="separator:aa7755f939796ad7076886813ff89ed77"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003655<tr class="memitem:aefa1d9648995e5eccc693c690e27aa88"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003656<tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003657<tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2">&#160;</td></tr>
3658<tr class="memitem:a018795ab2489d17309e158ff5c060ab1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern</a> (<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> pattern)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003659<tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003660<tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3661<tr class="memitem:ac955c978e18cc9bf6daea31f13076fba"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func</a> (<a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> act)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003662<tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003663<tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
3664<tr class="memitem:a14831547f57ecf5f0deef888ad41ad30"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function</a> (<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> function)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003665<tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003666<tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2">&#160;</td></tr>
3667<tr class="memitem:ade34f5e72f050fd3665f3294dfb15850"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy</a> (<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003668<tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003669<tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2">&#160;</td></tr>
3670<tr class="memitem:abd15add5c6c7de5c8205ce236875aadd"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode</a> (<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> border_mode)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003671<tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003672<tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003673<tr class="memitem:afb5698af5404d5d11e3516c87b6e7041"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003674<tr class="memdesc:afb5698af5404d5d11e3516c87b6e7041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given normalization type to a string. <a href="#afb5698af5404d5d11e3516c87b6e7041">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003675<tr class="separator:afb5698af5404d5d11e3516c87b6e7041"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003676<tr class="memitem:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type</a> (<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003677<tr class="memdesc:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given pooling type to a string. <a href="#a84a03e85d2c40bf54ec8cdd5e3715c58">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003678<tr class="separator:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003679<tr class="memitem:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string</a> (const std::string &amp;val)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003680<tr class="memdesc:a532fb45c0261724a4c2e755cfd3a44e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower a given string. <a href="#a532fb45c0261724a4c2e755cfd3a44e6">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003681<tr class="separator:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003682<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 +00003683<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 +00003684<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003685<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>
3686<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>
3687<tr class="separator:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003688<tr class="memitem:ab6bb62694ae8369d18a9c9687040975e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003689<tr class="memdesc:ab6bb62694ae8369d18a9c9687040975e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of fixed point type. <a href="#ab6bb62694ae8369d18a9c9687040975e">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003690<tr class="separator:ab6bb62694ae8369d18a9c9687040975e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003691<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>
3692<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>
3693<tr class="separator:a14f46283f316e7f0fad301d5c1507e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003694<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 +00003695<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 +01003696<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003697<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3698<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 +00003699<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 +01003700<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
3701<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3702<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 +00003703<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 +01003704<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3705<tr class="memitem:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements</a> (std::ostream &amp;s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n, int stream_width, const std::string &amp;element_delim=&quot; &quot;)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003706<tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003707<tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3708<tr class="memitem:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width</a> (std::ostream &amp;s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003709<tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003710<tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003711<tr class="memitem:af4587cd36ddbf2e4dde217d1a1007940"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3712<tr class="memitem:af4587cd36ddbf2e4dde217d1a1007940"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</td></tr>
3713<tr class="memdesc:af4587cd36ddbf2e4dde217d1a1007940"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an error if one of the pointers is a nullptr. <a href="#af4587cd36ddbf2e4dde217d1a1007940">More...</a><br /></td></tr>
3714<tr class="separator:af4587cd36ddbf2e4dde217d1a1007940"><td class="memSeparator" colspan="2">&#160;</td></tr>
3715<tr class="memitem:a75738bb24f735248ab9584cd24544234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a75738bb24f735248ab9584cd24544234">error_on_mismatching_windows</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
3716<tr class="memdesc:a75738bb24f735248ab9584cd24544234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed window is invalid. <a href="#a75738bb24f735248ab9584cd24544234">More...</a><br /></td></tr>
3717<tr class="separator:a75738bb24f735248ab9584cd24544234"><td class="memSeparator" colspan="2">&#160;</td></tr>
3718<tr class="memitem:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aceb8dd0f6a4e2539b39b5a69a1c345b4">error_on_invalid_subwindow</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;sub)</td></tr>
3719<tr class="memdesc:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed subwindow is invalid. <a href="#aceb8dd0f6a4e2539b39b5a69a1c345b4">More...</a><br /></td></tr>
3720<tr class="separator:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3721<tr class="memitem:a220627e9e23de1058191022aea58e1cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a220627e9e23de1058191022aea58e1cf">error_on_window_not_collapsable_at_dimension</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const int dim)</td></tr>
3722<tr class="memdesc:a220627e9e23de1058191022aea58e1cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the window can't be collapsed at the given dimension. <a href="#a220627e9e23de1058191022aea58e1cf">More...</a><br /></td></tr>
3723<tr class="separator:a220627e9e23de1058191022aea58e1cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3724<tr class="memitem:a454f8112fcca60b99883f19ff43daf9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a454f8112fcca60b99883f19ff43daf9f">error_on_coordinates_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;pos, unsigned int max_dim)</td></tr>
3725<tr class="memdesc:a454f8112fcca60b99883f19ff43daf9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed coordinates have too many dimensions. <a href="#a454f8112fcca60b99883f19ff43daf9f">More...</a><br /></td></tr>
3726<tr class="separator:a454f8112fcca60b99883f19ff43daf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3727<tr class="memitem:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1b1ebe735a15f66be7ebe8dccdbcee15">error_on_window_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, unsigned int max_dim)</td></tr>
3728<tr class="memdesc:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed window has too many dimensions. <a href="#a1b1ebe735a15f66be7ebe8dccdbcee15">More...</a><br /></td></tr>
3729<tr class="separator:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="memSeparator" colspan="2">&#160;</td></tr>
3730<tr class="memitem:ab3f385292b90327061e1276f3e3445c7"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3731<tr class="memitem:ab3f385292b90327061e1276f3e3445c7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab3f385292b90327061e1276f3e3445c7">error_on_mismatching_dimensions</a> (const char *function, const char *file, int line, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dim1, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dim2, Ts &amp;&amp;...dims)</td></tr>
3732<tr class="memdesc:ab3f385292b90327061e1276f3e3445c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed dimension objects differ. <a href="#ab3f385292b90327061e1276f3e3445c7">More...</a><br /></td></tr>
3733<tr class="separator:ab3f385292b90327061e1276f3e3445c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003734<tr class="memitem:a5bee409f8a6904df028626835b3a19be"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3735<tr class="memitem:a5bee409f8a6904df028626835b3a19be"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5bee409f8a6904df028626835b3a19be">error_on_tensors_not_even</a> (const char *function, const char *file, int line, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor1, Ts...tensors)</td></tr>
3736<tr class="memdesc:a5bee409f8a6904df028626835b3a19be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor objects are not even. <a href="#a5bee409f8a6904df028626835b3a19be">More...</a><br /></td></tr>
3737<tr class="separator:a5bee409f8a6904df028626835b3a19be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003738<tr class="memitem:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3739<tr class="memitem:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade35257cf58582ca7c3f6c7d1ceff5f2">error_on_tensors_not_subsampled</a> (const char *function, const char *file, int line, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor1, Ts...tensors)</td></tr>
3740<tr class="memdesc:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor objects are not sub-sampled. <a href="#ade35257cf58582ca7c3f6c7d1ceff5f2">More...</a><br /></td></tr>
3741<tr class="separator:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003742<tr class="memitem:aea117e0cebca5f4642ed3f269217a09e"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3743<tr class="memitem:aea117e0cebca5f4642ed3f269217a09e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
3744<tr class="memdesc:aea117e0cebca5f4642ed3f269217a09e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensor infos have different shapes from the given dimension. <a href="#aea117e0cebca5f4642ed3f269217a09e">More...</a><br /></td></tr>
3745<tr class="separator:aea117e0cebca5f4642ed3f269217a09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3746<tr class="memitem:a41328dd4b943d34c1cc61410571fd6fa"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3747<tr class="memitem:a41328dd4b943d34c1cc61410571fd6fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41328dd4b943d34c1cc61410571fd6fa">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
3748<tr class="memdesc:a41328dd4b943d34c1cc61410571fd6fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#a41328dd4b943d34c1cc61410571fd6fa">More...</a><br /></td></tr>
3749<tr class="separator:a41328dd4b943d34c1cc61410571fd6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
3750<tr class="memitem:aac6150cce1c9c666600e4b320a0066e9"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3751<tr class="memitem:aac6150cce1c9c666600e4b320a0066e9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac6150cce1c9c666600e4b320a0066e9">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
3752<tr class="memdesc:aac6150cce1c9c666600e4b320a0066e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#aac6150cce1c9c666600e4b320a0066e9">More...</a><br /></td></tr>
3753<tr class="separator:aac6150cce1c9c666600e4b320a0066e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3754<tr class="memitem:afa04b5bdea84e0effab066e3b1324ec5"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3755<tr class="memitem:afa04b5bdea84e0effab066e3b1324ec5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
3756<tr class="memdesc:afa04b5bdea84e0effab066e3b1324ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#afa04b5bdea84e0effab066e3b1324ec5">More...</a><br /></td></tr>
3757<tr class="separator:afa04b5bdea84e0effab066e3b1324ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003758<tr class="memitem:adc72c7263d6751e6e1a71fd33c6f8955"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3759<tr class="memitem:adc72c7263d6751e6e1a71fd33c6f8955"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">error_on_mismatching_data_layouts</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, Ts...tensor_infos)</td></tr>
3760<tr class="memdesc:adc72c7263d6751e6e1a71fd33c6f8955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different data layouts. <a href="#adc72c7263d6751e6e1a71fd33c6f8955">More...</a><br /></td></tr>
3761<tr class="separator:adc72c7263d6751e6e1a71fd33c6f8955"><td class="memSeparator" colspan="2">&#160;</td></tr>
3762<tr class="memitem:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3763<tr class="memitem:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8571c7d34a35bcbddf5e4e2538ea0b10">error_on_mismatching_data_layouts</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
3764<tr class="memdesc:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensors have different data layouts. <a href="#a8571c7d34a35bcbddf5e4e2538ea0b10">More...</a><br /></td></tr>
3765<tr class="separator:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003766<tr class="memitem:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3767<tr class="memitem:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, Ts...tensor_infos)</td></tr>
3768<tr class="memdesc:a00672eb7b5db5f6396b39b241eaf12f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensor infos have different data types. <a href="#a00672eb7b5db5f6396b39b241eaf12f7">More...</a><br /></td></tr>
3769<tr class="separator:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3770<tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3771<tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a709c2aef39aa212b840c6395fc20ce17">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
3772<tr class="memdesc:a709c2aef39aa212b840c6395fc20ce17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different data types. <a href="#a709c2aef39aa212b840c6395fc20ce17">More...</a><br /></td></tr>
3773<tr class="separator:a709c2aef39aa212b840c6395fc20ce17"><td class="memSeparator" colspan="2">&#160;</td></tr>
3774<tr class="memitem:aafd4504246cc7e82e108204cb9636a90"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3775<tr class="memitem:aafd4504246cc7e82e108204cb9636a90"><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#aafd4504246cc7e82e108204cb9636a90">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_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>
3776<tr class="memdesc:aafd4504246cc7e82e108204cb9636a90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different fixed point data types or different fixed point positions. <a href="#aafd4504246cc7e82e108204cb9636a90">More...</a><br /></td></tr>
3777<tr class="separator:aafd4504246cc7e82e108204cb9636a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
3778<tr class="memitem:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3779<tr class="memitem:a8ecebd0b1ad2f0c593f7b093a1e43448"><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#a8ecebd0b1ad2f0c593f7b093a1e43448">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
3780<tr class="memdesc:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor have different fixed point data types or different fixed point positions. <a href="#a8ecebd0b1ad2f0c593f7b093a1e43448">More...</a><br /></td></tr>
3781<tr class="separator:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memSeparator" colspan="2">&#160;</td></tr>
3782<tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3783<tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">error_on_mismatching_quantization_info</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
3784<tr class="memdesc:af4c3199d58278db542e1cdfb72a41901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. <a href="#af4c3199d58278db542e1cdfb72a41901">More...</a><br /></td></tr>
3785<tr class="separator:af4c3199d58278db542e1cdfb72a41901"><td class="memSeparator" colspan="2">&#160;</td></tr>
3786<tr class="memitem:a5be375b525bba68610a75da0a043df3a"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3787<tr class="memitem:a5be375b525bba68610a75da0a043df3a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5be375b525bba68610a75da0a043df3a">error_on_mismatching_quantization_info</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
3788<tr class="memdesc:a5be375b525bba68610a75da0a043df3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. <a href="#a5be375b525bba68610a75da0a043df3a">More...</a><br /></td></tr>
3789<tr class="separator:a5be375b525bba68610a75da0a043df3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003790<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename F , typename... Fs&gt; </td></tr>
3791<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b360558b516e256f0af005a164c674e">error_on_format_not_in</a> (const char *function, const char *file, const int line, const T *object, F &amp;&amp;format, Fs &amp;&amp;...formats)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003792<tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. <a href="#a0b360558b516e256f0af005a164c674e">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003793<tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003794<tr class="memitem:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3795<tr class="memitem:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
3796<tr class="memdesc:a774ec1fdc7bd1e7973c866d13734bc21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor info does not match any of the data types provided. <a href="#a774ec1fdc7bd1e7973c866d13734bc21">More...</a><br /></td></tr>
3797<tr class="separator:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memSeparator" colspan="2">&#160;</td></tr>
3798<tr class="memitem:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3799<tr class="memitem:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ae0ca8176fce8caa48601dc8324ca97">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
3800<tr class="memdesc:a4ae0ca8176fce8caa48601dc8324ca97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a4ae0ca8176fce8caa48601dc8324ca97">More...</a><br /></td></tr>
3801<tr class="separator:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memSeparator" colspan="2">&#160;</td></tr>
3802<tr class="memitem:a499a45039b9bba66384504843d5823d4"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3803<tr class="memitem:a499a45039b9bba66384504843d5823d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a499a45039b9bba66384504843d5823d4">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
3804<tr class="memdesc:a499a45039b9bba66384504843d5823d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type or the number of channels of the passed tensor info does not match any of the data types and number of channels provided. <a href="#a499a45039b9bba66384504843d5823d4">More...</a><br /></td></tr>
3805<tr class="separator:a499a45039b9bba66384504843d5823d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3806<tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3807<tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
3808<tr class="memdesc:ad3137e73dbd78133d25751abd84540d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. <a href="#ad3137e73dbd78133d25751abd84540d8">More...</a><br /></td></tr>
3809<tr class="separator:ad3137e73dbd78133d25751abd84540d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3810<tr class="memitem:a9f37a1ead28d12ce216e27209dae2a81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f37a1ead28d12ce216e27209dae2a81">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
3811<tr class="memdesc:a9f37a1ead28d12ce216e27209dae2a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor is not 2D. <a href="#a9f37a1ead28d12ce216e27209dae2a81">More...</a><br /></td></tr>
3812<tr class="separator:a9f37a1ead28d12ce216e27209dae2a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
3813<tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3814<tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae7fcde610527b8fa3d9acdf398187962">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &amp;&amp;channel, Ts &amp;&amp;...channels)</td></tr>
3815<tr class="memdesc:ae7fcde610527b8fa3d9acdf398187962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in channels. <a href="#ae7fcde610527b8fa3d9acdf398187962">More...</a><br /></td></tr>
3816<tr class="separator:ae7fcde610527b8fa3d9acdf398187962"><td class="memSeparator" colspan="2">&#160;</td></tr>
3817<tr class="memitem:aa2af31a4685af1fb5ecef784c5e96da0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2af31a4685af1fb5ecef784c5e96da0">error_on_channel_not_in_known_format</a> (const char *function, const char *file, const int line, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> fmt, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> cn)</td></tr>
3818<tr class="memdesc:aa2af31a4685af1fb5ecef784c5e96da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in format. <a href="#aa2af31a4685af1fb5ecef784c5e96da0">More...</a><br /></td></tr>
3819<tr class="separator:aa2af31a4685af1fb5ecef784c5e96da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3820<tr class="memitem:adf16abfe081654f8bb2b9a4fee09100e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf16abfe081654f8bb2b9a4fee09100e">error_on_invalid_multi_hog</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *multi_hog)</td></tr>
3821<tr class="memdesc:adf16abfe081654f8bb2b9a4fee09100e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. <a href="#adf16abfe081654f8bb2b9a4fee09100e">More...</a><br /></td></tr>
3822<tr class="separator:adf16abfe081654f8bb2b9a4fee09100e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3823<tr class="memitem:a33278ff3c7798e50c453599576f58bd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33278ff3c7798e50c453599576f58bd8">error_on_unconfigured_kernel</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *kernel)</td></tr>
3824<tr class="memdesc:a33278ff3c7798e50c453599576f58bd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the kernel is not configured. <a href="#a33278ff3c7798e50c453599576f58bd8">More...</a><br /></td></tr>
3825<tr class="separator:a33278ff3c7798e50c453599576f58bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3826<tr class="memitem:a7fdf77ab857ef3a644eef09389cc808d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7fdf77ab857ef3a644eef09389cc808d">error_on_invalid_subtensor</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;parent_shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coords, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
3827<tr class="memdesc:a7fdf77ab857ef3a644eef09389cc808d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if if the coordinates and shape of the subtensor are within the parent tensor. <a href="#a7fdf77ab857ef3a644eef09389cc808d">More...</a><br /></td></tr>
3828<tr class="separator:a7fdf77ab857ef3a644eef09389cc808d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3829<tr class="memitem:a74dd77930a4d0ccf755c1cc648601c63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74dd77930a4d0ccf755c1cc648601c63">error_on_invalid_subtensor_valid_region</a> (const char *function, const char *file, const int line, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;parent_valid_region, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region)</td></tr>
3830<tr class="memdesc:a74dd77930a4d0ccf755c1cc648601c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor. <a href="#a74dd77930a4d0ccf755c1cc648601c63">More...</a><br /></td></tr>
3831<tr class="separator:a74dd77930a4d0ccf755c1cc648601c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
3832<tr class="memitem:a82c748dc3464dfc48133fbf8f84d7240"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3833<tr class="memitem:a82c748dc3464dfc48133fbf8f84d7240"><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#a82c748dc3464dfc48133fbf8f84d7240">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_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>
3834<tr class="memdesc:a82c748dc3464dfc48133fbf8f84d7240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the input fixed-point positions are different. <a href="#a82c748dc3464dfc48133fbf8f84d7240">More...</a><br /></td></tr>
3835<tr class="separator:a82c748dc3464dfc48133fbf8f84d7240"><td class="memSeparator" colspan="2">&#160;</td></tr>
3836<tr class="memitem:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3837<tr class="memitem:adec7d6b27c9cacab7940ce67eaab4bf6"><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#adec7d6b27c9cacab7940ce67eaab4bf6">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
3838<tr class="memdesc:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the input fixed-point positions are different. <a href="#adec7d6b27c9cacab7940ce67eaab4bf6">More...</a><br /></td></tr>
3839<tr class="separator:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003840<tr class="memitem:a902b2c73a1317fd91a167e9d4d3f211b"><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#a902b2c73a1317fd91a167e9d4d3f211b">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float value, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003841<tr class="memdesc:a902b2c73a1317fd91a167e9d4d3f211b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the fixed-point value is not representable in the specified Q format. <a href="#a902b2c73a1317fd91a167e9d4d3f211b">More...</a><br /></td></tr>
3842<tr class="separator:a902b2c73a1317fd91a167e9d4d3f211b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003843<tr class="memitem:ad865b21069f578ddb1c65cb32f3fcaa0"><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#ad865b21069f578ddb1c65cb32f3fcaa0">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float value, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003844<tr class="memdesc:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error an error if the fixed-point value is not representable in the specified Q format. <a href="#ad865b21069f578ddb1c65cb32f3fcaa0">More...</a><br /></td></tr>
3845<tr class="separator:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003846<tr class="memitem:aba90ba1790209a7ec569f3ce897be586"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba90ba1790209a7ec569f3ce897be586">get_cpu_configuration</a> (<a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;cpuinfo)</td></tr>
3847<tr class="memdesc:aba90ba1790209a7ec569f3ce897be586"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this. <a href="#aba90ba1790209a7ec569f3ce897be586">More...</a><br /></td></tr>
3848<tr class="separator:aba90ba1790209a7ec569f3ce897be586"><td class="memSeparator" colspan="2">&#160;</td></tr>
3849<tr class="memitem:a075f941d6e53f1513d8964043a3d809b"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075f941d6e53f1513d8964043a3d809b">get_threads_hint</a> ()</td></tr>
3850<tr class="memdesc:a075f941d6e53f1513d8964043a3d809b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some systems have both big and small cores, this fuction computes the minimum number of cores that are exactly the same on the system. <a href="#a075f941d6e53f1513d8964043a3d809b">More...</a><br /></td></tr>
3851<tr class="separator:a075f941d6e53f1513d8964043a3d809b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3852<tr class="memitem:aa63c4dc1d1e43b7e57fadcb3e3e93580"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">allocate_workspace</a> (size_t workspace_size, <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;workspace, <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> *memory_group, size_t alignment, unsigned int num_threads)</td></tr>
3853<tr class="memdesc:aa63c4dc1d1e43b7e57fadcb3e3e93580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a workspace tensor. <a href="#aa63c4dc1d1e43b7e57fadcb3e3e93580">More...</a><br /></td></tr>
3854<tr class="separator:aa63c4dc1d1e43b7e57fadcb3e3e93580"><td class="memSeparator" colspan="2">&#160;</td></tr>
3855<tr class="memitem:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3856<tr class="memitem:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd2bf5c0522dab806fa7981c9bc4d38e">setup_assembly_kernel</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *a, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *b, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *d, float alpha, float beta, bool pretranspose_hint, <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;workspace, <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;B_pretranspose, <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> &amp;memory_group, T &amp;asm_glue)</td></tr>
3857<tr class="memdesc:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a wrapper kernel. <a href="#abd2bf5c0522dab806fa7981c9bc4d38e">More...</a><br /></td></tr>
3858<tr class="separator:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003859<tr class="memitem:aa5191117dc677a74552769b87131b1b6"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5191117dc677a74552769b87131b1b6">string_from_scheduler_type</a> (<a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> t)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003860<tr class="memdesc:aa5191117dc677a74552769b87131b1b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type. ">Scheduler::Type</a> into a string. <a href="#aa5191117dc677a74552769b87131b1b6">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003861<tr class="separator:aa5191117dc677a74552769b87131b1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003862<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 +00003863<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 +01003864<tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003865<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3866<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 +00003867<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 +01003868<tr class="separator:a18d43401e8f84ed020429b41ec4e99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003869<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 +00003870<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 +01003871<tr class="separator:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3872<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 +01003873<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 +01003874<tr class="separator:aabe16be22edb41656e66ed9eae3b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3875<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 +00003876<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 +01003877<tr class="separator:acec416ec5af175a7aad47a518fefb770"><td class="memSeparator" colspan="2">&#160;</td></tr>
3878<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 +01003879<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 +01003880<tr class="separator:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003881<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 +00003882<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 +01003883<tr class="separator:a295edc9f8caf95838db2c5e251153514"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003884<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 +00003885<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 +01003886<tr class="separator:a5972c7131d378f567af9c2961f088a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3887<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 +00003888<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 +01003889<tr class="separator:a352b805b77fde4f32f44af271580677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003890<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>
3891<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>
3892<tr class="separator:a32a5556a927543fe57c0d7b82c20e9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3893<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 +01003894<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 +00003895<tr class="separator:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003896<tr class="memitem:a2abb76fe917828983d666628badab08d"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2abb76fe917828983d666628badab08d">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;op)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003897<tr class="memdesc:a2abb76fe917828983d666628badab08d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the FixedPointOp type. <a href="#a2abb76fe917828983d666628badab08d">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003898<tr class="separator:a2abb76fe917828983d666628badab08d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3899<tr class="memitem:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d4684c886b4d13ce004cd6d7fcea9b1">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;op)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003900<tr class="memdesc:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the FixedPointOp type. <a href="#a3d4684c886b4d13ce004cd6d7fcea9b1">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003901<tr class="separator:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003902<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 +00003903<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 +01003904<tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3905<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 +01003906<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 +01003907<tr class="separator:a72626d2cca3922127c41526e37e9e623"><td class="memSeparator" colspan="2">&#160;</td></tr>
3908<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 +01003909<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 +01003910<tr class="separator:a8a18c453150ab547c1add44b3ed3bc56"><td class="memSeparator" colspan="2">&#160;</td></tr>
3911<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 +00003912<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 +01003913<tr class="separator:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3914<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 +01003915<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 +01003916<tr class="separator:a45dd771bdecbafb975fd267c2ae320a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003917<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 +00003918<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 +01003919<tr class="separator:a6e422c610c91f611590173cd595c94c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003920<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 +00003921<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 +01003922<tr class="separator:a336cf1e870f467e44c184587a13feeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
3923<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 +00003924<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 +01003925<tr class="separator:ae72a61a2ca5c962ab1d37065e5598060"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003926<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 +01003927<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 +00003928<tr class="separator:a25dac68b6321b9e53027e79222a0eb7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003929<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>
3930<tr class="memdesc:a1698cb24508a2bc45962bc887f18a8d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataLayout type. <a href="#a1698cb24508a2bc45962bc887f18a8d0">More...</a><br /></td></tr>
3931<tr class="separator:a1698cb24508a2bc45962bc887f18a8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3932<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>
3933<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>
3934<tr class="separator:ae1240e4698e8a901179e519102b5e033"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003935<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 +00003936<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 +01003937<tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003938<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 +01003939<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 +01003940<tr class="separator:a96b47511b549b48d2ead05b5c757ccc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003941<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 +00003942<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 +01003943<tr class="separator:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003944<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 +01003945<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 +01003946<tr class="separator:ab0e6381843dc9901bb59285ec846dc5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003947<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 +00003948<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 +01003949<tr class="separator:aa66be15c012986ebd4c1934b97e08a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003950<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 +01003951<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 +00003952<tr class="separator:a813e71cd70c2bbcbf0743fa83a3608b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003953<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 +00003954<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 +01003955<tr class="separator:a7929032d41d5f23cd1778a70508d0219"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003956<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 +00003957<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 +01003958<tr class="separator:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003959<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 +00003960<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 +01003961<tr class="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003962<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>
3963<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>
3964<tr class="separator:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3965<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>
3966<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>
3967<tr class="separator:a48fd5e28bdb4975c141841f0b96f8707"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003968<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3969<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 +01003970<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 +01003971<tr class="separator:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003972<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 +01003973<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 +01003974<tr class="separator:a1c4486f45128be7156e38e6dea345a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003975<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 +00003976<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 +01003977<tr class="separator:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003978<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 +00003979<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 +01003980<tr class="separator:a805a74997e303d29108845956a674387"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003981<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 +00003982<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 +01003983<tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
3984<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 +01003985<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 +01003986<tr class="separator:a8af36ae3a3613112c3a95e57f606359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3987<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 +01003988<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 +01003989<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3990<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 +01003991<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 +01003992<tr class="separator:a0604106dd269acd58152a81ba87cc265"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003993<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 +01003994<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 +01003995<tr class="separator:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003996<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 +01003997<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 +01003998<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003999<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 +01004000<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 +00004001<tr class="separator:a5b8e815072ae54278cb1c91e254be4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01004002<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 +01004003<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 +01004004<tr class="separator:a4287c6842a60e5f6bf309e55f8813527"><td class="memSeparator" colspan="2">&#160;</td></tr>
4005<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>
4006<tr class="separator:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
4007<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 +00004008<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 +01004009<tr class="separator:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
4010<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 +01004011<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 +01004012<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
4013<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 +01004014<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 +01004015<tr class="separator:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
4016<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 +01004017<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 +01004018<tr class="separator:a2872d19dd10dc3117813d291c08e0383"><td class="memSeparator" colspan="2">&#160;</td></tr>
4019<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 +01004020<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 +01004021<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
4022<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 +00004023<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 +01004024<tr class="separator:a9a2e48a508dc85b7280f955876bb4462"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004025<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>
4026<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>
4027<tr class="separator:abe52a76af2aa88876d54ce8a5969e509"><td class="memSeparator" colspan="2">&#160;</td></tr>
4028<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 +01004029<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 +00004030<tr class="separator:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
4031<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>
4032<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>
4033<tr class="separator:a530d86eec3dbd22cab6336ffdceb0d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
4034<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 +01004035<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 +00004036<tr class="separator:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
4037<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>
4038<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>
4039<tr class="separator:af3985189d478b45014e7dead9d002e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
4040<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01004041<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004042<tr class="separator:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00004043<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>
4044<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>
4045<tr class="separator:a5e7a61df2b926347b42ecadf8bcc8969"><td class="memSeparator" colspan="2">&#160;</td></tr>
4046<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 +01004047<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 +00004048<tr class="separator:a950ba288e8136db4bf52f7c51dea20eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01004049<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 +00004050<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>
4051<tr class="separator:ab91d110e020f6ed987e05e82df3e350b"><td class="memSeparator" colspan="2">&#160;</td></tr>
4052<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 +01004053<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 +00004054<tr class="separator:aee88a2c259879eb9dc18cb5965e87c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
4055<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 +01004056<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 +00004057<tr class="separator:a4228b490e13b79a60737929d9d9e5957"><td class="memSeparator" colspan="2">&#160;</td></tr>
4058<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>
4059<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>
4060<tr class="separator:a3cf43a216912b361eaffc3c71452a31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00004061<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 +01004062<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 +00004063<tr class="separator:abd35c1c3fb716078b1f4a25981defac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
4064<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 +01004065<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 +00004066<tr class="separator:a853d44a32a328fb4455f6200a11c4785"><td class="memSeparator" colspan="2">&#160;</td></tr>
4067<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 +01004068<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 +00004069<tr class="separator:a1f4d95d65a62a085e929ab0a1a77add2"><td class="memSeparator" colspan="2">&#160;</td></tr>
4070<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 +01004071<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 +00004072<tr class="separator:aee29ccfc095313663fc954f581ddf40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01004073<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>
4074<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>
4075<tr class="separator:a907c93ba5daaabf6af7095f20340d024"><td class="memSeparator" colspan="2">&#160;</td></tr>
4076<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>
4077<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>
4078<tr class="separator:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
4079<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>
4080<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>
4081<tr class="separator:a8cfa7d498e60be008d557d025fe62ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
4082<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>
4083<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>
4084<tr class="separator:a51fc944d872cf00c1e8e71ccdf8be264"><td class="memSeparator" colspan="2">&#160;</td></tr>
4085<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>
4086<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>
4087<tr class="separator:af3cba8a4493cee4c431d128eed565ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
4088<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>
4089<tr class="separator:a37cc282b0852aab04b13a6e6566adda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00004090</table><table class="memberdecls">
4091<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
4092Variables</h2></td></tr>
4093<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 +01004094<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 +00004095<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
4096<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 +01004097<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 +00004098<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
4099<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 +01004100<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 +00004101<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2">&#160;</td></tr>
4102<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 +00004103<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 +00004104<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
4105<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 +01004106<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 +00004107<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
4108<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 +01004109<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 +00004110<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
4111</table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004112<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
4113<div class="textblock"><p>This file contains all available output stages for GEMMLowp on OpenCL. </p>
4114<p>This file contains all available output stages for GEMMLowp on NEON.</p>
4115<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>
4116<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>
4117<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>
4118<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>
4119</div><h2 class="groupheader">Typedef Documentation</h2>
Jenkinsb3a371b2018-05-23 11:36:53 +01004120<a class="anchor" id="aa0ae8d74ae5f69f30679b9acf678eca5"></a>
4121<div class="memitem">
4122<div class="memproto">
4123 <table class="memname">
4124 <tr>
4125 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa0ae8d74ae5f69f30679b9acf678eca5">AssemblyKernelGlueF32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt;float, float&gt;</td>
4126 </tr>
4127 </table>
4128</div><div class="memdoc">
4129
4130<p>Float 32 assembly kernel glue. </p>
4131
4132<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
4133
4134</div>
4135</div>
4136<a class="anchor" id="a08ae4f1297248a1e6d46564cd97066b4"></a>
4137<div class="memitem">
4138<div class="memproto">
4139 <table class="memname">
4140 <tr>
4141 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a08ae4f1297248a1e6d46564cd97066b4">AssemblyKernelGlueS8S32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt;int8_t, int32_t&gt;</td>
4142 </tr>
4143 </table>
4144</div><div class="memdoc">
4145
4146<p>Int 8 to Int 32 kernel glue. </p>
4147
4148<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
4149
4150</div>
4151</div>
4152<a class="anchor" id="abb1d131ce675ab28d22ff80bf0942c4d"></a>
4153<div class="memitem">
4154<div class="memproto">
4155 <table class="memname">
4156 <tr>
4157 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abb1d131ce675ab28d22ff80bf0942c4d">AssemblyKernelGlueU8U32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt;uint8_t, uint32_t&gt;</td>
4158 </tr>
4159 </table>
4160</div><div class="memdoc">
4161
4162<p>Uint 8 to Uint 32 kernel glue. </p>
4163
4164<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
4165
4166</div>
4167</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004168<a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
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#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>
4174 </tr>
4175 </table>
4176</div><div class="memdoc">
4177
Jenkinsb3a371b2018-05-23 11:36:53 +01004178<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>
4179
4180<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004181
4182</div>
4183</div>
4184<a class="anchor" id="a4751499f1c526c7285e7e946c2e84541"></a>
4185<div class="memitem">
4186<div class="memproto">
4187 <table class="memname">
4188 <tr>
4189 <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>
4190 </tr>
4191 </table>
4192</div><div class="memdoc">
4193
4194<p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
4195
4196<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4197
4198</div>
4199</div>
4200<a class="anchor" id="a843447b81f09d837e90d44e6e6bd236d"></a>
4201<div class="memitem">
4202<div class="memproto">
4203 <table class="memname">
4204 <tr>
4205 <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>
4206 </tr>
4207 </table>
4208</div><div class="memdoc">
4209
4210<p>Basic function to run 5x5 convolution. </p>
4211
Kaizen8938bd32017-09-28 14:38:23 +01004212<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004213
4214</div>
4215</div>
4216<a class="anchor" id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
4217<div class="memitem">
4218<div class="memproto">
4219 <table class="memname">
4220 <tr>
4221 <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>
4222 </tr>
4223 </table>
4224</div><div class="memdoc">
4225
4226<p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
4227
4228<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00072">72</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4229
4230</div>
4231</div>
4232<a class="anchor" id="a1992a8362b7074e709394a5219d16e62"></a>
4233<div class="memitem">
4234<div class="memproto">
4235 <table class="memname">
4236 <tr>
4237 <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>
4238 </tr>
4239 </table>
4240</div><div class="memdoc">
4241
4242<p>Basic function to run 7x7 convolution. </p>
4243
Kaizen8938bd32017-09-28 14:38:23 +01004244<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004245
4246</div>
4247</div>
4248<a class="anchor" id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
4249<div class="memitem">
4250<div class="memproto">
4251 <table class="memname">
4252 <tr>
4253 <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>
4254 </tr>
4255 </table>
4256</div><div class="memdoc">
4257
4258<p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
4259
4260<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00074">74</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4261
4262</div>
4263</div>
4264<a class="anchor" id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
4265<div class="memitem">
4266<div class="memproto">
4267 <table class="memname">
4268 <tr>
4269 <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>
4270 </tr>
4271 </table>
4272</div><div class="memdoc">
4273
4274<p>Basic function to run 9x9 convolution. </p>
4275
Kaizen8938bd32017-09-28 14:38:23 +01004276<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004277
4278</div>
4279</div>
4280<a class="anchor" id="a908439cd5cf8253865d5c70a413fd607"></a>
4281<div class="memitem">
4282<div class="memproto">
4283 <table class="memname">
4284 <tr>
4285 <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>
4286 </tr>
4287 </table>
4288</div><div class="memdoc">
4289
4290<p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
4291
4292<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00076">76</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4293
4294</div>
4295</div>
4296<a class="anchor" id="a0fd5f0310a26faad00b905bac3792726"></a>
4297<div class="memitem">
4298<div class="memproto">
4299 <table class="memname">
4300 <tr>
4301 <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>
4302 </tr>
4303 </table>
4304</div><div class="memdoc">
4305
Jenkinsb3a371b2018-05-23 11:36:53 +01004306<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>
4307
4308<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004309
4310</div>
4311</div>
4312<a class="anchor" id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
4313<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#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>
4318 </tr>
4319 </table>
4320</div><div class="memdoc">
4321
Jenkinsb3a371b2018-05-23 11:36:53 +01004322<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>
4323
4324<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004325
4326</div>
4327</div>
4328<a class="anchor" id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
4329<div class="memitem">
4330<div class="memproto">
4331 <table class="memname">
4332 <tr>
4333 <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>
4334 </tr>
4335 </table>
4336</div><div class="memdoc">
4337
Jenkinsb3a371b2018-05-23 11:36:53 +01004338<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>
4339
4340<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004341
4342</div>
4343</div>
4344<a class="anchor" id="aae712f442eae2d56d17529ca6cb9cb77"></a>
4345<div class="memitem">
4346<div class="memproto">
4347 <table class="memname">
4348 <tr>
4349 <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>
4350 </tr>
4351 </table>
4352</div><div class="memdoc">
4353
Jenkinsb3a371b2018-05-23 11:36:53 +01004354<p>OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
4355
4356<p>Definition at line <a class="el" href="_c_l_tensor_8h_source.xhtml#l00080">80</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004357
4358</div>
4359</div>
4360<a class="anchor" id="a5fb8cb339705102066c915d18f0701ac"></a>
4361<div class="memitem">
4362<div class="memproto">
4363 <table class="memname">
4364 <tr>
4365 <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>
4366 </tr>
4367 </table>
4368</div><div class="memdoc">
4369
Jenkinsb3a371b2018-05-23 11:36:53 +01004370<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>
4371
4372<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004373
4374</div>
4375</div>
4376<a class="anchor" id="a8a401a071524761c661a75969c951cf5"></a>
4377<div class="memitem">
4378<div class="memproto">
4379 <table class="memname">
4380 <tr>
4381 <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>
4382 </tr>
4383 </table>
4384</div><div class="memdoc">
4385
Jenkinsb3a371b2018-05-23 11:36:53 +01004386<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>
4387
4388<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004389
4390</div>
4391</div>
4392<a class="anchor" id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
4393<div class="memitem">
4394<div class="memproto">
4395 <table class="memname">
4396 <tr>
4397 <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>
4398 </tr>
4399 </table>
4400</div><div class="memdoc">
4401
Jenkinsb3a371b2018-05-23 11:36:53 +01004402<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>
4403
4404<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00107">107</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004405
4406</div>
4407</div>
4408<a class="anchor" id="a70997613219641045213b0c12948fb74"></a>
4409<div class="memitem">
4410<div class="memproto">
4411 <table class="memname">
4412 <tr>
4413 <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>
4414 </tr>
4415 </table>
4416</div><div class="memdoc">
4417
Jenkinsb3a371b2018-05-23 11:36:53 +01004418<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>
4419
4420<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004421
4422</div>
4423</div>
4424<a class="anchor" id="ac87d48489667d7ff7fc4cc7d0d12c52e"></a>
4425<div class="memitem">
4426<div class="memproto">
4427 <table class="memname">
4428 <tr>
4429 <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>
4430 </tr>
4431 </table>
4432</div><div class="memdoc">
4433
Jenkinsb3a371b2018-05-23 11:36:53 +01004434<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group in OpenCL. </p>
4435
4436<p>Definition at line <a class="el" href="_c_l_memory_group_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_memory_group_8h_source.xhtml">CLMemoryGroup.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004437
4438</div>
4439</div>
4440<a class="anchor" id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
4441<div class="memitem">
4442<div class="memproto">
4443 <table class="memname">
4444 <tr>
4445 <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>
4446 </tr>
4447 </table>
4448</div><div class="memdoc">
4449
Jenkinsb3a371b2018-05-23 11:36:53 +01004450<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>
4451
4452<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004453
4454</div>
4455</div>
4456<a class="anchor" id="a7d756aef16b9c22456bb7aca8fbb4f4c"></a>
4457<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#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>
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 ROIs. </p>
4467
4468<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004469
4470</div>
4471</div>
4472<a class="anchor" id="ac72d613f7270604dbcad2553c278b16c"></a>
4473<div class="memitem">
4474<div class="memproto">
4475 <table class="memname">
4476 <tr>
4477 <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>
4478 </tr>
4479 </table>
4480</div><div class="memdoc">
4481
4482<p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
4483
4484<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4485
4486</div>
4487</div>
4488<a class="anchor" id="ac7295b0d8d71be75033238ad7fbba38c"></a>
4489<div class="memitem">
4490<div class="memproto">
4491 <table class="memname">
4492 <tr>
4493 <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>
4494 </tr>
4495 </table>
4496</div><div class="memdoc">
4497
4498<p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
4499
4500<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00133">133</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4501
4502</div>
4503</div>
4504<a class="anchor" id="aab26624bf4b326f8145b2909a5042004"></a>
4505<div class="memitem">
4506<div class="memproto">
4507 <table class="memname">
4508 <tr>
4509 <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>
4510 </tr>
4511 </table>
4512</div><div class="memdoc">
4513
4514<p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
4515
4516<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4517
4518</div>
4519</div>
4520<a class="anchor" id="a0ffdf01e236016ce8d366a69875d1375"></a>
4521<div class="memitem">
4522<div class="memproto">
4523 <table class="memname">
4524 <tr>
4525 <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>
4526 </tr>
4527 </table>
4528</div><div class="memdoc">
4529
4530<p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
4531
4532<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4533
4534</div>
4535</div>
4536<a class="anchor" id="a9f34ccad344bc43d25e8be2b828853aa"></a>
4537<div class="memitem">
4538<div class="memproto">
4539 <table class="memname">
4540 <tr>
4541 <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>
4542 </tr>
4543 </table>
4544</div><div class="memdoc">
4545
4546<p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
4547
4548<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4549
4550</div>
4551</div>
4552<a class="anchor" id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
4553<div class="memitem">
4554<div class="memproto">
4555 <table class="memname">
4556 <tr>
4557 <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>
4558 </tr>
4559 </table>
4560</div><div class="memdoc">
4561
4562<p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
4563
4564<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00137">137</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
4565
4566</div>
4567</div>
4568<a class="anchor" id="a3f9ab729931f4e4fa36ff1683186d988"></a>
4569<div class="memitem">
4570<div class="memproto">
4571 <table class="memname">
4572 <tr>
4573 <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>
4574 </tr>
4575 </table>
4576</div><div class="memdoc">
4577
Jenkinsb3a371b2018-05-23 11:36:53 +01004578<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>
4579
4580<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004581
4582</div>
4583</div>
4584<a class="anchor" id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
4585<div class="memitem">
4586<div class="memproto">
4587 <table class="memname">
4588 <tr>
4589 <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>
4590 </tr>
4591 </table>
4592</div><div class="memdoc">
4593
Jenkinsb3a371b2018-05-23 11:36:53 +01004594<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>
4595
4596<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004597
4598</div>
4599</div>
4600<a class="anchor" id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
4601<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#a1d7d89b7e990055dc95ed37dfb24da48">CLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_uint&gt;</td>
4606 </tr>
4607 </table>
4608</div><div class="memdoc">
4609
Jenkinsb3a371b2018-05-23 11:36:53 +01004610<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>
4611
4612<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004613
4614</div>
4615</div>
4616<a class="anchor" id="aa031694bb03711e09e25546ad2b643cc"></a>
4617<div class="memitem">
4618<div class="memproto">
4619 <table class="memname">
4620 <tr>
4621 <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>
4622 </tr>
4623 </table>
4624</div><div class="memdoc">
4625
Jenkinsb3a371b2018-05-23 11:36:53 +01004626<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>
4627
4628<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004629
4630</div>
4631</div>
4632<a class="anchor" id="a327abccf7b43aa32d6a24319b986f3ab"></a>
4633<div class="memitem">
4634<div class="memproto">
4635 <table class="memname">
4636 <tr>
4637 <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>
4638 </tr>
4639 </table>
4640</div><div class="memdoc">
4641
Jenkinsb3a371b2018-05-23 11:36:53 +01004642<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>
4643
4644<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00067">67</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004645
4646</div>
4647</div>
4648<a class="anchor" id="a5fe01ab895629edd84a511b56657d79e"></a>
4649<div class="memitem">
4650<div class="memproto">
4651 <table class="memname">
4652 <tr>
4653 <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>
4654 </tr>
4655 </table>
4656</div><div class="memdoc">
4657
Jenkinsb3a371b2018-05-23 11:36:53 +01004658<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>
4659
4660<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00069">69</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004661
4662</div>
4663</div>
4664<a class="anchor" id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
4665<div class="memitem">
4666<div class="memproto">
4667 <table class="memname">
4668 <tr>
4669 <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>
4670 </tr>
4671 </table>
4672</div><div class="memdoc">
4673
Jenkinsb3a371b2018-05-23 11:36:53 +01004674<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>
4675
4676<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00085">85</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004677
4678</div>
4679</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004680<a class="anchor" id="a10f3af894ca8b0479a5e6bc296083314"></a>
4681<div class="memitem">
4682<div class="memproto">
4683 <table class="memname">
4684 <tr>
4685 <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>
4686 </tr>
4687 </table>
4688</div><div class="memdoc">
4689
Jenkinsb3a371b2018-05-23 11:36:53 +01004690<p>Interface for the 1x1 direct convolution kernel. </p>
4691
4692<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004693
4694</div>
4695</div>
4696<a class="anchor" id="a35ccf8834da8b67bfb9c61fbc5e5f1e6"></a>
4697<div class="memitem">
4698<div class="memproto">
4699 <table class="memname">
4700 <tr>
4701 <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>
4702 </tr>
4703 </table>
4704</div><div class="memdoc">
4705
Jenkinsb3a371b2018-05-23 11:36:53 +01004706<p>Interface for the 3x3 direct convolution kernel. </p>
4707
4708<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004709
4710</div>
4711</div>
4712<a class="anchor" id="a227e525a4d0a4da25040cfdf8a3cf06b"></a>
4713<div class="memitem">
4714<div class="memproto">
4715 <table class="memname">
4716 <tr>
4717 <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>
4718 </tr>
4719 </table>
4720</div><div class="memdoc">
4721
Jenkinsb3a371b2018-05-23 11:36:53 +01004722<p>Interface for the 5x5 direct convolution kernel. </p>
4723
4724<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004725
4726</div>
4727</div>
4728<a class="anchor" id="a0b1d72d612fb6f33393ea6cd6cbcf523"></a>
4729<div class="memitem">
4730<div class="memproto">
4731 <table class="memname">
4732 <tr>
4733 <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>
4734 </tr>
4735 </table>
4736</div><div class="memdoc">
4737
Jenkinsb3a371b2018-05-23 11:36:53 +01004738<p>OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
4739
4740<p>Definition at line <a class="el" href="_g_c_tensor_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_g_c_tensor_8h_source.xhtml">GCTensor.h</a>.</p>
4741
4742</div>
4743</div>
4744<a class="anchor" id="abb079bea3cd2a65a7018eab99392747e"></a>
4745<div class="memitem">
4746<div class="memproto">
4747 <table class="memname">
4748 <tr>
4749 <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>
4750 </tr>
4751 </table>
4752</div><div class="memdoc">
4753
4754<p>Definition at line <a class="el" href="_g_c_memory_group_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_g_c_memory_group_8h_source.xhtml">GCMemoryGroup.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004755
4756</div>
4757</div>
Kaizen8938bd32017-09-28 14:38:23 +01004758<a class="anchor" id="ad2398d0f2ce77c10bbebf1f85317dde5"></a>
4759<div class="memitem">
4760<div class="memproto">
4761 <table class="memname">
4762 <tr>
4763 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map&lt;size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a>&gt;</td>
4764 </tr>
4765 </table>
4766</div><div class="memdoc">
4767
4768<p>A map of the groups and memory mappings. </p>
4769
4770<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
4771
4772</div>
4773</div>
4774<a class="anchor" id="a73e2825fd61d349c5ca2f5313e3c8ea1"></a>
4775<div class="memitem">
4776<div class="memproto">
4777 <table class="memname">
4778 <tr>
4779 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td>
4780 </tr>
4781 </table>
4782</div><div class="memdoc">
4783
4784<p>16-bit floating point type </p>
4785
Anthony Barbier06ea0482018-02-22 15:45:35 +00004786<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00044">44</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004787
4788</div>
4789</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004790<a class="anchor" id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
4791<div class="memitem">
4792<div class="memproto">
4793 <table class="memname">
4794 <tr>
4795 <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>
4796 </tr>
4797 </table>
4798</div><div class="memdoc">
4799
Jenkinsb3a371b2018-05-23 11:36:53 +01004800<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>
4801
4802<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004803
4804</div>
4805</div>
4806<a class="anchor" id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
4807<div class="memitem">
4808<div class="memproto">
4809 <table class="memname">
4810 <tr>
4811 <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>
4812 </tr>
4813 </table>
4814</div><div class="memdoc">
4815
Jenkinsb3a371b2018-05-23 11:36:53 +01004816<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>
4817
4818<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004819
4820</div>
4821</div>
4822<a class="anchor" id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
4823<div class="memitem">
4824<div class="memproto">
4825 <table class="memname">
4826 <tr>
4827 <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>
4828 </tr>
4829 </table>
4830</div><div class="memdoc">
4831
Jenkinsb3a371b2018-05-23 11:36:53 +01004832<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>
4833
4834<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004835
4836</div>
4837</div>
4838<a class="anchor" id="a631bac7c033a0d341c631870f9755217"></a>
4839<div class="memitem">
4840<div class="memproto">
4841 <table class="memname">
4842 <tr>
4843 <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>
4844 </tr>
4845 </table>
4846</div><div class="memdoc">
4847
Jenkinsb3a371b2018-05-23 11:36:53 +01004848<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>
4849
4850<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004851
4852</div>
4853</div>
4854<a class="anchor" id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
4855<div class="memitem">
4856<div class="memproto">
4857 <table class="memname">
4858 <tr>
4859 <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>
4860 </tr>
4861 </table>
4862</div><div class="memdoc">
4863
Jenkinsb3a371b2018-05-23 11:36:53 +01004864<p>Interface for OpenCL images. </p>
4865
4866<p>Definition at line <a class="el" href="_i_c_l_multi_image_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_i_c_l_multi_image_8h_source.xhtml">ICLMultiImage.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004867
4868</div>
4869</div>
4870<a class="anchor" id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
4871<div class="memitem">
4872<div class="memproto">
4873 <table class="memname">
4874 <tr>
4875 <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>
4876 </tr>
4877 </table>
4878</div><div class="memdoc">
4879
Jenkinsb3a371b2018-05-23 11:36:53 +01004880<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>
4881
4882<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004883
4884</div>
4885</div>
4886<a class="anchor" id="ab95380ecf1c0253f6c785c0f59194066"></a>
4887<div class="memitem">
4888<div class="memproto">
4889 <table class="memname">
4890 <tr>
4891 <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>
4892 </tr>
4893 </table>
4894</div><div class="memdoc">
4895
Jenkinsb3a371b2018-05-23 11:36:53 +01004896<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>
4897
4898<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00137">137</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004899
4900</div>
4901</div>
4902<a class="anchor" id="adb969f0e554bf563f2fa671399d59280"></a>
4903<div class="memitem">
4904<div class="memproto">
4905 <table class="memname">
4906 <tr>
4907 <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>
4908 </tr>
4909 </table>
4910</div><div class="memdoc">
4911
Jenkinsb3a371b2018-05-23 11:36:53 +01004912<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>
4913
4914<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004915
4916</div>
4917</div>
4918<a class="anchor" id="a569a32a7a853d4708fd4f4840c88a157"></a>
4919<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#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>
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 Internal Key Points. </p>
4929
4930<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00066">66</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004931
4932</div>
4933</div>
4934<a class="anchor" id="a0339a19c93dde6754834a7d4ec7dab73"></a>
4935<div class="memitem">
4936<div class="memproto">
4937 <table class="memname">
4938 <tr>
4939 <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>
4940 </tr>
4941 </table>
4942</div><div class="memdoc">
4943
Jenkinsb3a371b2018-05-23 11:36:53 +01004944<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>
4945
4946<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004947
4948</div>
4949</div>
Kaizen8938bd32017-09-28 14:38:23 +01004950<a class="anchor" id="a64e11fcdd0f4a3f7d832495b7053fbe9"></a>
4951<div class="memitem">
4952<div class="memproto">
4953 <table class="memname">
4954 <tr>
4955 <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>
4956 </tr>
4957 </table>
4958</div><div class="memdoc">
4959
Jenkinsb3a371b2018-05-23 11:36:53 +01004960<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>
4961
4962<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004963
4964</div>
4965</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004966<a class="anchor" id="a68396eee600b3d23bf7f95a802e65dff"></a>
4967<div class="memitem">
4968<div class="memproto">
4969 <table class="memname">
4970 <tr>
4971 <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>
4972 </tr>
4973 </table>
4974</div><div class="memdoc">
4975
Jenkinsb3a371b2018-05-23 11:36:53 +01004976<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 +00004977
Jenkinsb3a371b2018-05-23 11:36:53 +01004978<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004979
4980</div>
4981</div>
4982<a class="anchor" id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
4983<div class="memitem">
4984<div class="memproto">
4985 <table class="memname">
4986 <tr>
4987 <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>
4988 </tr>
4989 </table>
4990</div><div class="memdoc">
4991
Jenkinsb3a371b2018-05-23 11:36:53 +01004992<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>
4993
4994<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00131">131</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004995
4996</div>
4997</div>
4998<a class="anchor" id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
4999<div class="memitem">
5000<div class="memproto">
5001 <table class="memname">
5002 <tr>
5003 <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>
5004 </tr>
5005 </table>
5006</div><div class="memdoc">
5007
Jenkinsb3a371b2018-05-23 11:36:53 +01005008<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>
5009
5010<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00133">133</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005011
5012</div>
5013</div>
5014<a class="anchor" id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
5015<div class="memitem">
5016<div class="memproto">
5017 <table class="memname">
5018 <tr>
5019 <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>
5020 </tr>
5021 </table>
5022</div><div class="memdoc">
5023
Jenkinsb3a371b2018-05-23 11:36:53 +01005024<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>
5025
5026<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00129">129</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005027
5028</div>
5029</div>
5030<a class="anchor" id="aac9efd49d3bbbd53779713e5fb37de62"></a>
5031<div class="memitem">
5032<div class="memproto">
5033 <table class="memname">
5034 <tr>
5035 <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>
5036 </tr>
5037 </table>
5038</div><div class="memdoc">
5039
Jenkinsb3a371b2018-05-23 11:36:53 +01005040<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>
5041
5042<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00142">142</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005043
5044</div>
5045</div>
5046<a class="anchor" id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
5047<div class="memitem">
5048<div class="memproto">
5049 <table class="memname">
5050 <tr>
5051 <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>
5052 </tr>
5053 </table>
5054</div><div class="memdoc">
5055
Jenkinsb3a371b2018-05-23 11:36:53 +01005056<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>
5057
5058<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00144">144</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005059
5060</div>
5061</div>
5062<a class="anchor" id="a8a82a1928159e86b0778c3c14e8842be"></a>
5063<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#a8a82a1928159e86b0778c3c14e8842be">IFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;float&gt;</td>
5068 </tr>
5069 </table>
5070</div><div class="memdoc">
5071
Jenkinsb3a371b2018-05-23 11:36:53 +01005072<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>
5073
5074<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00160">160</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005075
5076</div>
5077</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005078<a class="anchor" id="a39070701484fa98eaa18cfcdb6aeb175"></a>
5079<div class="memitem">
5080<div class="memproto">
5081 <table class="memname">
5082 <tr>
5083 <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>
5084 </tr>
5085 </table>
5086</div><div class="memdoc">
5087
Jenkinsb3a371b2018-05-23 11:36:53 +01005088<p>Interface for GLES Compute image. </p>
5089
5090<p>Definition at line <a class="el" href="_i_g_c_tensor_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_i_g_c_tensor_8h_source.xhtml">IGCTensor.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005091
5092</div>
5093</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005094<a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
5095<div class="memitem">
5096<div class="memproto">
5097 <table class="memname">
5098 <tr>
5099 <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>
5100 </tr>
5101 </table>
5102</div><div class="memdoc">
5103
Jenkinsb3a371b2018-05-23 11:36:53 +01005104<p>Interface for CPP Images. </p>
5105
5106<p>Definition at line <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml">CPPCornerCandidatesKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005107
5108</div>
5109</div>
5110<a class="anchor" id="a1dd5e04cea002eae658fa2a899848ad7"></a>
5111<div class="memitem">
5112<div class="memproto">
5113 <table class="memname">
5114 <tr>
5115 <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>
5116 </tr>
5117 </table>
5118</div><div class="memdoc">
5119
Jenkinsb3a371b2018-05-23 11:36:53 +01005120<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>
5121
5122<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00156">156</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005123
5124</div>
5125</div>
5126<a class="anchor" id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
5127<div class="memitem">
5128<div class="memproto">
5129 <table class="memname">
5130 <tr>
5131 <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>
5132 </tr>
5133 </table>
5134</div><div class="memdoc">
5135
Jenkinsb3a371b2018-05-23 11:36:53 +01005136<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>
5137
5138<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00158">158</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005139
5140</div>
5141</div>
5142<a class="anchor" id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
5143<div class="memitem">
5144<div class="memproto">
5145 <table class="memname">
5146 <tr>
5147 <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>
5148 </tr>
5149 </table>
5150</div><div class="memdoc">
5151
Jenkinsb3a371b2018-05-23 11:36:53 +01005152<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>
5153
5154<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00140">140</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005155
5156</div>
5157</div>
5158<a class="anchor" id="a7fb6a368d181ef193475f725c713430a"></a>
5159<div class="memitem">
5160<div class="memproto">
5161 <table class="memname">
5162 <tr>
5163 <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>
5164 </tr>
5165 </table>
5166</div><div class="memdoc">
5167
Jenkinsb3a371b2018-05-23 11:36:53 +01005168<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
5169
5170<p>Definition at line <a class="el" href="runtime_2_tensor_8h_source.xhtml#l00064">64</a> of file <a class="el" href="runtime_2_tensor_8h_source.xhtml">Tensor.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005171
5172</div>
5173</div>
5174<a class="anchor" id="a9f3ed96e009111cfbe53d3f77c712390"></a>
5175<div class="memitem">
5176<div class="memproto">
5177 <table class="memname">
5178 <tr>
5179 <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>
5180 </tr>
5181 </table>
5182</div><div class="memdoc">
5183
Jenkinsb3a371b2018-05-23 11:36:53 +01005184<p>Common interface for all kernels implemented in NEON. </p>
5185
5186<p>Definition at line <a class="el" href="_i_n_e_kernel_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_i_n_e_kernel_8h_source.xhtml">INEKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005187
5188</div>
5189</div>
5190<a class="anchor" id="a19699533eb1b662e46a10715f6086487"></a>
5191<div class="memitem">
5192<div class="memproto">
5193 <table class="memname">
5194 <tr>
5195 <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>
5196 </tr>
5197 </table>
5198</div><div class="memdoc">
5199
Jenkinsb3a371b2018-05-23 11:36:53 +01005200<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>
5201
5202<p>Definition at line <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml">NELKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005203
5204</div>
5205</div>
5206<a class="anchor" id="a4aad0c49ce3d7cf4693830398f190250"></a>
5207<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#a4aad0c49ce3d7cf4693830398f190250">INESimpleKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td>
5212 </tr>
5213 </table>
5214</div><div class="memdoc">
5215
Jenkinsb3a371b2018-05-23 11:36:53 +01005216<p>Interface for simple NEON kernels having 1 tensor input and 1 tensor output. </p>
5217
5218<p>Definition at line <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml">INESimpleKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005219
5220</div>
5221</div>
5222<a class="anchor" id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
5223<div class="memitem">
5224<div class="memproto">
5225 <table class="memname">
5226 <tr>
5227 <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>
5228 </tr>
5229 </table>
5230</div><div class="memdoc">
5231
Jenkinsb3a371b2018-05-23 11:36:53 +01005232<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>
5233
5234<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005235
5236</div>
5237</div>
5238<a class="anchor" id="a6af9862834629c287a81b16837b51e44"></a>
5239<div class="memitem">
5240<div class="memproto">
5241 <table class="memname">
5242 <tr>
5243 <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>
5244 </tr>
5245 </table>
5246</div><div class="memdoc">
5247
Jenkinsb3a371b2018-05-23 11:36:53 +01005248<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>
5249
5250<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005251
5252</div>
5253</div>
5254<a class="anchor" id="a2ab89a5d0959531aac270879cdd3ed78"></a>
5255<div class="memitem">
5256<div class="memproto">
5257 <table class="memname">
5258 <tr>
5259 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt;float, float, float&gt;</td>
5260 </tr>
5261 </table>
5262</div><div class="memdoc">
5263
Jenkinsb3a371b2018-05-23 11:36:53 +01005264<p>Internal key point. </p>
5265
5266<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00447">447</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 +01005267
5268</div>
5269</div>
5270<a class="anchor" id="ae273be451a4d6de5fa255cb8fb09a64b"></a>
5271<div class="memitem">
5272<div class="memproto">
5273 <table class="memname">
5274 <tr>
5275 <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>
5276 </tr>
5277 </table>
5278</div><div class="memdoc">
5279
Jenkinsb3a371b2018-05-23 11:36:53 +01005280<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>
5281
5282<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00146">146</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005283
5284</div>
5285</div>
5286<a class="anchor" id="a32e4b9083329486a06960006af89a84c"></a>
5287<div class="memitem">
5288<div class="memproto">
5289 <table class="memname">
5290 <tr>
5291 <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>
5292 </tr>
5293 </table>
5294</div><div class="memdoc">
5295
Jenkinsb3a371b2018-05-23 11:36:53 +01005296<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>
5297
5298<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00148">148</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005299
5300</div>
5301</div>
5302<a class="anchor" id="a1ffe8af91a934c926d102938db8d3ce1"></a>
5303<div class="memitem">
5304<div class="memproto">
5305 <table class="memname">
5306 <tr>
5307 <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>
5308 </tr>
5309 </table>
5310</div><div class="memdoc">
5311
Jenkinsb3a371b2018-05-23 11:36:53 +01005312<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>
5313
5314<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00152">152</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005315
5316</div>
5317</div>
5318<a class="anchor" id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
5319<div class="memitem">
5320<div class="memproto">
5321 <table class="memname">
5322 <tr>
5323 <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>
5324 </tr>
5325 </table>
5326</div><div class="memdoc">
5327
Jenkinsb3a371b2018-05-23 11:36:53 +01005328<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>
5329
5330<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00154">154</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005331
5332</div>
5333</div>
5334<a class="anchor" id="a276401fd5651e75431d3e1cc90601caa"></a>
5335<div class="memitem">
5336<div class="memproto">
5337 <table class="memname">
5338 <tr>
5339 <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>
5340 </tr>
5341 </table>
5342</div><div class="memdoc">
5343
Jenkinsb3a371b2018-05-23 11:36:53 +01005344<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>
5345
5346<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00150">150</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005347
5348</div>
5349</div>
5350<a class="anchor" id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
5351<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#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>
5356 </tr>
5357 </table>
5358</div><div class="memdoc">
5359
Jenkinsb3a371b2018-05-23 11:36:53 +01005360<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>
5361
5362<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00065">65</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005363
5364</div>
5365</div>
5366<a class="anchor" id="a681c120e2188371794ec3a59768c64ab"></a>
5367<div class="memitem">
5368<div class="memproto">
5369 <table class="memname">
5370 <tr>
5371 <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>
5372 </tr>
5373 </table>
5374</div><div class="memdoc">
5375
Jenkinsb3a371b2018-05-23 11:36:53 +01005376<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>
5377
5378<p>Definition at line <a class="el" href="_n_e_optical_flow_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_n_e_optical_flow_8h_source.xhtml">NEOpticalFlow.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01005379
5380</div>
5381</div>
5382<a class="anchor" id="a0e7a03e2e133cb1fbb12517a3f646a09"></a>
5383<div class="memitem">
5384<div class="memproto">
5385 <table class="memname">
5386 <tr>
5387 <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>
5388 </tr>
5389 </table>
5390</div><div class="memdoc">
5391
Jenkinsb3a371b2018-05-23 11:36:53 +01005392<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group. </p>
5393
5394<p>Definition at line <a class="el" href="_memory_group_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_memory_group_8h_source.xhtml">MemoryGroup.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01005395
5396</div>
5397</div>
5398<a class="anchor" id="a762c7da7319adcc433b3ac7a67e18ed5"></a>
5399<div class="memitem">
5400<div class="memproto">
5401 <table class="memname">
5402 <tr>
5403 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt;void **, size_t&gt;</td>
5404 </tr>
5405 </table>
5406</div><div class="memdoc">
5407
5408<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>
5409<dl class="section note"><dt>Note</dt><dd>All objects are pre-pinned to specific buffers to avoid any relevant overheads </dd></dl>
5410
5411<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00043">43</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
5412
5413</div>
5414</div>
5415<a class="anchor" id="acded863dbfdd730829d4188d67eefcf0"></a>
5416<div class="memitem">
5417<div class="memproto">
5418 <table class="memname">
5419 <tr>
5420 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td>
5421 </tr>
5422 </table>
5423</div><div class="memdoc">
5424
Jenkinsb3a371b2018-05-23 11:36:53 +01005425<p>Wrapper of Mutex data-object. </p>
5426
5427<p>Definition at line <a class="el" href="_mutex_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_mutex_8h_source.xhtml">Mutex.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005428
5429</div>
5430</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005431<a class="anchor" id="aff99c045b07329b332b1cb97a2dd1518"></a>
5432<div class="memitem">
5433<div class="memproto">
5434 <table class="memname">
5435 <tr>
5436 <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>
5437 </tr>
5438 </table>
5439</div><div class="memdoc">
5440
Jenkinsb3a371b2018-05-23 11:36:53 +01005441<p>Interface for the accumulate weighted kernel using F16. </p>
5442
5443<p>Definition at line <a class="el" href="_n_e_accumulate_kernel_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_n_e_accumulate_kernel_8h_source.xhtml">NEAccumulateKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005444
5445</div>
5446</div>
5447<a class="anchor" id="a96f7f6f98dc47e0dc3b928bf87397ebf"></a>
5448<div class="memitem">
5449<div class="memproto">
5450 <table class="memname">
5451 <tr>
5452 <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>
5453 </tr>
5454 </table>
5455</div><div class="memdoc">
5456
Jenkinsb3a371b2018-05-23 11:36:53 +01005457<p>NEON kernel to perform a Box 3x3 filter for FP16 datatype. </p>
5458
5459<p>Definition at line <a class="el" href="_n_e_box3x3_kernel_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_n_e_box3x3_kernel_8h_source.xhtml">NEBox3x3Kernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005460
5461</div>
5462</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005463<a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
5464<div class="memitem">
5465<div class="memproto">
5466 <table class="memname">
5467 <tr>
5468 <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>
5469 </tr>
5470 </table>
5471</div><div class="memdoc">
5472
5473<p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
5474
Anthony Barbier06ea0482018-02-22 15:45:35 +00005475<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005476
5477</div>
5478</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01005479<a class="anchor" id="adbc7771d367ba8f51da1450d3602e5c0"></a>
5480<div class="memitem">
5481<div class="memproto">
5482 <table class="memname">
5483 <tr>
5484 <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>
5485 </tr>
5486 </table>
5487</div><div class="memdoc">
5488
5489<p>Basic function to run 5x5 convolution. </p>
5490
Kaizen8938bd32017-09-28 14:38:23 +01005491<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01005492
5493</div>
5494</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005495<a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
5496<div class="memitem">
5497<div class="memproto">
5498 <table class="memname">
5499 <tr>
5500 <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>
5501 </tr>
5502 </table>
5503</div><div class="memdoc">
5504
5505<p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
5506
Anthony Barbier06ea0482018-02-22 15:45:35 +00005507<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005508
5509</div>
5510</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01005511<a class="anchor" id="aeb2682fbeb2766df26b4be1971c9757d"></a>
5512<div class="memitem">
5513<div class="memproto">
5514 <table class="memname">
5515 <tr>
5516 <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>
5517 </tr>
5518 </table>
5519</div><div class="memdoc">
5520
5521<p>Basic function to run 7x7 convolution. </p>
5522
Kaizen8938bd32017-09-28 14:38:23 +01005523<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01005524
5525</div>
5526</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005527<a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
5528<div class="memitem">
5529<div class="memproto">
5530 <table class="memname">
5531 <tr>
5532 <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>
5533 </tr>
5534 </table>
5535</div><div class="memdoc">
5536
5537<p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
5538
Anthony Barbier06ea0482018-02-22 15:45:35 +00005539<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00092">92</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005540
5541</div>
5542</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01005543<a class="anchor" id="ae5a088552f26a1afafd0cbf821d256fb"></a>
5544<div class="memitem">
5545<div class="memproto">
5546 <table class="memname">
5547 <tr>
5548 <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>
5549 </tr>
5550 </table>
5551</div><div class="memdoc">
5552
5553<p>Basic function to run 9x9 convolution. </p>
5554
Kaizen8938bd32017-09-28 14:38:23 +01005555<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01005556
5557</div>
5558</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005559<a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
5560<div class="memitem">
5561<div class="memproto">
5562 <table class="memname">
5563 <tr>
5564 <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>
5565 </tr>
5566 </table>
5567</div><div class="memdoc">
5568
5569<p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
5570
Anthony Barbier06ea0482018-02-22 15:45:35 +00005571<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00094">94</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005572
5573</div>
5574</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005575<a class="anchor" id="a593fd1da692f305db6ca306cb8e0158e"></a>
5576<div class="memitem">
5577<div class="memproto">
5578 <table class="memname">
5579 <tr>
5580 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a593fd1da692f305db6ca306cb8e0158e">NEGradientFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td>
5581 </tr>
5582 </table>
5583</div><div class="memdoc">
5584
Jenkinsb3a371b2018-05-23 11:36:53 +01005585<p>NEON kernel to perform Gradient computation for FP16 datatype. </p>
5586
5587<p>Definition at line <a class="el" href="_n_e_canny_edge_kernel_8h_source.xhtml#l00103">103</a> of file <a class="el" href="_n_e_canny_edge_kernel_8h_source.xhtml">NECannyEdgeKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005588
5589</div>
5590</div>
5591<a class="anchor" id="a0b6679b5d5c7f7dc527258181b04cf35"></a>
5592<div class="memitem">
5593<div class="memproto">
5594 <table class="memname">
5595 <tr>
5596 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0b6679b5d5c7f7dc527258181b04cf35">NEHarrisScoreFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a>&lt;block_size&gt;</td>
5597 </tr>
5598 </table>
5599</div><div class="memdoc">
5600
Jenkinsb3a371b2018-05-23 11:36:53 +01005601<p>Interface for the accumulate Weighted kernel using FP16. </p>
5602
5603<p>Definition at line <a class="el" href="_n_e_harris_corners_kernel_8h_source.xhtml#l00132">132</a> of file <a class="el" href="_n_e_harris_corners_kernel_8h_source.xhtml">NEHarrisCornersKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005604
5605</div>
5606</div>
5607<a class="anchor" id="a0d4d47f41fae07bb3efb2d723b9965c3"></a>
5608<div class="memitem">
5609<div class="memproto">
5610 <table class="memname">
5611 <tr>
5612 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0d4d47f41fae07bb3efb2d723b9965c3">NEMagnitudePhaseFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a>&lt;mag_type, phase_type&gt;</td>
5613 </tr>
5614 </table>
5615</div><div class="memdoc">
5616
Jenkinsb3a371b2018-05-23 11:36:53 +01005617<p>Template interface for the kernel to compute magnitude and phase. </p>
5618
5619<p>Definition at line <a class="el" href="_n_e_magnitude_phase_kernel_8h_source.xhtml#l00170">170</a> of file <a class="el" href="_n_e_magnitude_phase_kernel_8h_source.xhtml">NEMagnitudePhaseKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005620
5621</div>
5622</div>
5623<a class="anchor" id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
5624<div class="memitem">
5625<div class="memproto">
5626 <table class="memname">
5627 <tr>
5628 <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>
5629 </tr>
5630 </table>
5631</div><div class="memdoc">
5632
Jenkinsb3a371b2018-05-23 11:36:53 +01005633<p>NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in FP16 if the input data type is FP32. </p>
5634
5635<p>Definition at line <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8h_source.xhtml">NENonMaximaSuppression3x3Kernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005636
5637</div>
5638</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005639<a class="anchor" id="a0604c803e41880a4a16408efc4e6a69b"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00005640<div class="memitem">
5641<div class="memproto">
5642 <table class="memname">
5643 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005644 <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 +00005645 </tr>
5646 </table>
5647</div><div class="memdoc">
5648
Jenkinsb3a371b2018-05-23 11:36:53 +01005649<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>
5650
5651<p>Definition at line <a class="el" href="_n_e_scheduler_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_n_e_scheduler_8h_source.xhtml">NEScheduler.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005652
5653</div>
5654</div>
5655<a class="anchor" id="ac78a7593874c21cff86478c1ba6df27b"></a>
5656<div class="memitem">
5657<div class="memproto">
5658 <table class="memname">
5659 <tr>
5660 <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>
5661 </tr>
5662 </table>
5663</div><div class="memdoc">
5664
5665<p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
5666
Anthony Barbier06ea0482018-02-22 15:45:35 +00005667<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00138">138</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005668
5669</div>
5670</div>
5671<a class="anchor" id="ae4152320657df499674ed64b16c28a7b"></a>
5672<div class="memitem">
5673<div class="memproto">
5674 <table class="memname">
5675 <tr>
5676 <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>
5677 </tr>
5678 </table>
5679</div><div class="memdoc">
5680
5681<p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
5682
Anthony Barbier06ea0482018-02-22 15:45:35 +00005683<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00198">198</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005684
5685</div>
5686</div>
5687<a class="anchor" id="aca4adbcd292c26b0e392c59875c1e926"></a>
5688<div class="memitem">
5689<div class="memproto">
5690 <table class="memname">
5691 <tr>
5692 <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>
5693 </tr>
5694 </table>
5695</div><div class="memdoc">
5696
5697<p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
5698
Anthony Barbier06ea0482018-02-22 15:45:35 +00005699<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00140">140</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005700
5701</div>
5702</div>
5703<a class="anchor" id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
5704<div class="memitem">
5705<div class="memproto">
5706 <table class="memname">
5707 <tr>
5708 <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>
5709 </tr>
5710 </table>
5711</div><div class="memdoc">
5712
5713<p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
5714
Anthony Barbier06ea0482018-02-22 15:45:35 +00005715<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00200">200</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005716
5717</div>
5718</div>
5719<a class="anchor" id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
5720<div class="memitem">
5721<div class="memproto">
5722 <table class="memname">
5723 <tr>
5724 <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>
5725 </tr>
5726 </table>
5727</div><div class="memdoc">
5728
5729<p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
5730
Anthony Barbier06ea0482018-02-22 15:45:35 +00005731<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00142">142</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005732
5733</div>
5734</div>
5735<a class="anchor" id="a6310d21f215fface41df4cde725a62b9"></a>
5736<div class="memitem">
5737<div class="memproto">
5738 <table class="memname">
5739 <tr>
5740 <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>
5741 </tr>
5742 </table>
5743</div><div class="memdoc">
5744
5745<p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
5746
Anthony Barbier06ea0482018-02-22 15:45:35 +00005747<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005748
5749</div>
5750</div>
5751<a class="anchor" id="a4467b302fc9ec312c40580336ab783da"></a>
5752<div class="memitem">
5753<div class="memproto">
5754 <table class="memname">
5755 <tr>
5756 <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>
5757 </tr>
5758 </table>
5759</div><div class="memdoc">
5760
Jenkinsb3a371b2018-05-23 11:36:53 +01005761<p>Container for 2D padding size. </p>
5762
5763<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00378">378</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 +00005764
5765</div>
5766</div>
5767<a class="anchor" id="a33e65be485104e2e9e69fca551d6f492"></a>
5768<div class="memitem">
5769<div class="memproto">
5770 <table class="memname">
5771 <tr>
5772 <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>
5773 </tr>
5774 </table>
5775</div><div class="memdoc">
5776
5777<p>Permutation vector. </p>
5778
Anthony Barbier06ea0482018-02-22 15:45:35 +00005779<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00047">47</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005780
5781</div>
5782</div>
5783<a class="anchor" id="ab8938bcb3ec0f5f8d93285eb3a28b701"></a>
5784<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#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td>
5789 </tr>
5790 </table>
5791</div><div class="memdoc">
5792
5793<p>8 bit quantized asymmetric scalar value </p>
5794
5795<p>Definition at line <a class="el" href="_q_asymm8_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_q_asymm8_8h_source.xhtml">QAsymm8.h</a>.</p>
5796
5797</div>
5798</div>
5799<a class="anchor" id="ac7e1832b8c58f07a98fc8d390b16ac27"></a>
5800<div class="memitem">
5801<div class="memproto">
5802 <table class="memname">
5803 <tr>
5804 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td>
5805 </tr>
5806 </table>
5807</div><div class="memdoc">
5808
5809<p>8 bit quantized asymmetric vector with 16 elements </p>
5810
5811<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5812
5813</div>
5814</div>
5815<a class="anchor" id="a70ecc99f2f6b646579b58463dc026671"></a>
5816<div class="memitem">
5817<div class="memproto">
5818 <table class="memname">
5819 <tr>
5820 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a70ecc99f2f6b646579b58463dc026671">qasymm8x8_t</a> = uint8x8_t</td>
5821 </tr>
5822 </table>
5823</div><div class="memdoc">
5824
5825<p>8 bit quantized asymmetric vector with 8 elements </p>
5826
5827<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5828
5829</div>
5830</div>
5831<a class="anchor" id="a805d740633d70a5f0b019d72c517e67d"></a>
5832<div class="memitem">
5833<div class="memproto">
5834 <table class="memname">
5835 <tr>
5836 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a805d740633d70a5f0b019d72c517e67d">qasymm8x8x2_t</a> = uint8x8x2_t</td>
5837 </tr>
5838 </table>
5839</div><div class="memdoc">
5840
5841<p>8 bit quantized asymmetric vector with 16 elements </p>
5842
5843<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5844
5845</div>
5846</div>
5847<a class="anchor" id="a0c6e16826765130b480af53eda3635be"></a>
5848<div class="memitem">
5849<div class="memproto">
5850 <table class="memname">
5851 <tr>
5852 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0c6e16826765130b480af53eda3635be">qasymm8x8x3_t</a> = uint8x8x3_t</td>
5853 </tr>
5854 </table>
5855</div><div class="memdoc">
5856
5857<p>8 bit quantized asymmetric vector with 24 elements </p>
5858
5859<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5860
5861</div>
5862</div>
5863<a class="anchor" id="a41d3460ff424e2e21c629b3f27386a8b"></a>
5864<div class="memitem">
5865<div class="memproto">
5866 <table class="memname">
5867 <tr>
5868 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a41d3460ff424e2e21c629b3f27386a8b">qasymm8x8x4_t</a> = uint8x8x4_t</td>
5869 </tr>
5870 </table>
5871</div><div class="memdoc">
5872
5873<p>8 bit quantized asymmetric vector with 32 elements </p>
5874
5875<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005876
5877</div>
5878</div>
5879<a class="anchor" id="a1521eea74b97de8f2df9304e44179400"></a>
5880<div class="memitem">
5881<div class="memproto">
5882 <table class="memname">
5883 <tr>
5884 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td>
5885 </tr>
5886 </table>
5887</div><div class="memdoc">
5888
5889<p>16 bit fixed point scalar value </p>
5890
5891<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">30</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
5892
5893</div>
5894</div>
5895<a class="anchor" id="a82c56f0856f56d430393e6a00baee983"></a>
5896<div class="memitem">
5897<div class="memproto">
5898 <table class="memname">
5899 <tr>
5900 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td>
5901 </tr>
5902 </table>
5903</div><div class="memdoc">
5904
5905<p>16 bit fixed point vector with 4 elements </p>
5906
5907<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00041">41</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
5908
5909</div>
5910</div>
5911<a class="anchor" id="a8d57e0f4f122442011213667168ef538"></a>
5912<div class="memitem">
5913<div class="memproto">
5914 <table class="memname">
5915 <tr>
5916 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td>
5917 </tr>
5918 </table>
5919</div><div class="memdoc">
5920
5921<p>16 bit fixed point vector with 8 elements </p>
5922
5923<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
5924
5925</div>
5926</div>
5927<a class="anchor" id="a63f034ee885f20111e7f5d44e48e6d93"></a>
5928<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#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td>
5933 </tr>
5934 </table>
5935</div><div class="memdoc">
5936
5937<p>16 bit fixed point vector with 12 elements </p>
5938
5939<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
5940
5941</div>
5942</div>
5943<a class="anchor" id="a8525b18a2f34c3497bbfbd0e7c3a7875"></a>
5944<div class="memitem">
5945<div class="memproto">
5946 <table class="memname">
5947 <tr>
5948 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td>
5949 </tr>
5950 </table>
5951</div><div class="memdoc">
5952
5953<p>16 bit fixed point vector with 16 elements </p>
5954
5955<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
5956
5957</div>
5958</div>
5959<a class="anchor" id="a4e15143176bfacdde8b06f4bb0b67427"></a>
5960<div class="memitem">
5961<div class="memproto">
5962 <table class="memname">
5963 <tr>
5964 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td>
5965 </tr>
5966 </table>
5967</div><div class="memdoc">
5968
5969<p>16 bit fixed point vector with 8 elements </p>
5970
5971<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
5972
5973</div>
5974</div>
5975<a class="anchor" id="a3c4099e91913f28017e1f57b8e5cbf9f"></a>
5976<div class="memitem">
5977<div class="memproto">
5978 <table class="memname">
5979 <tr>
5980 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td>
5981 </tr>
5982 </table>
5983</div><div class="memdoc">
5984
5985<p>16 bit fixed point vector with 16 elements </p>
5986
5987<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
5988
5989</div>
5990</div>
5991<a class="anchor" id="a65e109cf43ade8a2a3c57a1120b90b05"></a>
5992<div class="memitem">
5993<div class="memproto">
5994 <table class="memname">
5995 <tr>
5996 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td>
5997 </tr>
5998 </table>
5999</div><div class="memdoc">
6000
6001<p>16 bit fixed point vector with 24 elements </p>
6002
6003<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6004
6005</div>
6006</div>
6007<a class="anchor" id="a6bc1e8d62f1055278d8f05454faa422f"></a>
6008<div class="memitem">
6009<div class="memproto">
6010 <table class="memname">
6011 <tr>
6012 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td>
6013 </tr>
6014 </table>
6015</div><div class="memdoc">
6016
6017<p>16 bit fixed point vector with 32 elements </p>
6018
6019<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6020
6021</div>
6022</div>
6023<a class="anchor" id="aa06c95f9976f3729316d689b4419089f"></a>
6024<div class="memitem">
6025<div class="memproto">
6026 <table class="memname">
6027 <tr>
6028 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td>
6029 </tr>
6030 </table>
6031</div><div class="memdoc">
6032
6033<p>32 bit fixed point scalar value </p>
6034
6035<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">31</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
6036
6037</div>
6038</div>
Kaizen8938bd32017-09-28 14:38:23 +01006039<a class="anchor" id="addcffa8e8086154c0449c23e6b0dff83"></a>
6040<div class="memitem">
6041<div class="memproto">
6042 <table class="memname">
6043 <tr>
6044 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td>
6045 </tr>
6046 </table>
6047</div><div class="memdoc">
6048
6049<p>32 bit fixed point vector with 2 elements </p>
6050
6051<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6052
6053</div>
6054</div>
6055<a class="anchor" id="abd854c117af4dbd12633db2fbc01dd49"></a>
6056<div class="memitem">
6057<div class="memproto">
6058 <table class="memname">
6059 <tr>
6060 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td>
6061 </tr>
6062 </table>
6063</div><div class="memdoc">
6064
6065<p>32 bit fixed point vector with 4 elements </p>
6066
6067<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00050">50</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6068
6069</div>
6070</div>
6071<a class="anchor" id="a6ed7f8448a2a08a531e8202334e4dcdd"></a>
6072<div class="memitem">
6073<div class="memproto">
6074 <table class="memname">
6075 <tr>
6076 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td>
6077 </tr>
6078 </table>
6079</div><div class="memdoc">
6080
6081<p>32 bit fixed point vector with 8 elements </p>
6082
6083<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6084
6085</div>
6086</div>
6087<a class="anchor" id="adc3be0bc3741b081217b2609abcf0333"></a>
6088<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#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td>
6093 </tr>
6094 </table>
6095</div><div class="memdoc">
6096
6097<p>64 bit fixed point scalar value </p>
6098
6099<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
6100
6101</div>
6102</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006103<a class="anchor" id="a4c3f681c30c9398c45bc3cd5dc4f038a"></a>
6104<div class="memitem">
6105<div class="memproto">
6106 <table class="memname">
6107 <tr>
6108 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td>
6109 </tr>
6110 </table>
6111</div><div class="memdoc">
6112
6113<p>8 bit fixed point scalar value </p>
6114
6115<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">29</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
6116
6117</div>
6118</div>
6119<a class="anchor" id="a5b99ed49abd6b7bf13dafdd17bcef855"></a>
6120<div class="memitem">
6121<div class="memproto">
6122 <table class="memname">
6123 <tr>
6124 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td>
6125 </tr>
6126 </table>
6127</div><div class="memdoc">
6128
6129<p>8 bit fixed point vector with 16 elements </p>
6130
6131<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6132
6133</div>
6134</div>
6135<a class="anchor" id="a09108711e0c18d4e9811ea4597d573b1"></a>
6136<div class="memitem">
6137<div class="memproto">
6138 <table class="memname">
6139 <tr>
6140 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td>
6141 </tr>
6142 </table>
6143</div><div class="memdoc">
6144
6145<p>8 bit fixed point vector with 32 elements </p>
6146
6147<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6148
6149</div>
6150</div>
6151<a class="anchor" id="a7e175277ee7de6a5aeb5cd8916dbb346"></a>
6152<div class="memitem">
6153<div class="memproto">
6154 <table class="memname">
6155 <tr>
6156 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td>
6157 </tr>
6158 </table>
6159</div><div class="memdoc">
6160
6161<p>8 bit fixed point vector with 48 elements </p>
6162
6163<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6164
6165</div>
6166</div>
6167<a class="anchor" id="a3c4b33603ffff71e9f02c4be1a2f14d5"></a>
6168<div class="memitem">
6169<div class="memproto">
6170 <table class="memname">
6171 <tr>
6172 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td>
6173 </tr>
6174 </table>
6175</div><div class="memdoc">
6176
6177<p>8 bit fixed point vector with 64 elements </p>
6178
6179<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6180
6181</div>
6182</div>
6183<a class="anchor" id="a16a1bee14f1db073f75caa76dacf5078"></a>
6184<div class="memitem">
6185<div class="memproto">
6186 <table class="memname">
6187 <tr>
6188 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td>
6189 </tr>
6190 </table>
6191</div><div class="memdoc">
6192
6193<p>8 bit fixed point vector with 8 elements </p>
6194
6195<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6196
6197</div>
6198</div>
6199<a class="anchor" id="ace2375b626995858a398e1ffb3108f14"></a>
6200<div class="memitem">
6201<div class="memproto">
6202 <table class="memname">
6203 <tr>
6204 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td>
6205 </tr>
6206 </table>
6207</div><div class="memdoc">
6208
6209<p>8 bit fixed point vector with 16 elements </p>
6210
6211<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6212
6213</div>
6214</div>
6215<a class="anchor" id="a252c74fae9a9238ef7c23d306e670706"></a>
6216<div class="memitem">
6217<div class="memproto">
6218 <table class="memname">
6219 <tr>
6220 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td>
6221 </tr>
6222 </table>
6223</div><div class="memdoc">
6224
6225<p>8 bit fixed point vector with 24 elements </p>
6226
6227<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
6228
6229</div>
6230</div>
6231<a class="anchor" id="a01ae65c0a0736d4293e657a66bde1538"></a>
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#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td>
6237 </tr>
6238 </table>
6239</div><div class="memdoc">
6240
6241<p>8 bit fixed point vector with 32 elements </p>
6242
6243<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006244
6245</div>
6246</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006247<a class="anchor" id="a35ae0858a604c4c0672ce857e8080ae4"></a>
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#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>
6253 </tr>
6254 </table>
6255</div><div class="memdoc">
6256
6257<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>
6258
6259<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
6260
6261</div>
6262</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006263<a class="anchor" id="abd445adaaca7913c9344c90dc8c76358"></a>
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#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>
6269 </tr>
6270 </table>
6271</div><div class="memdoc">
6272
Jenkinsb3a371b2018-05-23 11:36:53 +01006273<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>
6274
6275<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00073">73</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006276
6277</div>
6278</div>
6279<a class="anchor" id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
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#ab91cb2269b2e58ed2cb6bd2ca831d434">UInt16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint16_t&gt;</td>
6285 </tr>
6286 </table>
6287</div><div class="memdoc">
6288
Jenkinsb3a371b2018-05-23 11:36:53 +01006289<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>
6290
6291<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00077">77</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006292
6293</div>
6294</div>
6295<a class="anchor" id="acd6eb2619ccd5eee4963de3195785359"></a>
6296<div class="memitem">
6297<div class="memproto">
6298 <table class="memname">
6299 <tr>
6300 <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>
6301 </tr>
6302 </table>
6303</div><div class="memdoc">
6304
Jenkinsb3a371b2018-05-23 11:36:53 +01006305<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>
6306
6307<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006308
6309</div>
6310</div>
6311<a class="anchor" id="a9dbb5e00a3f397691eb782f03f65375c"></a>
6312<div class="memitem">
6313<div class="memproto">
6314 <table class="memname">
6315 <tr>
6316 <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>
6317 </tr>
6318 </table>
6319</div><div class="memdoc">
6320
Jenkinsb3a371b2018-05-23 11:36:53 +01006321<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>
6322
6323<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00075">75</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006324
6325</div>
6326</div>
6327<h2 class="groupheader">Enumeration Type Documentation</h2>
6328<a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
6329<div class="memitem">
6330<div class="memproto">
6331<table class="mlabels">
6332 <tr>
6333 <td class="mlabels-left">
6334 <table class="memname">
6335 <tr>
6336 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
6337 </tr>
6338 </table>
6339 </td>
6340 <td class="mlabels-right">
6341<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6342 </tr>
6343</table>
6344</div><div class="memdoc">
6345
6346<p>Bilinear Interpolation method used by LKTracker. </p>
6347<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006348<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006349<p>Old-new method. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006350</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006351<tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006352<p>Scharr method. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006353</td></tr>
6354</table>
6355
Jenkinsb3a371b2018-05-23 11:36:53 +01006356<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">396</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6357<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> </div><div class="line"><a name="l00400"></a><span class="lineno"> 400</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>
6358<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 +00006359</div><!-- fragment -->
6360</div>
6361</div>
6362<a class="anchor" id="a15a05537a472ee742404821851529327"></a>
6363<div class="memitem">
6364<div class="memproto">
6365<table class="mlabels">
6366 <tr>
6367 <td class="mlabels-left">
6368 <table class="memname">
6369 <tr>
6370 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
6371 </tr>
6372 </table>
6373 </td>
6374 <td class="mlabels-right">
6375<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6376 </tr>
6377</table>
6378</div><div class="memdoc">
6379
6380<p>Methods available to handle borders. </p>
6381<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006382<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006383<p>Borders are left undefined. </p>
6384</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006385<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006386<p>Pixels outside the image are assumed to have a constant value. </p>
6387</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006388<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006389<p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
6390</td></tr>
6391</table>
6392
Jenkinsb3a371b2018-05-23 11:36:53 +01006393<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00283">283</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6394<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; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</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 +00006395<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>
6396<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>
6397</div><!-- fragment -->
6398</div>
6399</div>
6400<a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
6401<div class="memitem">
6402<div class="memproto">
6403<table class="mlabels">
6404 <tr>
6405 <td class="mlabels-left">
6406 <table class="memname">
6407 <tr>
6408 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
6409 </tr>
6410 </table>
6411 </td>
6412 <td class="mlabels-right">
6413<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6414 </tr>
6415</table>
6416</div><div class="memdoc">
6417
6418<p>Available channels. </p>
6419<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006420<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006421</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006422<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006423<p>Unknown channel format. </p>
6424<p>First channel (used by formats with unknown channel types). </p>
6425</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006426<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006427<p>Second channel (used by formats with unknown channel types). </p>
6428</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006429<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006430<p>Third channel (used by formats with unknown channel types). </p>
6431</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006432<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006433<p>Fourth channel (used by formats with unknown channel types). </p>
6434</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006435<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006436<p>Red channel. </p>
6437</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006438<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006439<p>Green channel. </p>
6440</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006441<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006442<p>Blue channel. </p>
6443</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006444<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006445<p>Alpha channel. </p>
6446</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006447<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006448<p>Luma channel. </p>
6449</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006450<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006451<p>Cb/U channel. </p>
6452</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006453<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006454<p>Cr/V/Value channel. </p>
6455</td></tr>
6456</table>
6457
Jenkinsb3a371b2018-05-23 11:36:53 +01006458<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00481">481</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6459<div class="fragment"><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;{</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</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 +00006460<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>
6461<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>
6462<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>
6463<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 +00006464<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>
6465<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>
6466<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>
6467<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>
6468<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 +01006469<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 +00006470<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>
6471</div><!-- fragment -->
6472</div>
6473</div>
Kaizen8938bd32017-09-28 14:38:23 +01006474<a class="anchor" id="a3a440b3893fa10608d4428958be1c52e"></a>
6475<div class="memitem">
6476<div class="memproto">
6477<table class="mlabels">
6478 <tr>
6479 <td class="mlabels-left">
6480 <table class="memname">
6481 <tr>
6482 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a></td>
6483 </tr>
6484 </table>
6485 </td>
6486 <td class="mlabels-right">
6487<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6488 </tr>
6489</table>
6490</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006491
6492<p>Available OpenCL Version. </p>
Kaizen8938bd32017-09-28 14:38:23 +01006493<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006494<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006495</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006496<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006497</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006498<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006499</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006500<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006501</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006502<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006503</td></tr>
6504</table>
6505
Jenkinsb3a371b2018-05-23 11:36:53 +01006506<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
6507<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 +01006508<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">arm_compute::CLVersion::CL12</a></div></div>
6509<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">arm_compute::CLVersion::CL10</a></div></div>
6510<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">arm_compute::CLVersion::CL11</a></div></div>
6511<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
6512</div><!-- fragment -->
6513</div>
6514</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006515<a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
6516<div class="memitem">
6517<div class="memproto">
6518<table class="mlabels">
6519 <tr>
6520 <td class="mlabels-left">
6521 <table class="memname">
6522 <tr>
6523 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
6524 </tr>
6525 </table>
6526 </td>
6527 <td class="mlabels-right">
6528<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6529 </tr>
6530</table>
6531</div><div class="memdoc">
6532
6533<p>Policy to handle overflow. </p>
6534<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006535<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006536<p>Wrap around. </p>
6537</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006538<tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006539<p>Saturate. </p>
6540</td></tr>
6541</table>
6542
Jenkinsb3a371b2018-05-23 11:36:53 +01006543<p>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>
6544<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00385"></a><span class="lineno"> 385</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 +00006545<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>
6546</div><!-- fragment -->
6547</div>
6548</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006549<a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517d"></a>
6550<div class="memitem">
6551<div class="memproto">
6552<table class="mlabels">
6553 <tr>
6554 <td class="mlabels-left">
6555 <table class="memname">
6556 <tr>
6557 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a></td>
6558 </tr>
6559 </table>
6560 </td>
6561 <td class="mlabels-right">
6562<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6563 </tr>
6564</table>
6565</div><div class="memdoc">
6566
6567<p>Available ConvolutionMethod. </p>
6568<table class="fieldtable">
6569<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"></a>GEMM&#160;</td><td class="fielddoc">
6570<p>Convolution using GEMM. </p>
6571</td></tr>
6572<tr><td class="fieldname"><a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"></a>DIRECT&#160;</td><td class="fielddoc">
6573<p>Direct convolution. </p>
6574</td></tr>
6575<tr><td class="fieldname"><a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"></a>WINOGRAD&#160;</td><td class="fielddoc">
6576<p>Convolution using Winograd. </p>
6577</td></tr>
6578</table>
6579
Jenkinsb3a371b2018-05-23 11:36:53 +01006580<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01220">1220</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6581<div class="fragment"><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;{</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</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 +00006582<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>
6583<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>
6584</div><!-- fragment -->
6585</div>
6586</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006587<a class="anchor" id="aa41d7415a5386798147cccae2333d5d4"></a>
Kaizen8938bd32017-09-28 14:38:23 +01006588<div class="memitem">
6589<div class="memproto">
6590<table class="mlabels">
6591 <tr>
6592 <td class="mlabels-left">
6593 <table class="memname">
6594 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006595 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a></td>
Kaizen8938bd32017-09-28 14:38:23 +01006596 </tr>
6597 </table>
6598 </td>
6599 <td class="mlabels-right">
6600<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6601 </tr>
6602</table>
6603</div><div class="memdoc">
6604
Jenkinsb3a371b2018-05-23 11:36:53 +01006605<p>CPU models - we only need to detect CPUs we have microarchitecture-specific code for. </p>
6606<p>Architecture features are detected via HWCAPs. </p>
Kaizen8938bd32017-09-28 14:38:23 +01006607<table class="fieldtable">
Jenkinsb3a371b2018-05-23 11:36:53 +01006608<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b"></a>GENERIC&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006609</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006610<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006611</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006612<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"></a>A55r0&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006613</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006614<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"></a>A55r1&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006615</td></tr>
6616</table>
6617
Jenkinsb3a371b2018-05-23 11:36:53 +01006618<p>Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
6619<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>,</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">arm_compute::CPUModel::A53</a></div></div>
6620<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">arm_compute::CPUModel::A55r0</a></div></div>
6621<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">arm_compute::CPUModel::A55r1</a></div></div>
6622<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 +01006623</div><!-- fragment -->
6624</div>
6625</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006626<a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0"></a>
6627<div class="memitem">
6628<div class="memproto">
6629<table class="mlabels">
6630 <tr>
6631 <td class="mlabels-left">
6632 <table class="memname">
6633 <tr>
6634 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a></td>
6635 </tr>
6636 </table>
6637 </td>
6638 <td class="mlabels-right">
6639<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6640 </tr>
6641</table>
6642</div><div class="memdoc">
6643
6644<p>Supported tensor data layouts. </p>
6645<table class="fieldtable">
Jenkinsb3a371b2018-05-23 11:36:53 +01006646<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
6647<p>Unknown data layout. </p>
6648</td></tr>
6649<tr><td class="fieldname"><a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"></a>NCHW&#160;</td><td class="fielddoc">
6650<p>Num samples, channels, height, width. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006651</td></tr>
6652<tr><td class="fieldname"><a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"></a>NHWC&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006653<p>Num samples, height, width, channels. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006654</td></tr>
6655</table>
6656
6657<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00110">110</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006658<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</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>
6659<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
6660<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>
6661</div><!-- fragment -->
6662</div>
6663</div>
6664<a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02"></a>
6665<div class="memitem">
6666<div class="memproto">
6667<table class="mlabels">
6668 <tr>
6669 <td class="mlabels-left">
6670 <table class="memname">
6671 <tr>
6672 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a></td>
6673 </tr>
6674 </table>
6675 </td>
6676 <td class="mlabels-right">
6677<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6678 </tr>
6679</table>
6680</div><div class="memdoc">
6681
6682<p>Supported tensor data layout dimensions. </p>
6683<table class="fieldtable">
6684<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229"></a>CHANNEL&#160;</td><td class="fielddoc">
6685<p>channel </p>
6686</td></tr>
6687<tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6"></a>HEIGHT&#160;</td><td class="fielddoc">
6688<p>height </p>
6689</td></tr>
6690<tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195"></a>WIDTH&#160;</td><td class="fielddoc">
6691<p>width </p>
6692</td></tr>
6693<tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a"></a>BATCHES&#160;</td><td class="fielddoc">
6694<p>batches </p>
6695</td></tr>
6696</table>
6697
6698<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00118">118</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6699<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; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</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>
6700<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>
6701<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>
6702<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 +00006703</div><!-- fragment -->
6704</div>
6705</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006706<a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
6707<div class="memitem">
6708<div class="memproto">
6709<table class="mlabels">
6710 <tr>
6711 <td class="mlabels-left">
6712 <table class="memname">
6713 <tr>
6714 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
6715 </tr>
6716 </table>
6717 </td>
6718 <td class="mlabels-right">
6719<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6720 </tr>
6721</table>
6722</div><div class="memdoc">
6723
6724<p>Available data types. </p>
6725<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006726<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006727<p>Unknown data type. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006728</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006729<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006730<p>unsigned 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006731</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006732<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006733<p>signed 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006734</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006735<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"></a>QS8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006736<p>quantized, symmetric fixed-point 8-bit number </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006737</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006738<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006739<p>quantized, asymmetric fixed-point 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006740</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006741<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006742<p>unsigned 16-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006743</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006744<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006745<p>signed 16-bit number </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006746</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006747<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"></a>QS16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006748<p>quantized, symmetric fixed-point 16-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006749</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006750<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006751<p>unsigned 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006752</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006753<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006754<p>signed 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006755</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006756<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"></a>QS32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006757<p>quantized, symmetric fixed-point 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006758</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006759<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006760<p>unsigned 64-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006761</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006762<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006763<p>signed 64-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006764</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006765<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006766<p>16-bit floating-point number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006767</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006768<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006769<p>32-bit floating-point number </p>
Kaizen8938bd32017-09-28 14:38:23 +01006770</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006771<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006772<p>64-bit floating-point number </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006773</td></tr>
6774<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006775<p>size_t </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006776</td></tr>
6777</table>
6778
Anthony Barbier06ea0482018-02-22 15:45:35 +00006779<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00072">72</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006780<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</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#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">arm_compute::DataType::QS16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number </div></div>
6781<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">arm_compute::DataType::QS8</a></div><div class="ttdoc">quantized, symmetric fixed-point 8-bit number </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006782<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>
6783<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>
6784<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>
6785<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>
6786<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 +01006787<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>
6788<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 +00006789<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 +01006790<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 +00006791<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 +01006792<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 +01006793<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">arm_compute::DataType::QS32</a></div><div class="ttdoc">quantized, symmetric fixed-point 32-bit number </div></div>
6794<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>
6795<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>
6796<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 +00006797</div><!-- fragment -->
6798</div>
6799</div>
6800<a class="anchor" id="a1fece1bd804e64f39f602d1c3969849a"></a>
6801<div class="memitem">
6802<div class="memproto">
6803<table class="mlabels">
6804 <tr>
6805 <td class="mlabels-left">
6806 <table class="memname">
6807 <tr>
6808 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
6809 </tr>
6810 </table>
6811 </td>
6812 <td class="mlabels-right">
6813<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6814 </tr>
6815</table>
6816</div><div class="memdoc">
6817
6818<p>Dimension rounding type when down-scaling on CNNs. </p>
6819<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
6820<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006821<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006822<p>Floor rounding. </p>
6823</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006824<tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006825<p>Ceil rounding. </p>
6826</td></tr>
6827</table>
6828
Jenkinsb3a371b2018-05-23 11:36:53 +01006829<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00556">556</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6830<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</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 +00006831<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>
6832</div><!-- fragment -->
6833</div>
6834</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006835<a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05f"></a>
6836<div class="memitem">
6837<div class="memproto">
6838<table class="mlabels">
6839 <tr>
6840 <td class="mlabels-left">
6841 <table class="memname">
6842 <tr>
6843 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a></td>
6844 </tr>
6845 </table>
6846 </td>
6847 <td class="mlabels-right">
6848<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6849 </tr>
6850</table>
6851</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006852
6853<p>Available error codes. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006854<table class="fieldtable">
6855<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"></a>OK&#160;</td><td class="fielddoc">
6856<p>No error. </p>
6857</td></tr>
6858<tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"></a>RUNTIME_ERROR&#160;</td><td class="fielddoc">
6859<p>Generic runtime error. </p>
6860</td></tr>
6861</table>
6862
Jenkinsb3a371b2018-05-23 11:36:53 +01006863<p>Definition at line <a class="el" href="_error_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_error_8h_source.xhtml">Error.h</a>.</p>
6864<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;};</div><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 +00006865<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>
6866</div><!-- fragment -->
6867</div>
6868</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006869<a class="anchor" id="afa20b6a7f4383003babd690f026f22dc"></a>
6870<div class="memitem">
6871<div class="memproto">
6872<table class="mlabels">
6873 <tr>
6874 <td class="mlabels-left">
6875 <table class="memname">
6876 <tr>
6877 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a></td>
6878 </tr>
6879 </table>
6880 </td>
6881 <td class="mlabels-right">
6882<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6883 </tr>
6884</table>
6885</div><div class="memdoc">
6886
6887<p>Fixed point operation. </p>
6888<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006889<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d"></a>ADD&#160;</td><td class="fielddoc">
Kaizenbf8b01d2017-10-12 14:26:51 +01006890<p>Addition. </p>
6891</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006892<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb"></a>SUB&#160;</td><td class="fielddoc">
Kaizenbf8b01d2017-10-12 14:26:51 +01006893<p>Subtraction. </p>
6894</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006895<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c"></a>MUL&#160;</td><td class="fielddoc">
Kaizenbf8b01d2017-10-12 14:26:51 +01006896<p>Multiplication. </p>
6897</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006898<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006899<p>Exponential. </p>
6900</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006901<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"></a>LOG&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006902<p>Logarithm. </p>
6903</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006904<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"></a>INV_SQRT&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006905<p>Inverse square root. </p>
6906</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006907<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"></a>RECIPROCAL&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006908<p>Reciprocal. </p>
6909</td></tr>
6910</table>
6911
Kaizen8938bd32017-09-28 14:38:23 +01006912<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006913<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="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#aa12973876c037bddff8e9ece94aca0e4a2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">arm_compute::FixedPointOp::LOG</a></div><div class="ttdoc">Logarithm. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006914<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">arm_compute::FixedPointOp::EXP</a></div><div class="ttdoc">Exponential. </div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +01006915<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006916<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">arm_compute::FixedPointOp::INV_SQRT</a></div><div class="ttdoc">Inverse square root. </div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +01006917<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006918<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">arm_compute::FixedPointOp::RECIPROCAL</a></div><div class="ttdoc">Reciprocal. </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006919<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_aa12973876c037bddff8e9ece94aca0e4a2cdf52a55876063ec93b7d18bc741f6c"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#aa12973876c037bddff8e9ece94aca0e4a2cdf52a55876063ec93b7d18bc741f6c">arm_compute::graph::EltwiseOperation::MUL</a></div><div class="ttdoc">Arithmetic multiplication. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006920</div><!-- fragment -->
6921</div>
6922</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006923<a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
6924<div class="memitem">
6925<div class="memproto">
6926<table class="mlabels">
6927 <tr>
6928 <td class="mlabels-left">
6929 <table class="memname">
6930 <tr>
6931 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
6932 </tr>
6933 </table>
6934 </td>
6935 <td class="mlabels-right">
6936<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6937 </tr>
6938</table>
6939</div><div class="memdoc">
6940
6941<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
6942<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006943<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006944<p>Unknown image format. </p>
6945</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006946<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006947<p>1 channel, 1 U8 per channel </p>
6948</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006949<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006950<p>1 channel, 1 S16 per channel </p>
6951</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006952<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006953<p>1 channel, 1 U16 per channel </p>
6954</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006955<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006956<p>1 channel, 1 S32 per channel </p>
6957</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006958<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006959<p>1 channel, 1 U32 per channel </p>
6960</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006961<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006962<p>1 channel, 1 F16 per channel </p>
6963</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006964<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006965<p>1 channel, 1 F32 per channel </p>
6966</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006967<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006968<p>2 channel, 1 U8 per channel </p>
6969</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006970<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006971<p>3 channels, 1 U8 per channel </p>
6972</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006973<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006974<p>4 channels, 1 U8 per channel </p>
6975</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006976<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006977<p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
6978</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006979<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006980<p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
6981</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006982<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006983<p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
6984</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006985<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006986<p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
6987</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006988<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006989<p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006990</td></tr>
6991<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422&#160;</td><td class="fielddoc">
6992<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006993</td></tr>
6994</table>
6995
Anthony Barbier06ea0482018-02-22 15:45:35 +00006996<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00050">50</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6997<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006998<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>
6999<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>
7000<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>
7001<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>
7002<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>
7003<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>
7004<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>
7005<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>
7006<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>
7007<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>
7008<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>
7009<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>
7010<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 +01007011<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 +00007012<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>
7013<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 +00007014</div><!-- fragment -->
7015</div>
7016</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007017<a class="anchor" id="a735ac6c2a02e320969625308810444f3"></a>
7018<div class="memitem">
7019<div class="memproto">
7020<table class="mlabels">
7021 <tr>
7022 <td class="mlabels-left">
7023 <table class="memname">
7024 <tr>
7025 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a></td>
7026 </tr>
7027 </table>
7028 </td>
7029 <td class="mlabels-right">
7030<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7031 </tr>
7032</table>
7033</div><div class="memdoc">
7034
7035<p>Available GPU Targets. </p>
7036<table class="fieldtable">
Jenkinsb3a371b2018-05-23 11:36:53 +01007037<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
7038</td></tr>
7039<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007040</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007041<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007042</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007043<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007044</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007045<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007046</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007047<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007048</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007049<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007050</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01007051<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"></a>G71&#160;</td><td class="fielddoc">
7052</td></tr>
7053<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"></a>G72&#160;</td><td class="fielddoc">
7054</td></tr>
7055<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0"></a>G51&#160;</td><td class="fielddoc">
7056</td></tr>
7057<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988"></a>G51BIG&#160;</td><td class="fielddoc">
7058</td></tr>
7059<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f"></a>G51LIT&#160;</td><td class="fielddoc">
7060</td></tr>
7061<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e"></a>TNOX&#160;</td><td class="fielddoc">
7062</td></tr>
7063<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"></a>TTRX&#160;</td><td class="fielddoc">
7064</td></tr>
7065<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc"></a>TBOX&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007066</td></tr>
7067</table>
7068
Jenkinsb3a371b2018-05-23 11:36:53 +01007069<p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
7070<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#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">TNOX</a> = 0x240,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x250,</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x260</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">arm_compute::GPUTarget::G71</a></div></div>
7071<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
7072<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 +01007073<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
7074<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01007075<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">arm_compute::GPUTarget::TNOX</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007076<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 +01007077<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">arm_compute::GPUTarget::G72</a></div></div>
7078<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
7079<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 +01007080<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 +01007081<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">arm_compute::GPUTarget::TTRX</a></div></div>
7082<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 +01007083<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">arm_compute::GPUTarget::BIFROST</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01007084<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 +01007085</div><!-- fragment -->
7086</div>
7087</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007088<a class="anchor" id="ae46abc5ecac309cbece5c06cb80daaf7"></a>
7089<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#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</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>Gradient dimension type. </p>
7107<table class="fieldtable">
7108<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc"></a>GRAD_XY&#160;</td><td class="fielddoc">
7109<p>x and y gradient dimension </p>
7110</td></tr>
7111</table>
7112
7113<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
7114<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; GRAD_X, </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; GRAD_Y, </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</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>
7115</div><!-- fragment -->
7116</div>
7117</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007118<a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
7119<div class="memitem">
7120<div class="memproto">
7121<table class="mlabels">
7122 <tr>
7123 <td class="mlabels-left">
7124 <table class="memname">
7125 <tr>
7126 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
7127 </tr>
7128 </table>
7129 </td>
7130 <td class="mlabels-right">
7131<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7132 </tr>
7133</table>
7134</div><div class="memdoc">
7135
7136<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>
7137<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007138<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007139<p>L2-norm. </p>
7140</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007141<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007142<p>L2-norm followed by clipping. </p>
7143</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007144<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007145<p>L1 norm. </p>
7146</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00007147</table>
7148
Jenkinsb3a371b2018-05-23 11:36:53 +01007149<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00530">530</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7150<div class="fragment"><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;{</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</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 +00007151<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>
7152<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 +00007153</div><!-- fragment -->
7154</div>
7155</div>
7156<a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
7157<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#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</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>Interpolation method. </p>
7175<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007176<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007177<p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
7178</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007179<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007180<p>Output values are defined by bilinear interpolation between the pixels. </p>
7181</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007182<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007183<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>
7184</td></tr>
7185</table>
7186
Jenkinsb3a371b2018-05-23 11:36:53 +01007187<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00388">388</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7188<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00393"></a><span class="lineno"> 393</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 +00007189<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>
7190<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>
7191</div><!-- fragment -->
7192</div>
7193</div>
7194<a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
7195<div class="memitem">
7196<div class="memproto">
7197<table class="mlabels">
7198 <tr>
7199 <td class="mlabels-left">
7200 <table class="memname">
7201 <tr>
7202 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
7203 </tr>
7204 </table>
7205 </td>
7206 <td class="mlabels-right">
7207<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7208 </tr>
7209</table>
7210</div><div class="memdoc">
7211
7212<p>Magnitude calculation type. </p>
7213<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007214<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007215<p>L1 normalization type. </p>
7216</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007217<tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007218<p>L2 normalization type. </p>
7219</td></tr>
7220</table>
7221
Jenkinsb3a371b2018-05-23 11:36:53 +01007222<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00418">418</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7223<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;{</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00422"></a><span class="lineno"> 422</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 +00007224<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>
7225</div><!-- fragment -->
7226</div>
7227</div>
Kaizen8938bd32017-09-28 14:38:23 +01007228<a class="anchor" id="af0a4d6be70322c742c12da1edccbb74d"></a>
7229<div class="memitem">
7230<div class="memproto">
7231<table class="mlabels">
7232 <tr>
7233 <td class="mlabels-left">
7234 <table class="memname">
7235 <tr>
7236 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a></td>
7237 </tr>
7238 </table>
7239 </td>
7240 <td class="mlabels-right">
7241<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7242 </tr>
7243</table>
7244</div><div class="memdoc">
7245
7246<p>Mapping type. </p>
7247<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007248<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01007249<p>Mappings are in blob granularity. </p>
7250</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007251<tr><td class="fieldname"><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01007252<p>Mappings are in offset granularity in the same blob. </p>
7253</td></tr>
7254</table>
7255
7256<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007257<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">arm_compute::MappingType::BLOBS</a></div><div class="ttdoc">Mappings are in blob granularity. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01007258<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>
7259</div><!-- fragment -->
7260</div>
7261</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007262<a class="anchor" id="afdda916edc7502967bbec17ea3c06c02"></a>
7263<div class="memitem">
7264<div class="memproto">
7265<table class="mlabels">
7266 <tr>
7267 <td class="mlabels-left">
7268 <table class="memname">
7269 <tr>
7270 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
7271 </tr>
7272 </table>
7273 </td>
7274 <td class="mlabels-right">
7275<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7276 </tr>
7277</table>
7278</div><div class="memdoc">
7279
7280<p>Available matrix patterns. </p>
7281<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007282<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007283<p>Box pattern matrix. </p>
7284</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007285<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007286<p>Cross pattern matrix. </p>
7287</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007288<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007289<p>Disk pattern matrix. </p>
7290</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007291<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007292<p>Any other matrix pattern. </p>
7293</td></tr>
7294</table>
7295
Jenkinsb3a371b2018-05-23 11:36:53 +01007296<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00498">498</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7297<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</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 +00007298<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>
7299<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>
7300<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>
7301</div><!-- fragment -->
7302</div>
7303</div>
7304<a class="anchor" id="adf2ced65e536375a1c96425d9fced858"></a>
7305<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#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</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>Available non linear functions. </p>
7323<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007324<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007325<p>Non linear median filter. </p>
7326</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007327<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007328<p>Non linear erode. </p>
7329</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007330<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007331<p>Non linear dilate. </p>
7332</td></tr>
7333</table>
7334
Jenkinsb3a371b2018-05-23 11:36:53 +01007335<p>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>
7336<div class="fragment"><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;{</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</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 +00007337<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>
7338<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>
7339</div><!-- fragment -->
7340</div>
7341</div>
7342<a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
7343<div class="memitem">
7344<div class="memproto">
7345<table class="mlabels">
7346 <tr>
7347 <td class="mlabels-left">
7348 <table class="memname">
7349 <tr>
7350 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
7351 </tr>
7352 </table>
7353 </td>
7354 <td class="mlabels-right">
7355<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7356 </tr>
7357</table>
7358</div><div class="memdoc">
7359
7360<p>The normalization type used for the normalization layer. </p>
7361<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007362<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007363<p>Normalization applied within the same map in 1D region. </p>
7364</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007365<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007366<p>Normalization applied within the same map in 2D region. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007367</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007368<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007369<p>Normalization applied cross maps. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007370</td></tr>
7371</table>
7372
Jenkinsb3a371b2018-05-23 11:36:53 +01007373<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00522">522</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7374<div class="fragment"><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;{</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</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 +01007375<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>
7376<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 +00007377</div><!-- fragment -->
7378</div>
7379</div>
7380<a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72"></a>
7381<div class="memitem">
7382<div class="memproto">
7383<table class="mlabels">
7384 <tr>
7385 <td class="mlabels-left">
7386 <table class="memname">
7387 <tr>
7388 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
7389 </tr>
7390 </table>
7391 </td>
7392 <td class="mlabels-right">
7393<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7394 </tr>
7395</table>
7396</div><div class="memdoc">
7397
7398<p>Phase calculation type. </p>
7399<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>
7400<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007401<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007402<p>Angle range: [0, 360]. </p>
7403</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007404<tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007405<p>Angle range: [0, 180]. </p>
7406</td></tr>
7407</table>
7408
Jenkinsb3a371b2018-05-23 11:36:53 +01007409<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00428">428</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7410<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; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00432"></a><span class="lineno"> 432</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 +00007411<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>
7412</div><!-- fragment -->
7413</div>
7414</div>
7415<a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93"></a>
7416<div class="memitem">
7417<div class="memproto">
7418<table class="mlabels">
7419 <tr>
7420 <td class="mlabels-left">
7421 <table class="memname">
7422 <tr>
7423 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
7424 </tr>
7425 </table>
7426 </td>
7427 <td class="mlabels-right">
7428<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7429 </tr>
7430</table>
7431</div><div class="memdoc">
7432
7433<p>Available pooling types. </p>
7434<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007435<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007436<p>Max Pooling. </p>
7437</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007438<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007439<p>Average Pooling. </p>
7440</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007441<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01007442<p>L2 Pooling. </p>
7443</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00007444</table>
7445
Jenkinsb3a371b2018-05-23 11:36:53 +01007446<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00563">563</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7447<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#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00568"></a><span class="lineno"> 568</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 +01007448<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 +00007449<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>
7450</div><!-- fragment -->
7451</div>
7452</div>
Kaizen8938bd32017-09-28 14:38:23 +01007453<a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45b"></a>
7454<div class="memitem">
7455<div class="memproto">
7456<table class="mlabels">
7457 <tr>
7458 <td class="mlabels-left">
7459 <table class="memname">
7460 <tr>
7461 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a></td>
7462 </tr>
7463 </table>
7464 </td>
7465 <td class="mlabels-right">
7466<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7467 </tr>
7468</table>
7469</div><div class="memdoc">
7470
7471<p>Available reduction operations. </p>
7472<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007473<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01007474<p>Sum of squares. </p>
7475</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007476<tr><td class="fieldname"><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01007477<p>Sum. </p>
7478</td></tr>
7479</table>
7480
Jenkinsb3a371b2018-05-23 11:36:53 +01007481<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00515">515</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7482<div class="fragment"><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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 +01007483<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>
7484</div><!-- fragment -->
7485</div>
7486</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007487<a class="anchor" id="add6426cbf2e057a195846d4ba09a50be"></a>
7488<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#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</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>Rounding method. </p>
7506<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007507<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007508<p>Truncates the least significand values that are lost in operations. </p>
7509</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007510<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP&#160;</td><td class="fielddoc">
7511<p>Rounds to nearest value; half rounds away from zero. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007512</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007513<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007514<p>Rounds to nearest value; half rounds to nearest even. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007515</td></tr>
7516</table>
7517
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007518<p>Definition at line <a class="el" href="_rounding_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_rounding_8h_source.xhtml">Rounding.h</a>.</p>
7519<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 +01007520<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 +00007521<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>
7522</div><!-- fragment -->
7523</div>
7524</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007525<a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7b"></a>
7526<div class="memitem">
7527<div class="memproto">
7528<table class="mlabels">
7529 <tr>
7530 <td class="mlabels-left">
7531 <table class="memname">
7532 <tr>
7533 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a></td>
7534 </tr>
7535 </table>
7536 </td>
7537 <td class="mlabels-right">
7538<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7539 </tr>
7540</table>
7541</div><div class="memdoc">
7542
7543<p>Available Sampling Policies. </p>
7544<table class="fieldtable">
7545<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e"></a>CENTER&#160;</td><td class="fielddoc">
7546<p>Samples are taken at pixel center. </p>
7547</td></tr>
7548<tr><td class="fieldname"><a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1"></a>TOP_LEFT&#160;</td><td class="fielddoc">
7549<p>Samples are taken at pixel top left corner. </p>
7550</td></tr>
7551</table>
7552
Anthony Barbier06ea0482018-02-22 15:45:35 +00007553<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00094">94</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7554<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; <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</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 +00007555<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>
7556</div><!-- fragment -->
7557</div>
7558</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007559<a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
7560<div class="memitem">
7561<div class="memproto">
7562<table class="mlabels">
7563 <tr>
7564 <td class="mlabels-left">
7565 <table class="memname">
7566 <tr>
7567 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
7568 </tr>
7569 </table>
7570 </td>
7571 <td class="mlabels-right">
7572<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7573 </tr>
7574</table>
7575</div><div class="memdoc">
7576
7577<p>Termination criteria. </p>
7578<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007579<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01007580<p>Terminate when within epsilon of a threshold. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007581</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007582<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01007583<p>Terminate after a maximum number of iterations. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007584</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007585<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01007586<p>Terminate on whichever of the other conditions occurs first. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007587</td></tr>
7588</table>
7589
Jenkinsb3a371b2018-05-23 11:36:53 +01007590<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00410">410</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7591<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="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, </div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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>
7592<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>
7593<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 +00007594</div><!-- fragment -->
7595</div>
7596</div>
7597<a class="anchor" id="a3e6b23e675649b83240691abbc42a649"></a>
7598<div class="memitem">
7599<div class="memproto">
7600<table class="mlabels">
7601 <tr>
7602 <td class="mlabels-left">
7603 <table class="memname">
7604 <tr>
7605 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
7606 </tr>
7607 </table>
7608 </td>
7609 <td class="mlabels-right">
7610<span class="mlabels"><span class="mlabel">strong</span></span> </td>
7611 </tr>
7612</table>
7613</div><div class="memdoc">
7614
7615<p>Threshold mode. </p>
7616<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007617<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007618<p>Threshold with one value. </p>
7619</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007620<tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007621<p>Threshold with two values. </p>
7622</td></tr>
7623</table>
7624
Jenkinsb3a371b2018-05-23 11:36:53 +01007625<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00403">403</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
7626<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00407"></a><span class="lineno"> 407</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 +00007627<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>
7628</div><!-- fragment -->
7629</div>
7630</div>
7631<h2 class="groupheader">Function Documentation</h2>
7632<a class="anchor" id="a41c1523098580451b378f76b8c37a0f0"></a>
7633<div class="memitem">
7634<div class="memproto">
7635<table class="mlabels">
7636 <tr>
7637 <td class="mlabels-left">
7638 <table class="memname">
7639 <tr>
7640 <td class="memname">int arm_compute::adjust_down </td>
7641 <td>(</td>
7642 <td class="paramtype">int&#160;</td>
7643 <td class="paramname"><em>required</em>, </td>
7644 </tr>
7645 <tr>
7646 <td class="paramkey"></td>
7647 <td></td>
7648 <td class="paramtype">int&#160;</td>
7649 <td class="paramname"><em>available</em>, </td>
7650 </tr>
7651 <tr>
7652 <td class="paramkey"></td>
7653 <td></td>
7654 <td class="paramtype">int&#160;</td>
7655 <td class="paramname"><em>step</em>&#160;</td>
7656 </tr>
7657 <tr>
7658 <td></td>
7659 <td>)</td>
7660 <td></td><td></td>
7661 </tr>
7662 </table>
7663 </td>
7664 <td class="mlabels-right">
7665<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7666 </tr>
7667</table>
7668</div><div class="memdoc">
7669
7670<p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
7671<dl class="params"><dt>Parameters</dt><dd>
7672 <table class="params">
7673 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
7674 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
7675 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
7676 </table>
7677 </dd>
7678</dl>
7679<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>
7680
7681<p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
7682
Jenkinsb3a371b2018-05-23 11:36:53 +01007683<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
7684<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#l00328">Error.h:328</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007685</div><!-- fragment -->
7686</div>
7687</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007688<a class="anchor" id="add7f7487c235331a6518dd16ad1e3b38"></a>
7689<div class="memitem">
7690<div class="memproto">
7691<table class="mlabels">
7692 <tr>
7693 <td class="mlabels-left">
7694 <table class="memname">
7695 <tr>
7696 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::adjust_odd_shape </td>
7697 <td>(</td>
7698 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
7699 <td class="paramname"><em>shape</em>, </td>
7700 </tr>
7701 <tr>
7702 <td class="paramkey"></td>
7703 <td></td>
7704 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
7705 <td class="paramname"><em>format</em>&#160;</td>
7706 </tr>
7707 <tr>
7708 <td></td>
7709 <td>)</td>
7710 <td></td><td></td>
7711 </tr>
7712 </table>
7713 </td>
7714 <td class="mlabels-right">
7715<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7716 </tr>
7717</table>
7718</div><div class="memdoc">
7719
7720<p>Adjust tensor shape size if width or height are odd for a given multi-planar format. </p>
7721<p>No modification is done for other formats.</p>
7722<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>
7723<dl class="params"><dt>Parameters</dt><dd>
7724 <table class="params">
7725 <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 +01007726 <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 +00007727 </table>
7728 </dd>
7729</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01007730<dl class="section return"><dt>Returns</dt><dd>The adjusted tensor shape. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007731
Jenkinsb3a371b2018-05-23 11:36:53 +01007732<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">688</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 +00007733
Jenkinsb3a371b2018-05-23 11:36:53 +01007734<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00563">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 +00007735
Jenkinsb3a371b2018-05-23 11:36:53 +01007736<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>.</p>
7737<div class="fragment"><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; TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</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; <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="l00693"></a><span class="lineno"> 693</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="l00694"></a><span class="lineno"> 694</span>&#160; {</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</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="l00696"></a><span class="lineno"> 696</span>&#160; }</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; <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="l00699"></a><span class="lineno"> 699</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="l00700"></a><span class="lineno"> 700</span>&#160; {</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</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="l00702"></a><span class="lineno"> 702</span>&#160; }</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
7738<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#l00563">Utils.h:563</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007739<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01007740<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#l00552">Utils.h:552</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007741</div><!-- fragment -->
7742</div>
7743</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007744<a class="anchor" id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
7745<div class="memitem">
7746<div class="memproto">
7747<table class="mlabels">
7748 <tr>
7749 <td class="mlabels-left">
7750 <table class="memname">
7751 <tr>
7752 <td class="memname">int arm_compute::adjust_up </td>
7753 <td>(</td>
7754 <td class="paramtype">int&#160;</td>
7755 <td class="paramname"><em>required</em>, </td>
7756 </tr>
7757 <tr>
7758 <td class="paramkey"></td>
7759 <td></td>
7760 <td class="paramtype">int&#160;</td>
7761 <td class="paramname"><em>available</em>, </td>
7762 </tr>
7763 <tr>
7764 <td class="paramkey"></td>
7765 <td></td>
7766 <td class="paramtype">int&#160;</td>
7767 <td class="paramname"><em>step</em>&#160;</td>
7768 </tr>
7769 <tr>
7770 <td></td>
7771 <td>)</td>
7772 <td></td><td></td>
7773 </tr>
7774 </table>
7775 </td>
7776 <td class="mlabels-right">
7777<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7778 </tr>
7779</table>
7780</div><div class="memdoc">
7781
7782<p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
7783<dl class="params"><dt>Parameters</dt><dd>
7784 <table class="params">
7785 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
7786 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
7787 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
7788 </table>
7789 </dd>
7790</dl>
7791<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>
7792
7793<p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00063">63</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
7794
Jenkinsb3a371b2018-05-23 11:36:53 +01007795<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
7796<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#l00328">Error.h:328</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007797</div><!-- fragment -->
7798</div>
7799</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01007800<a class="anchor" id="aa63c4dc1d1e43b7e57fadcb3e3e93580"></a>
7801<div class="memitem">
7802<div class="memproto">
7803<table class="mlabels">
7804 <tr>
7805 <td class="mlabels-left">
7806 <table class="memname">
7807 <tr>
7808 <td class="memname">void arm_compute::allocate_workspace </td>
7809 <td>(</td>
7810 <td class="paramtype">size_t&#160;</td>
7811 <td class="paramname"><em>workspace_size</em>, </td>
7812 </tr>
7813 <tr>
7814 <td class="paramkey"></td>
7815 <td></td>
7816 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;&#160;</td>
7817 <td class="paramname"><em>workspace</em>, </td>
7818 </tr>
7819 <tr>
7820 <td class="paramkey"></td>
7821 <td></td>
7822 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> *&#160;</td>
7823 <td class="paramname"><em>memory_group</em>, </td>
7824 </tr>
7825 <tr>
7826 <td class="paramkey"></td>
7827 <td></td>
7828 <td class="paramtype">size_t&#160;</td>
7829 <td class="paramname"><em>alignment</em>, </td>
7830 </tr>
7831 <tr>
7832 <td class="paramkey"></td>
7833 <td></td>
7834 <td class="paramtype">unsigned int&#160;</td>
7835 <td class="paramname"><em>num_threads</em>&#160;</td>
7836 </tr>
7837 <tr>
7838 <td></td>
7839 <td>)</td>
7840 <td></td><td></td>
7841 </tr>
7842 </table>
7843 </td>
7844 <td class="mlabels-right">
7845<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7846 </tr>
7847</table>
7848</div><div class="memdoc">
7849
7850<p>Allocate a workspace tensor. </p>
7851<dl class="params"><dt>Parameters</dt><dd>
7852 <table class="params">
7853 <tr><td class="paramdir">[in]</td><td class="paramname">workspace_size</td><td>Size to allocate. </td></tr>
7854 <tr><td class="paramdir">[out]</td><td class="paramname">workspace</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to allocate. </td></tr>
7855 <tr><td class="paramdir">[in]</td><td class="paramname">memory_group</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> memory group. </td></tr>
7856 <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Workspace memory alignment. </td></tr>
7857 <tr><td class="paramdir">[in]</td><td class="paramname">num_threads</td><td>Number of workspace threads. </td></tr>
7858 </table>
7859 </dd>
7860</dl>
7861
7862<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
7863
7864<p>References <a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml#a6e509c2a177b0b29e9e2369535094dee">TensorAllocator::allocate()</a>, <a class="el" href="classarm__compute_1_1_tensor.xhtml#a531ec877bfc923dea3ab6f1be5e6e1ac">Tensor::allocator()</a>, <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00159">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml#a3014ce2f4215e8a44331aa5daf3ba0d4">TensorAllocator::init()</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>.</p>
7865
7866<p>Referenced by <a class="el" href="_assembly_helper_8h_source.xhtml#l00159">setup_assembly_kernel()</a>.</p>
7867<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; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(memory_group);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(workspace_size == 0, <span class="stringliteral">&quot;size cannot be 0&quot;</span>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; workspace.allocator()-&gt;init(TensorInfo(TensorShape{ (workspace_size + alignment - 1) * num_threads }, 1, DataType::S8));</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; workspace.allocator()-&gt;allocate();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><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#l00159">Error.h:159</a></div></div>
7868<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#l00319">Error.h:319</a></div></div>
7869</div><!-- fragment -->
7870</div>
7871</div>
7872<a class="anchor" id="a1faf3c8249d988fd152ab2dd16b029dc"></a>
7873<div class="memitem">
7874<div class="memproto">
7875 <table class="memname">
7876 <tr>
7877 <td class="memname">bool arm_compute::arm_non_uniform_workgroup_supported </td>
7878 <td>(</td>
7879 <td class="paramtype">const cl::Device &amp;&#160;</td>
7880 <td class="paramname"><em>device</em></td><td>)</td>
7881 <td></td>
7882 </tr>
7883 </table>
7884</div><div class="memdoc">
7885
7886<p>Helper function to check whether the arm_non_uniform_work_group_size extension is supported. </p>
7887<dl class="params"><dt>Parameters</dt><dd>
7888 <table class="params">
7889 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
7890 </table>
7891 </dd>
7892</dl>
7893<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
7894
7895</div>
7896</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007897<a class="anchor" id="a9a20062caae09fce4a567be558f9d702"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007898<div class="memitem">
7899<div class="memproto">
7900<table class="mlabels">
7901 <tr>
7902 <td class="mlabels-left">
7903 <table class="memname">
7904 <tr>
7905 <td class="memname">bool auto_init_if_empty </td>
7906 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007907 <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 +01007908 <td class="paramname"><em>info</em>, </td>
7909 </tr>
7910 <tr>
7911 <td class="paramkey"></td>
7912 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007913 <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 +01007914 <td class="paramname"><em>shape</em>, </td>
7915 </tr>
7916 <tr>
7917 <td class="paramkey"></td>
7918 <td></td>
7919 <td class="paramtype">int&#160;</td>
7920 <td class="paramname"><em>num_channels</em>, </td>
7921 </tr>
7922 <tr>
7923 <td class="paramkey"></td>
7924 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007925 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007926 <td class="paramname"><em>data_type</em>, </td>
7927 </tr>
7928 <tr>
7929 <td class="paramkey"></td>
7930 <td></td>
7931 <td class="paramtype">int&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007932 <td class="paramname"><em>fixed_point_position</em>, </td>
7933 </tr>
7934 <tr>
7935 <td class="paramkey"></td>
7936 <td></td>
7937 <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
7938 <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 +01007939 </tr>
7940 <tr>
7941 <td></td>
7942 <td>)</td>
7943 <td></td><td></td>
7944 </tr>
7945 </table>
7946 </td>
7947 <td class="mlabels-right">
7948<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7949 </tr>
7950</table>
7951</div><div class="memdoc">
7952
Jenkinsb3a371b2018-05-23 11:36:53 +01007953<p>Auto initialize the tensor info (shape, number of channels, data type and fixed point position) if the current assignment is empty. </p>
7954<dl class="params"><dt>Parameters</dt><dd>
7955 <table class="params">
7956 <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>
7957 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape. </td></tr>
7958 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>New number of channels. </td></tr>
7959 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type </td></tr>
7960 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>New fixed point position </td></tr>
7961 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>(Optional) New quantization info</td></tr>
7962 </table>
7963 </dd>
7964</dl>
7965<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
7966
Anthony Barbier06ea0482018-02-22 15:45:35 +00007967<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007968
Jenkinsb3a371b2018-05-23 11:36:53 +01007969<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</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#l00157">TensorShape::total_size()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007970
Jenkinsb3a371b2018-05-23 11:36:53 +01007971<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007972<div class="fragment"><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; <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="l00209"></a><span class="lineno"> 209</span>&#160; {</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_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</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_num_channels(num_channels);</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_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</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="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01007973<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00007974<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01007975</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01007976</div>
7977</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007978<a class="anchor" id="a5844c8e025388ddd8c3afc5c3f7a3256"></a>
7979<div class="memitem">
7980<div class="memproto">
7981<table class="mlabels">
7982 <tr>
7983 <td class="mlabels-left">
7984 <table class="memname">
7985 <tr>
7986 <td class="memname">bool auto_init_if_empty </td>
7987 <td>(</td>
7988 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
7989 <td class="paramname"><em>info_sink</em>, </td>
7990 </tr>
7991 <tr>
7992 <td class="paramkey"></td>
7993 <td></td>
7994 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
7995 <td class="paramname"><em>info_source</em>&#160;</td>
7996 </tr>
7997 <tr>
7998 <td></td>
7999 <td>)</td>
8000 <td></td><td></td>
8001 </tr>
8002 </table>
8003 </td>
8004 <td class="mlabels-right">
8005<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8006 </tr>
8007</table>
8008</div><div class="memdoc">
8009
8010<p>Auto initialize the tensor info using another tensor info. </p>
8011<dl class="params"><dt>Parameters</dt><dd>
8012 <table class="params">
8013 <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>
8014 <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>
8015 </table>
8016 </dd>
8017</dl>
8018<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
8019
Anthony Barbier06ea0482018-02-22 15:45:35 +00008020<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00221">221</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008021
Jenkinsb3a371b2018-05-23 11:36:53 +01008022<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</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#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</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#l00157">TensorShape::total_size()</a>.</p>
8023<div class="fragment"><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="keywordflow">if</span>(info_sink.tensor_shape().total_size() == 0)</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; info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; info_sink.set_fixed_point_position(info_source.fixed_point_position());</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; info_sink.set_data_layout(info_source.data_layout());</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008024</div>
8025</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008026<a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
8027<div class="memitem">
8028<div class="memproto">
8029 <table class="memname">
8030 <tr>
8031 <td class="memname">std::string arm_compute::build_information </td>
8032 <td>(</td>
8033 <td class="paramname"></td><td>)</td>
8034 <td></td>
8035 </tr>
8036 </table>
8037</div><div class="memdoc">
8038
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008039<p>Returns the <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008040<p>Contains the version number and the build options used to build the library</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008041<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information </dd></dl>
8042
Jenkinsb3a371b2018-05-23 11:36:53 +01008043<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">floor_to_multiple()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008044
Anthony Barbier871448e2017-03-24 14:54:29 +00008045</div>
8046</div>
Kaizenbf8b01d2017-10-12 14:26:51 +01008047<a class="anchor" id="a075313545533c34978309ed57d18333f"></a>
8048<div class="memitem">
8049<div class="memproto">
8050 <table class="memname">
8051 <tr>
8052 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::calculate_depth_concatenate_shape </td>
8053 <td>(</td>
8054 <td class="paramtype">const std::vector&lt; T * &gt; &amp;&#160;</td>
8055 <td class="paramname"><em>inputs_vector</em></td><td>)</td>
8056 <td></td>
8057 </tr>
8058 </table>
8059</div><div class="memdoc">
8060
8061<p>Calculate the output shapes of the depth concatenate function. </p>
8062<dl class="params"><dt>Parameters</dt><dd>
8063 <table class="params">
8064 <tr><td class="paramdir">[in]</td><td class="paramname">inputs_vector</td><td>The vector that stores all the pointers to input.</td></tr>
8065 </table>
8066 </dd>
8067</dl>
8068<dl class="section return"><dt>Returns</dt><dd>the output shape </dd></dl>
8069
Jenkinsb3a371b2018-05-23 11:36:53 +01008070<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00651">651</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01008071
Jenkinsb3a371b2018-05-23 11:36:53 +01008072<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions&lt; T &gt;::z()</a>.</p>
8073<div class="fragment"><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;{</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; TensorShape out_shape = inputs_vector[0]-&gt;info()-&gt;tensor_shape();</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordtype">size_t</span> max_x = 0;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordtype">size_t</span> max_y = 0;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordtype">size_t</span> depth = 0;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;tensor : inputs_vector)</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; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keyword">const</span> TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = tensor-&gt;info()-&gt;tensor_shape();</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; max_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.x(), max_x);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; max_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.y(), max_y);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; depth += shape.z();</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;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; out_shape.set(0, max_x);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; out_shape.set(1, max_y);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; out_shape.set(2, depth);</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">return</span> out_shape;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
8074<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#l00328">Error.h:328</a></div></div>
8075<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +01008076</div><!-- fragment -->
8077</div>
8078</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008079<a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
8080<div class="memitem">
8081<div class="memproto">
8082<table class="mlabels">
8083 <tr>
8084 <td class="mlabels-left">
8085 <table class="memname">
8086 <tr>
8087 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
8088 <td>(</td>
8089 <td class="paramtype">const int16_t *&#160;</td>
8090 <td class="paramname"><em>matrix</em>, </td>
8091 </tr>
8092 <tr>
8093 <td class="paramkey"></td>
8094 <td></td>
8095 <td class="paramtype">unsigned int&#160;</td>
8096 <td class="paramname"><em>matrix_size</em>&#160;</td>
8097 </tr>
8098 <tr>
8099 <td></td>
8100 <td>)</td>
8101 <td></td><td></td>
8102 </tr>
8103 </table>
8104 </td>
8105 <td class="mlabels-right">
8106<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8107 </tr>
8108</table>
8109</div><div class="memdoc">
8110
8111<p>Calculate the scale of the given square matrix. </p>
8112<p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
8113<dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
8114<dl class="params"><dt>Parameters</dt><dd>
8115 <table class="params">
8116 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
8117 <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>
8118 </table>
8119 </dd>
8120</dl>
8121<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>
8122
Jenkinsb3a371b2018-05-23 11:36:53 +01008123<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00637">637</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 +00008124
Jenkinsb3a371b2018-05-23 11:36:53 +01008125<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>.</p>
8126<div class="fragment"><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;{</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(1, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">std::abs</a>(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</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>
8127<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
8128<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point&lt; T &gt; abs(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">FixedPoint.h:927</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008129</div><!-- fragment -->
8130</div>
8131</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008132<a class="anchor" id="a2bbb5d1cdb27c0e8c517cb7c544226c6"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008133<div class="memitem">
8134<div class="memproto">
8135 <table class="memname">
8136 <tr>
8137 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
8138 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008139 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
8140 <td class="paramname"><em>valid_region</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008141 </tr>
8142 <tr>
8143 <td class="paramkey"></td>
8144 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008145 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8146 <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 +01008147 </tr>
8148 <tr>
8149 <td class="paramkey"></td>
8150 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008151 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8152 <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 +01008153 </tr>
8154 <tr>
8155 <td></td>
8156 <td>)</td>
8157 <td></td><td></td>
8158 </tr>
8159 </table>
8160</div><div class="memdoc">
8161
8162<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8163<p>The window will also includes the border.</p>
8164<dl class="params"><dt>Parameters</dt><dd>
8165 <table class="params">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008166 <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>
8167 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8168 <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>
8169 </table>
8170 </dd>
8171</dl>
8172<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8173
Jenkinsb3a371b2018-05-23 11:36:53 +01008174<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">calculate_max_enlarged_window()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008175
8176</div>
8177</div>
8178<a class="anchor" id="afcdda83b6a85d5798f08d92c0e235e2e"></a>
8179<div class="memitem">
8180<div class="memproto">
8181<table class="mlabels">
8182 <tr>
8183 <td class="mlabels-left">
8184 <table class="memname">
8185 <tr>
8186 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
8187 <td>(</td>
8188 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
8189 <td class="paramname"><em>info</em>, </td>
8190 </tr>
8191 <tr>
8192 <td class="paramkey"></td>
8193 <td></td>
8194 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8195 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
8196 </tr>
8197 <tr>
8198 <td class="paramkey"></td>
8199 <td></td>
8200 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8201 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
8202 </tr>
8203 <tr>
8204 <td></td>
8205 <td>)</td>
8206 <td></td><td></td>
8207 </tr>
8208 </table>
8209 </td>
8210 <td class="mlabels-right">
8211<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8212 </tr>
8213</table>
8214</div><div class="memdoc">
8215
8216<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8217<p>The window will also includes the border.</p>
8218<dl class="params"><dt>Parameters</dt><dd>
8219 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +01008220 <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>
8221 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8222 <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>
8223 </table>
8224 </dd>
8225</dl>
8226<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8227
Jenkinsb3a371b2018-05-23 11:36:53 +01008228<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">457</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008229
8230<p>References <a class="el" href="namespacearm__compute.xhtml#a2bbb5d1cdb27c0e8c517cb7c544226c6">calculate_max_enlarged_window()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008231<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 +00008232<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>
8233</div><!-- fragment -->
8234</div>
8235</div>
8236<a class="anchor" id="a1c28e5916fd54b778da115bfe646f588"></a>
8237<div class="memitem">
8238<div class="memproto">
8239 <table class="memname">
8240 <tr>
8241 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
8242 <td>(</td>
8243 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
8244 <td class="paramname"><em>valid_region</em>, </td>
8245 </tr>
8246 <tr>
8247 <td class="paramkey"></td>
8248 <td></td>
8249 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8250 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
8251 </tr>
8252 <tr>
8253 <td class="paramkey"></td>
8254 <td></td>
8255 <td class="paramtype">bool&#160;</td>
8256 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8257 </tr>
8258 <tr>
8259 <td class="paramkey"></td>
8260 <td></td>
8261 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8262 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
8263 </tr>
8264 <tr>
8265 <td></td>
8266 <td>)</td>
8267 <td></td><td></td>
8268 </tr>
8269 </table>
8270</div><div class="memdoc">
8271
8272<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8273<dl class="params"><dt>Parameters</dt><dd>
8274 <table class="params">
8275 <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>
8276 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8277 <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>
8278 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
8279 </table>
8280 </dd>
8281</dl>
8282<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8283
Jenkinsb3a371b2018-05-23 11:36:53 +01008284<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">update_window_and_padding()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008285
Anthony Barbierdbdab852017-06-23 15:42:00 +01008286</div>
8287</div>
8288<a class="anchor" id="aa2117aef4381edbdf81e17ec088df7f1"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008289<div class="memitem">
8290<div class="memproto">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008291<table class="mlabels">
8292 <tr>
8293 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00008294 <table class="memname">
8295 <tr>
8296 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
8297 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008298 <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 +00008299 <td class="paramname"><em>info</em>, </td>
8300 </tr>
8301 <tr>
8302 <td class="paramkey"></td>
8303 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008304 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8305 <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 +00008306 </tr>
8307 <tr>
8308 <td class="paramkey"></td>
8309 <td></td>
8310 <td class="paramtype">bool&#160;</td>
8311 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8312 </tr>
8313 <tr>
8314 <td class="paramkey"></td>
8315 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008316 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8317 <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 +00008318 </tr>
8319 <tr>
8320 <td></td>
8321 <td>)</td>
8322 <td></td><td></td>
8323 </tr>
8324 </table>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008325 </td>
8326 <td class="mlabels-right">
8327<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8328 </tr>
8329</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00008330</div><div class="memdoc">
8331
8332<p>Calculate the maximum window for a given tensor shape and border setting. </p>
8333<dl class="params"><dt>Parameters</dt><dd>
8334 <table class="params">
8335 <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>
8336 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8337 <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>
8338 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
8339 </table>
8340 </dd>
8341</dl>
8342<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8343
Jenkinsb3a371b2018-05-23 11:36:53 +01008344<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">409</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008345
8346<p>References <a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a252e257c58bfccbb272c0a5bf81d42cb">calculate_max_window_horizontal()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008347<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>
8348<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 +00008349</div><!-- fragment -->
8350</div>
8351</div>
8352<a class="anchor" id="a252e257c58bfccbb272c0a5bf81d42cb"></a>
8353<div class="memitem">
8354<div class="memproto">
8355 <table class="memname">
8356 <tr>
8357 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
8358 <td>(</td>
8359 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
8360 <td class="paramname"><em>valid_region</em>, </td>
8361 </tr>
8362 <tr>
8363 <td class="paramkey"></td>
8364 <td></td>
8365 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8366 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
8367 </tr>
8368 <tr>
8369 <td class="paramkey"></td>
8370 <td></td>
8371 <td class="paramtype">bool&#160;</td>
8372 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8373 </tr>
8374 <tr>
8375 <td class="paramkey"></td>
8376 <td></td>
8377 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8378 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
8379 </tr>
8380 <tr>
8381 <td></td>
8382 <td>)</td>
8383 <td></td><td></td>
8384 </tr>
8385 </table>
8386</div><div class="memdoc">
8387
8388<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
8389<dl class="params"><dt>Parameters</dt><dd>
8390 <table class="params">
8391 <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>
8392 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8393 <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>
8394 <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>
8395 </table>
8396 </dd>
8397</dl>
8398<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8399
Jenkinsb3a371b2018-05-23 11:36:53 +01008400<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008401
Anthony Barbier871448e2017-03-24 14:54:29 +00008402</div>
8403</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008404<a class="anchor" id="a47456b4d520aee1cba80bf6e20f6685a"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008405<div class="memitem">
8406<div class="memproto">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008407<table class="mlabels">
8408 <tr>
8409 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00008410 <table class="memname">
8411 <tr>
8412 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
8413 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008414 <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 +00008415 <td class="paramname"><em>info</em>, </td>
8416 </tr>
8417 <tr>
8418 <td class="paramkey"></td>
8419 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008420 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
8421 <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 +00008422 </tr>
8423 <tr>
8424 <td class="paramkey"></td>
8425 <td></td>
8426 <td class="paramtype">bool&#160;</td>
8427 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
8428 </tr>
8429 <tr>
8430 <td class="paramkey"></td>
8431 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008432 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
8433 <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 +00008434 </tr>
8435 <tr>
8436 <td></td>
8437 <td>)</td>
8438 <td></td><td></td>
8439 </tr>
8440 </table>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008441 </td>
8442 <td class="mlabels-right">
8443<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8444 </tr>
8445</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00008446</div><div class="memdoc">
8447
8448<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
8449<dl class="params"><dt>Parameters</dt><dd>
8450 <table class="params">
8451 <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>
8452 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
8453 <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 +00008454 <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 +00008455 </table>
8456 </dd>
8457</dl>
8458<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
8459
Jenkinsb3a371b2018-05-23 11:36:53 +01008460<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">434</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008461
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008462<p>References <a class="el" href="namespacearm__compute.xhtml#a2bbb5d1cdb27c0e8c517cb7c544226c6">calculate_max_enlarged_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a252e257c58bfccbb272c0a5bf81d42cb">calculate_max_window_horizontal()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008463<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>
8464<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 +00008465</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +01008466</div>
8467</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008468<a class="anchor" id="afa7962c747457714d0944af80cb07058"></a>
8469<div class="memitem">
8470<div class="memproto">
8471 <table class="memname">
8472 <tr>
8473 <td class="memname"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> arm_compute::calculate_same_pad </td>
8474 <td>(</td>
8475 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
8476 <td class="paramname"><em>input_shape</em>, </td>
8477 </tr>
8478 <tr>
8479 <td class="paramkey"></td>
8480 <td></td>
8481 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
8482 <td class="paramname"><em>weights_shape</em>, </td>
8483 </tr>
8484 <tr>
8485 <td class="paramkey"></td>
8486 <td></td>
8487 <td class="paramtype"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>&#160;</td>
8488 <td class="paramname"><em>conv_info</em>&#160;</td>
8489 </tr>
8490 <tr>
8491 <td></td>
8492 <td>)</td>
8493 <td></td><td></td>
8494 </tr>
8495 </table>
8496</div><div class="memdoc">
8497
8498<p>Calculate padding requirements in case of SAME padding. </p>
8499<dl class="params"><dt>Parameters</dt><dd>
8500 <table class="params">
8501 <tr><td class="paramdir">[in]</td><td class="paramname">input_shape</td><td>Input shape </td></tr>
8502 <tr><td class="paramdir">[in]</td><td class="paramname">weights_shape</td><td>Weights shape </td></tr>
8503 <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution information (containing strides)</td></tr>
8504 </table>
8505 </dd>
8506</dl>
8507<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>
8508
Jenkinsb3a371b2018-05-23 11:36:53 +01008509<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008510
8511</div>
8512</div>
8513<a class="anchor" id="a9d714e1b7d9d7818309138b7d830ebcb"></a>
8514<div class="memitem">
8515<div class="memproto">
8516<table class="mlabels">
8517 <tr>
8518 <td class="mlabels-left">
8519 <table class="memname">
8520 <tr>
8521 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::calculate_subsampled_shape </td>
8522 <td>(</td>
8523 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
8524 <td class="paramname"><em>shape</em>, </td>
8525 </tr>
8526 <tr>
8527 <td class="paramkey"></td>
8528 <td></td>
8529 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
8530 <td class="paramname"><em>format</em>, </td>
8531 </tr>
8532 <tr>
8533 <td class="paramkey"></td>
8534 <td></td>
8535 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
8536 <td class="paramname"><em>channel</em> = <code><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">Channel::UNKNOWN</a></code>&#160;</td>
8537 </tr>
8538 <tr>
8539 <td></td>
8540 <td>)</td>
8541 <td></td><td></td>
8542 </tr>
8543 </table>
8544 </td>
8545 <td class="mlabels-right">
8546<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8547 </tr>
8548</table>
8549</div><div class="memdoc">
8550
8551<p>Calculate subsampled shape for a given format and channel. </p>
8552<dl class="params"><dt>Parameters</dt><dd>
8553 <table class="params">
8554 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the tensor to calculate the extracted channel. </td></tr>
8555 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the tensor. </td></tr>
8556 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel to create tensor shape to be extracted.</td></tr>
8557 </table>
8558 </dd>
8559</dl>
8560<dl class="section return"><dt>Returns</dt><dd>The subsampled tensor shape. </dd></dl>
8561
Jenkinsb3a371b2018-05-23 11:36:53 +01008562<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">715</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 +00008563
Jenkinsb3a371b2018-05-23 11:36:53 +01008564<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00563">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 +00008565
Jenkinsb3a371b2018-05-23 11:36:53 +01008566<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::channel_extract()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
8567<div class="fragment"><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;{</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">if</span>(Channel::U == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; {</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00723"></a><span class="lineno"> 723</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="l00724"></a><span class="lineno"> 724</span>&#160; {</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; output.set(0, output.x() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; }</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00729"></a><span class="lineno"> 729</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="l00730"></a><span class="lineno"> 730</span>&#160; {</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; output.set(1, output.y() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</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; }</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; <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
8568<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#l00563">Utils.h:563</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008569<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01008570<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#l00552">Utils.h:552</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008571</div><!-- fragment -->
8572</div>
8573</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008574<a class="anchor" id="a4f83578a33b502bf6419ead091249423"></a>
Kaizen8938bd32017-09-28 14:38:23 +01008575<div class="memitem">
8576<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +01008577 <table class="memname">
8578 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01008579 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::calculate_valid_region_scale </td>
Kaizen8938bd32017-09-28 14:38:23 +01008580 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008581 <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 +01008582 <td class="paramname"><em>src_info</em>, </td>
8583 </tr>
8584 <tr>
8585 <td class="paramkey"></td>
8586 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008587 <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 +01008588 <td class="paramname"><em>dst_shape</em>, </td>
8589 </tr>
8590 <tr>
8591 <td class="paramkey"></td>
8592 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008593 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +01008594 <td class="paramname"><em>interpolate_policy</em>, </td>
Kaizen8938bd32017-09-28 14:38:23 +01008595 </tr>
8596 <tr>
8597 <td class="paramkey"></td>
8598 <td></td>
Jenkinsb3a371b2018-05-23 11:36:53 +01008599 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a>&#160;</td>
8600 <td class="paramname"><em>sampling_policy</em>, </td>
Kaizen8938bd32017-09-28 14:38:23 +01008601 </tr>
8602 <tr>
8603 <td class="paramkey"></td>
8604 <td></td>
8605 <td class="paramtype">bool&#160;</td>
8606 <td class="paramname"><em>border_undefined</em>&#160;</td>
8607 </tr>
8608 <tr>
8609 <td></td>
8610 <td>)</td>
8611 <td></td><td></td>
8612 </tr>
8613 </table>
Kaizen8938bd32017-09-28 14:38:23 +01008614</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00008615
Kaizen8938bd32017-09-28 14:38:23 +01008616<p>Helper function to calculate the Valid Region for Scale. </p>
8617<dl class="params"><dt>Parameters</dt><dd>
8618 <table class="params">
8619 <tr><td class="paramdir">[in]</td><td class="paramname">src_info</td><td>Input tensor info used to check. </td></tr>
8620 <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 +01008621 <tr><td class="paramdir">[in]</td><td class="paramname">interpolate_policy</td><td>Interpolation policy. </td></tr>
8622 <tr><td class="paramdir">[in]</td><td class="paramname">sampling_policy</td><td>Sampling policy. </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01008623 <tr><td class="paramdir">[in]</td><td class="paramname">border_undefined</td><td>True if the border is undefined.</td></tr>
8624 </table>
8625 </dd>
8626</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01008627<dl class="section return"><dt>Returns</dt><dd>The corresponding valid region </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +01008628
Jenkinsb3a371b2018-05-23 11:36:53 +01008629<p>Referenced by <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00072">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00121">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01008630
Anthony Barbier871448e2017-03-24 14:54:29 +00008631</div>
8632</div>
8633<a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
8634<div class="memitem">
8635<div class="memproto">
8636<table class="mlabels">
8637 <tr>
8638 <td class="mlabels-left">
8639 <table class="memname">
8640 <tr>
8641 <td class="memname">auto arm_compute::ceil_to_multiple </td>
8642 <td>(</td>
8643 <td class="paramtype">S&#160;</td>
8644 <td class="paramname"><em>value</em>, </td>
8645 </tr>
8646 <tr>
8647 <td class="paramkey"></td>
8648 <td></td>
8649 <td class="paramtype">T&#160;</td>
8650 <td class="paramname"><em>divisor</em>&#160;</td>
8651 </tr>
8652 <tr>
8653 <td></td>
8654 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +01008655 <td></td><td> -&gt; decltype(((value + divisor - 1) / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +00008656</td>
8657 </tr>
8658 </table>
8659 </td>
8660 <td class="mlabels-right">
8661<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8662 </tr>
8663</table>
8664</div><div class="memdoc">
8665
8666<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008667<dl class="params"><dt>Parameters</dt><dd>
8668 <table class="params">
8669 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Lower bound value </td></tr>
8670 <tr><td class="paramdir">[in]</td><td class="paramname">divisor</td><td>Value to compute multiple of.</td></tr>
8671 </table>
8672 </dd>
8673</dl>
8674<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008675
Jenkinsb3a371b2018-05-23 11:36:53 +01008676<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00064">64</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008677
Jenkinsb3a371b2018-05-23 11:36:53 +01008678<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">DIV_CEIL()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008679
Anthony Barbier06ea0482018-02-22 15:45:35 +00008680<p>Referenced by <a class="el" href="_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008681<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a>(value, divisor) * divisor;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
8682<div class="ttc" id="namespacearm__compute_xhtml_a12705a88669cb9fb90451ebe0db53c41"><div class="ttname"><a href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">arm_compute::DIV_CEIL</a></div><div class="ttdeci">constexpr auto DIV_CEIL(S val, T m) -&gt; decltype((val+m-1)/m)</div><div class="ttdoc">Calculate the rounded up quotient of val / m. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">Utils.h:51</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008683</div><!-- fragment -->
8684</div>
8685</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008686<a class="anchor" id="afab149f8d8b0f6405303ee8056fa77d3"></a>
8687<div class="memitem">
8688<div class="memproto">
8689<table class="mlabels">
8690 <tr>
8691 <td class="mlabels-left">
8692 <table class="memname">
8693 <tr>
8694 <td class="memname">int arm_compute::channel_idx_from_format </td>
8695 <td>(</td>
8696 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
8697 <td class="paramname"><em>format</em>, </td>
8698 </tr>
8699 <tr>
8700 <td class="paramkey"></td>
8701 <td></td>
8702 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
8703 <td class="paramname"><em>channel</em>&#160;</td>
8704 </tr>
8705 <tr>
8706 <td></td>
8707 <td>)</td>
8708 <td></td><td></td>
8709 </tr>
8710 </table>
8711 </td>
8712 <td class="mlabels-right">
8713<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8714 </tr>
8715</table>
8716</div><div class="memdoc">
8717
8718<p>Return the channel index of a given channel given an input format. </p>
8719<dl class="params"><dt>Parameters</dt><dd>
8720 <table class="params">
8721 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
8722 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
8723 </table>
8724 </dd>
8725</dl>
8726<dl class="section return"><dt>Returns</dt><dd>The channel index of the specific channel of the specific format </dd></dl>
8727
Jenkinsb3a371b2018-05-23 11:36:53 +01008728<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00318">318</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 +00008729
Jenkinsb3a371b2018-05-23 11:36:53 +01008730<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00260">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 +00008731
8732<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::channel_extract()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008733<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;{</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">switch</span>(format)</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; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</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="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</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; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> 3;</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;Not supported channel&quot;</span>);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</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="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">case</span> Channel::U:</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; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</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="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">case</span> Format::NV12:</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">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">case</span> Channel::U:</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; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</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="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</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="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">case</span> Channel::U:</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; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> 0;</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 channel&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="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</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="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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#l00260">Error.h:260</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00008734</div><!-- fragment -->
8735</div>
8736</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008737<a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
8738<div class="memitem">
8739<div class="memproto">
8740 <table class="memname">
8741 <tr>
8742 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
8743 <td>(</td>
8744 <td class="paramtype">const void *__restrict&#160;</td>
8745 <td class="paramname"><em>input</em>, </td>
8746 </tr>
8747 <tr>
8748 <td class="paramkey"></td>
8749 <td></td>
8750 <td class="paramtype">void *__restrict&#160;</td>
8751 <td class="paramname"><em>output</em>, </td>
8752 </tr>
8753 <tr>
8754 <td class="paramkey"></td>
8755 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008756 <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 +00008757 <td class="paramname"><em>win</em>&#160;</td>
8758 </tr>
8759 <tr>
8760 <td></td>
8761 <td>)</td>
8762 <td></td><td></td>
8763 </tr>
8764 </table>
8765</div><div class="memdoc">
8766
Jenkinsb3a371b2018-05-23 11:36:53 +01008767<p>Convert IYUV to NV12. </p>
8768<dl class="params"><dt>Parameters</dt><dd>
8769 <table class="params">
8770 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
8771 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
8772 <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>
8773 </table>
8774 </dd>
8775</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008776
Jenkinsb3a371b2018-05-23 11:36:53 +01008777<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">601</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8778
8779<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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#l00149">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>
8780<div class="fragment"><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;{</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; win.validate();</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; win_uv.validate();</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; {</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; uint8x16x2_t ta_uv;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; },</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008781<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008782</div><!-- fragment -->
8783</div>
8784</div>
8785<a class="anchor" id="a6e42fac1baa264b033ac430b63ebd145"></a>
8786<div class="memitem">
8787<div class="memproto">
8788 <table class="memname">
8789 <tr>
8790 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
8791 <td>(</td>
8792 <td class="paramtype">const void *__restrict&#160;</td>
8793 <td class="paramname"><em>input</em>, </td>
8794 </tr>
8795 <tr>
8796 <td class="paramkey"></td>
8797 <td></td>
8798 <td class="paramtype">void *__restrict&#160;</td>
8799 <td class="paramname"><em>output</em>, </td>
8800 </tr>
8801 <tr>
8802 <td class="paramkey"></td>
8803 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008804 <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 +00008805 <td class="paramname"><em>win</em>&#160;</td>
8806 </tr>
8807 <tr>
8808 <td></td>
8809 <td>)</td>
8810 <td></td><td></td>
8811 </tr>
8812 </table>
8813</div><div class="memdoc">
8814
Jenkinsb3a371b2018-05-23 11:36:53 +01008815<p>Convert IYUV to RGB. </p>
8816<dl class="params"><dt>Parameters</dt><dd>
8817 <table class="params">
8818 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
8819 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
8820 <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>
8821 </table>
8822 </dd>
8823</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008824
Jenkinsb3a371b2018-05-23 11:36:53 +01008825<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">482</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8826
8827<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">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="_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#l00149">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>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
8828<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;{</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; win.validate();</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; win_uv.validate();</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; convert_uint8x16_to_float32x4x4(ta_v, vvec);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, <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; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, <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; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; },</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; in_y, in_u, in_v, out);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008829<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008830<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00008831<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008832</div><!-- fragment -->
8833</div>
8834</div>
8835<a class="anchor" id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
8836<div class="memitem">
8837<div class="memproto">
8838 <table class="memname">
8839 <tr>
8840 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
8841 <td>(</td>
8842 <td class="paramtype">const void *__restrict&#160;</td>
8843 <td class="paramname"><em>input</em>, </td>
8844 </tr>
8845 <tr>
8846 <td class="paramkey"></td>
8847 <td></td>
8848 <td class="paramtype">void *__restrict&#160;</td>
8849 <td class="paramname"><em>output</em>, </td>
8850 </tr>
8851 <tr>
8852 <td class="paramkey"></td>
8853 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008854 <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 +00008855 <td class="paramname"><em>win</em>&#160;</td>
8856 </tr>
8857 <tr>
8858 <td></td>
8859 <td>)</td>
8860 <td></td><td></td>
8861 </tr>
8862 </table>
8863</div><div class="memdoc">
8864
Jenkinsb3a371b2018-05-23 11:36:53 +01008865<p>Convert IYUV to YUV4. </p>
8866<dl class="params"><dt>Parameters</dt><dd>
8867 <table class="params">
8868 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
8869 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
8870 <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>
8871 </table>
8872 </dd>
8873</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008874
Jenkinsb3a371b2018-05-23 11:36:53 +01008875<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">816</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8876
8877<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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#l00149">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>
8878<div class="fragment"><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;{</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; win.validate();</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; win_uv.validate();</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; {</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; uvec.val[0] = ta_u;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; uvec.val[1] = ta_u;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; vvec.val[0] = ta_v;</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; vvec.val[1] = ta_v;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; },</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008879<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008880</div><!-- fragment -->
8881</div>
8882</div>
8883<a class="anchor" id="a199d36780fbb4a70168f290480673650"></a>
8884<div class="memitem">
8885<div class="memproto">
8886 <table class="memname">
8887 <tr>
8888 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
8889 <td>(</td>
8890 <td class="paramtype">const void *__restrict&#160;</td>
8891 <td class="paramname"><em>input</em>, </td>
8892 </tr>
8893 <tr>
8894 <td class="paramkey"></td>
8895 <td></td>
8896 <td class="paramtype">void *__restrict&#160;</td>
8897 <td class="paramname"><em>output</em>, </td>
8898 </tr>
8899 <tr>
8900 <td class="paramkey"></td>
8901 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008902 <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 +00008903 <td class="paramname"><em>win</em>&#160;</td>
8904 </tr>
8905 <tr>
8906 <td></td>
8907 <td>)</td>
8908 <td></td><td></td>
8909 </tr>
8910 </table>
8911</div><div class="memdoc">
8912
Jenkinsb3a371b2018-05-23 11:36:53 +01008913<p>Convert NV12 to IYUV. </p>
8914<dl class="params"><dt>Parameters</dt><dd>
8915 <table class="params">
8916 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
8917 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
8918 <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>
8919 </table>
8920 </dd>
8921</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008922
Jenkinsb3a371b2018-05-23 11:36:53 +01008923<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">649</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8924
8925<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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#l00149">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>
8926<div class="fragment"><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;{</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; win.validate();</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; win_uv.validate();</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; },</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008927<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008928</div><!-- fragment -->
8929</div>
8930</div>
8931<a class="anchor" id="ae6a44e412bccc0705a720708b0692218"></a>
8932<div class="memitem">
8933<div class="memproto">
8934 <table class="memname">
8935 <tr>
8936 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
8937 <td>(</td>
8938 <td class="paramtype">const void *__restrict&#160;</td>
8939 <td class="paramname"><em>input</em>, </td>
8940 </tr>
8941 <tr>
8942 <td class="paramkey"></td>
8943 <td></td>
8944 <td class="paramtype">void *__restrict&#160;</td>
8945 <td class="paramname"><em>output</em>, </td>
8946 </tr>
8947 <tr>
8948 <td class="paramkey"></td>
8949 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008950 <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 +00008951 <td class="paramname"><em>win</em>&#160;</td>
8952 </tr>
8953 <tr>
8954 <td></td>
8955 <td>)</td>
8956 <td></td><td></td>
8957 </tr>
8958 </table>
8959</div><div class="memdoc">
8960
Jenkinsb3a371b2018-05-23 11:36:53 +01008961<p>Convert NV12 to RGB. </p>
8962<dl class="params"><dt>Parameters</dt><dd>
8963 <table class="params">
8964 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
8965 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
8966 <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>
8967 </table>
8968 </dd>
8969</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008970
Jenkinsb3a371b2018-05-23 11:36:53 +01008971<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">419</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8972
8973<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">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="_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#l00149">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>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
8974<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;{</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; win.validate();</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; win_uv.validate();</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; },</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; in_y, in_uv, out);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008975<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008976<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00008977<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008978</div><!-- fragment -->
8979</div>
8980</div>
8981<a class="anchor" id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
8982<div class="memitem">
8983<div class="memproto">
8984 <table class="memname">
8985 <tr>
8986 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
8987 <td>(</td>
8988 <td class="paramtype">const void *__restrict&#160;</td>
8989 <td class="paramname"><em>input</em>, </td>
8990 </tr>
8991 <tr>
8992 <td class="paramkey"></td>
8993 <td></td>
8994 <td class="paramtype">void *__restrict&#160;</td>
8995 <td class="paramname"><em>output</em>, </td>
8996 </tr>
8997 <tr>
8998 <td class="paramkey"></td>
8999 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009000 <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 +00009001 <td class="paramname"><em>win</em>&#160;</td>
9002 </tr>
9003 <tr>
9004 <td></td>
9005 <td>)</td>
9006 <td></td><td></td>
9007 </tr>
9008 </table>
9009</div><div class="memdoc">
9010
Jenkinsb3a371b2018-05-23 11:36:53 +01009011<p>Convert NV12 to YUV4. </p>
9012<dl class="params"><dt>Parameters</dt><dd>
9013 <table class="params">
9014 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
9015 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
9016 <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>
9017 </table>
9018 </dd>
9019</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009020
Jenkinsb3a371b2018-05-23 11:36:53 +01009021<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">758</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9022
9023<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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#l00149">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>
9024<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;{</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; win.validate();</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; win_uv.validate();</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; {</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; },</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009025<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009026</div><!-- fragment -->
9027</div>
9028</div>
9029<a class="anchor" id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
9030<div class="memitem">
9031<div class="memproto">
9032 <table class="memname">
9033 <tr>
9034 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
9035 <td>(</td>
9036 <td class="paramtype">const void *__restrict&#160;</td>
9037 <td class="paramname"><em>input</em>, </td>
9038 </tr>
9039 <tr>
9040 <td class="paramkey"></td>
9041 <td></td>
9042 <td class="paramtype">void *__restrict&#160;</td>
9043 <td class="paramname"><em>output</em>, </td>
9044 </tr>
9045 <tr>
9046 <td class="paramkey"></td>
9047 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009048 <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 +00009049 <td class="paramname"><em>win</em>&#160;</td>
9050 </tr>
9051 <tr>
9052 <td></td>
9053 <td>)</td>
9054 <td></td><td></td>
9055 </tr>
9056 </table>
9057</div><div class="memdoc">
9058
Jenkinsb3a371b2018-05-23 11:36:53 +01009059<p>Convert RGB to IYUV. </p>
9060<dl class="params"><dt>Parameters</dt><dd>
9061 <table class="params">
9062 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9063 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
9064 <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>
9065 </table>
9066 </dd>
9067</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009068
Jenkinsb3a371b2018-05-23 11:36:53 +01009069<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">918</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9070
9071<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">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="_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#l00149">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>
9072<div class="fragment"><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;{</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; win.validate();</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; win_uv.validate();</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; },</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; in, out_y, out_u, out_v);</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;}</div><div class="ttc" id="_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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009073<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009074<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00009075<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009076</div><!-- fragment -->
9077</div>
9078</div>
9079<a class="anchor" id="a14fd899b732509e245976b9967b8931d"></a>
9080<div class="memitem">
9081<div class="memproto">
9082 <table class="memname">
9083 <tr>
9084 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
9085 <td>(</td>
9086 <td class="paramtype">const void *__restrict&#160;</td>
9087 <td class="paramname"><em>input</em>, </td>
9088 </tr>
9089 <tr>
9090 <td class="paramkey"></td>
9091 <td></td>
9092 <td class="paramtype">void *__restrict&#160;</td>
9093 <td class="paramname"><em>output</em>, </td>
9094 </tr>
9095 <tr>
9096 <td class="paramkey"></td>
9097 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009098 <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 +00009099 <td class="paramname"><em>win</em>&#160;</td>
9100 </tr>
9101 <tr>
9102 <td></td>
9103 <td>)</td>
9104 <td></td><td></td>
9105 </tr>
9106 </table>
9107</div><div class="memdoc">
9108
Jenkinsb3a371b2018-05-23 11:36:53 +01009109<p>Convert RGB to NV12. </p>
9110<dl class="params"><dt>Parameters</dt><dd>
9111 <table class="params">
9112 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9113 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
9114 <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>
9115 </table>
9116 </dd>
9117</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009118
Jenkinsb3a371b2018-05-23 11:36:53 +01009119<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">875</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9120
9121<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">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="_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#l00149">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>
9122<div class="fragment"><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;{</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; win.validate();</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; win_uv.validate();</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; out_uv.ptr());</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; },</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; in, out_y, out_uv);</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009123<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009124<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00009125<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009126</div><!-- fragment -->
9127</div>
9128</div>
9129<a class="anchor" id="a93cc303c8ae098d264f07d37890412de"></a>
9130<div class="memitem">
9131<div class="memproto">
9132 <table class="memname">
9133 <tr>
9134 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
9135 <td>(</td>
9136 <td class="paramtype">const void *__restrict&#160;</td>
9137 <td class="paramname"><em>input</em>, </td>
9138 </tr>
9139 <tr>
9140 <td class="paramkey"></td>
9141 <td></td>
9142 <td class="paramtype">void *__restrict&#160;</td>
9143 <td class="paramname"><em>output</em>, </td>
9144 </tr>
9145 <tr>
9146 <td class="paramkey"></td>
9147 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009148 <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 +00009149 <td class="paramname"><em>win</em>&#160;</td>
9150 </tr>
9151 <tr>
9152 <td></td>
9153 <td>)</td>
9154 <td></td><td></td>
9155 </tr>
9156 </table>
9157</div><div class="memdoc">
9158
Jenkinsb3a371b2018-05-23 11:36:53 +01009159<p>Convert RGB to RGBX. </p>
9160<dl class="params"><dt>Parameters</dt><dd>
9161 <table class="params">
9162 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9163 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGBX buffer. </td></tr>
9164 <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>
9165 </table>
9166 </dd>
9167</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009168
Jenkinsb3a371b2018-05-23 11:36:53 +01009169<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">312</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9170
9171<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
9172<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;{</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; uint8x16x4_t ta2;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; vst4q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; },</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; in, out);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009173<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009174<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009175</div><!-- fragment -->
9176</div>
9177</div>
9178<a class="anchor" id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
9179<div class="memitem">
9180<div class="memproto">
9181 <table class="memname">
9182 <tr>
9183 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
9184 <td>(</td>
9185 <td class="paramtype">const void *__restrict&#160;</td>
9186 <td class="paramname"><em>input</em>, </td>
9187 </tr>
9188 <tr>
9189 <td class="paramkey"></td>
9190 <td></td>
9191 <td class="paramtype">void *__restrict&#160;</td>
9192 <td class="paramname"><em>output</em>, </td>
9193 </tr>
9194 <tr>
9195 <td class="paramkey"></td>
9196 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009197 <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 +00009198 <td class="paramname"><em>win</em>&#160;</td>
9199 </tr>
9200 <tr>
9201 <td></td>
9202 <td>)</td>
9203 <td></td><td></td>
9204 </tr>
9205 </table>
9206</div><div class="memdoc">
9207
Jenkinsb3a371b2018-05-23 11:36:53 +01009208<p>Convert RGB to YUV4. </p>
9209<dl class="params"><dt>Parameters</dt><dd>
9210 <table class="params">
9211 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
9212 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
9213 <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>
9214 </table>
9215 </dd>
9216</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009217
Jenkinsb3a371b2018-05-23 11:36:53 +01009218<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">962</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9219
9220<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>.</p>
9221<div class="fragment"><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;{</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; win.validate();</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; },</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; in, out_y, out_u, out_v);</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;}</div><div class="ttc" id="_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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009222<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009223<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00009224<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009225</div><!-- fragment -->
9226</div>
9227</div>
9228<a class="anchor" id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
9229<div class="memitem">
9230<div class="memproto">
9231 <table class="memname">
9232 <tr>
9233 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
9234 <td>(</td>
9235 <td class="paramtype">const void *&#160;</td>
9236 <td class="paramname"><em>input</em>, </td>
9237 </tr>
9238 <tr>
9239 <td class="paramkey"></td>
9240 <td></td>
9241 <td class="paramtype">void *&#160;</td>
9242 <td class="paramname"><em>output</em>, </td>
9243 </tr>
9244 <tr>
9245 <td class="paramkey"></td>
9246 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009247 <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 +00009248 <td class="paramname"><em>win</em>&#160;</td>
9249 </tr>
9250 <tr>
9251 <td></td>
9252 <td>)</td>
9253 <td></td><td></td>
9254 </tr>
9255 </table>
9256</div><div class="memdoc">
9257
Jenkinsb3a371b2018-05-23 11:36:53 +01009258<p>Convert RGBX to RGB. </p>
9259<dl class="params"><dt>Parameters</dt><dd>
9260 <table class="params">
9261 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGBX data buffer. </td></tr>
9262 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
9263 <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>
9264 </table>
9265 </dd>
9266</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009267
Jenkinsb3a371b2018-05-23 11:36:53 +01009268<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">343</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9269
9270<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
9271<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; uint8x16x3_t ta2;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; vst3q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; },</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; in, out);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009272<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009273<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009274</div><!-- fragment -->
9275</div>
9276</div>
9277<a class="anchor" id="ae43e8f0463c0289169025c3041688d36"></a>
9278<div class="memitem">
9279<div class="memproto">
9280 <table class="memname">
9281 <tr>
9282 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
9283 <td>(</td>
9284 <td class="paramtype">const void *__restrict&#160;</td>
9285 <td class="paramname"><em>input</em>, </td>
9286 </tr>
9287 <tr>
9288 <td class="paramkey"></td>
9289 <td></td>
9290 <td class="paramtype">void *__restrict&#160;</td>
9291 <td class="paramname"><em>output</em>, </td>
9292 </tr>
9293 <tr>
9294 <td class="paramkey"></td>
9295 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009296 <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 +00009297 <td class="paramname"><em>win</em>&#160;</td>
9298 </tr>
9299 <tr>
9300 <td></td>
9301 <td>)</td>
9302 <td></td><td></td>
9303 </tr>
9304 </table>
9305</div><div class="memdoc">
9306
Jenkinsb3a371b2018-05-23 11:36:53 +01009307<p>Convert YUYV to IYUV. </p>
9308<dl class="params"><dt>Parameters</dt><dd>
9309 <table class="params">
9310 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
9311 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
9312 <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>
9313 </table>
9314 </dd>
9315</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009316
Jenkinsb3a371b2018-05-23 11:36:53 +01009317<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">698</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9318
9319<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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="_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#l00149">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>
9320<div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; win.validate();</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; win_uv.validate();</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; {</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; uint8x16x2_t yyvec;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; uint8x16_t uvec;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; uint8x16_t vvec;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; },</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; in, out_y, out_u, out_v);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;}</div><div class="ttc" id="_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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009321<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009322<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009323</div><!-- fragment -->
9324</div>
9325</div>
9326<a class="anchor" id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
9327<div class="memitem">
9328<div class="memproto">
9329 <table class="memname">
9330 <tr>
9331 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
9332 <td>(</td>
9333 <td class="paramtype">const void *__restrict&#160;</td>
9334 <td class="paramname"><em>input</em>, </td>
9335 </tr>
9336 <tr>
9337 <td class="paramkey"></td>
9338 <td></td>
9339 <td class="paramtype">void *__restrict&#160;</td>
9340 <td class="paramname"><em>output</em>, </td>
9341 </tr>
9342 <tr>
9343 <td class="paramkey"></td>
9344 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009345 <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 +00009346 <td class="paramname"><em>win</em>&#160;</td>
9347 </tr>
9348 <tr>
9349 <td></td>
9350 <td>)</td>
9351 <td></td><td></td>
9352 </tr>
9353 </table>
9354</div><div class="memdoc">
9355
Jenkinsb3a371b2018-05-23 11:36:53 +01009356<p>Convert YUYV to NV12. </p>
9357<dl class="params"><dt>Parameters</dt><dd>
9358 <table class="params">
9359 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
9360 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
9361 <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>
9362 </table>
9363 </dd>
9364</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009365
Jenkinsb3a371b2018-05-23 11:36:53 +01009366<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">546</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9367
9368<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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="_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#l00149">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>
9369<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;{</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; win.validate();</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; win_uv.validate();</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; {</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; uint8x16x2_t yyvec;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; uint8x16x2_t uvvec;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; },</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; in, out_y, out_uv);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009370<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009371<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009372</div><!-- fragment -->
9373</div>
9374</div>
9375<a class="anchor" id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
9376<div class="memitem">
9377<div class="memproto">
9378 <table class="memname">
9379 <tr>
9380 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
9381 <td>(</td>
9382 <td class="paramtype">const void *__restrict&#160;</td>
9383 <td class="paramname"><em>input</em>, </td>
9384 </tr>
9385 <tr>
9386 <td class="paramkey"></td>
9387 <td></td>
9388 <td class="paramtype">void *__restrict&#160;</td>
9389 <td class="paramname"><em>output</em>, </td>
9390 </tr>
9391 <tr>
9392 <td class="paramkey"></td>
9393 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009394 <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 +00009395 <td class="paramname"><em>win</em>&#160;</td>
9396 </tr>
9397 <tr>
9398 <td></td>
9399 <td>)</td>
9400 <td></td><td></td>
9401 </tr>
9402 </table>
9403</div><div class="memdoc">
9404
Jenkinsb3a371b2018-05-23 11:36:53 +01009405<p>Convert YUYV to RGB. </p>
9406<dl class="params"><dt>Parameters</dt><dd>
9407 <table class="params">
9408 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
9409 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
9410 <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>
9411 </table>
9412 </dd>
9413</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009414
Jenkinsb3a371b2018-05-23 11:36:53 +01009415<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">374</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
9416
9417<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
9418<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;{</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; },</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; in, out);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009419<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009420<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00009421<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009422</div><!-- fragment -->
9423</div>
9424</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009425<a class="anchor" id="a35178800b82e07a49da5a81cdeda9a0c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009426<div class="memitem">
9427<div class="memproto">
9428<table class="mlabels">
9429 <tr>
9430 <td class="mlabels-left">
9431 <table class="memname">
9432 <tr>
9433 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
9434 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009435 <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 +00009436 <td class="paramname"><em>info</em>, </td>
9437 </tr>
9438 <tr>
9439 <td class="paramkey"></td>
9440 <td></td>
9441 <td class="paramtype">T&#160;</td>
9442 <td class="paramname"><em>stride_x</em>, </td>
9443 </tr>
9444 <tr>
9445 <td class="paramkey"></td>
9446 <td></td>
9447 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9448 <td class="paramname"><em>fixed_strides</em>&#160;</td>
9449 </tr>
9450 <tr>
9451 <td></td>
9452 <td>)</td>
9453 <td></td><td></td>
9454 </tr>
9455 </table>
9456 </td>
9457 <td class="mlabels-right">
9458<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9459 </tr>
9460</table>
9461</div><div class="memdoc">
9462
9463<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
9464<dl class="params"><dt>Parameters</dt><dd>
9465 <table class="params">
9466 <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>
9467 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
9468 <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>
9469 </table>
9470 </dd>
9471</dl>
9472<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>
9473
Jenkinsb3a371b2018-05-23 11:36:53 +01009474<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">501</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009475
Anthony Barbier06ea0482018-02-22 15:45:35 +00009476<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">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 +00009477
Jenkinsb3a371b2018-05-23 11:36:53 +01009478<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">compute_strides()</a>.</p>
9479<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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009480<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>
9481</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00009482</div>
9483</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009484<a class="anchor" id="a8c35748731709927597cb5a2c227e682"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009485<div class="memitem">
9486<div class="memproto">
9487<table class="mlabels">
9488 <tr>
9489 <td class="mlabels-left">
9490 <table class="memname">
9491 <tr>
9492 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
9493 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009494 <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 +00009495 <td class="paramname"><em>info</em></td><td>)</td>
9496 <td></td>
9497 </tr>
9498 </table>
9499 </td>
9500 <td class="mlabels-right">
9501<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9502 </tr>
9503</table>
9504</div><div class="memdoc">
9505
9506<p>Create a strides object based on the tensor dimensions. </p>
9507<dl class="params"><dt>Parameters</dt><dd>
9508 <table class="params">
9509 <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>
9510 </table>
9511 </dd>
9512</dl>
9513<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>
9514
Jenkinsb3a371b2018-05-23 11:36:53 +01009515<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">523</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009516
Jenkinsb3a371b2018-05-23 11:36:53 +01009517<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">compute_strides()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>.</p>
9518<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>
9519<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 +01009520</div><!-- fragment -->
9521</div>
9522</div>
9523<a class="anchor" id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
9524<div class="memitem">
9525<div class="memproto">
9526<table class="mlabels">
9527 <tr>
9528 <td class="mlabels-left">
9529 <table class="memname">
9530 <tr>
9531 <td class="memname">int coords2index </td>
9532 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009533 <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 +01009534 <td class="paramname"><em>shape</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_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01009540 <td class="paramname"><em>coord</em>&#160;</td>
9541 </tr>
9542 <tr>
9543 <td></td>
9544 <td>)</td>
9545 <td></td><td></td>
9546 </tr>
9547 </table>
9548 </td>
9549 <td class="mlabels-right">
9550<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9551 </tr>
9552</table>
9553</div><div class="memdoc">
9554
9555<p>Convert n-dimensional coordinates into a linear index. </p>
9556<dl class="params"><dt>Parameters</dt><dd>
9557 <table class="params">
9558 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
9559 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>N-dimensional coordinates.</td></tr>
9560 </table>
9561 </dd>
9562</dl>
9563<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
9564
Jenkinsb3a371b2018-05-23 11:36:53 +01009565<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00322">322</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009566
Jenkinsb3a371b2018-05-23 11:36:53 +01009567<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00159">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#l00157">TensorShape::total_size()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009568
Jenkinsb3a371b2018-05-23 11:36:53 +01009569<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00178">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
9570<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;{</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <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="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</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="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">int</span> index = 0;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordtype">int</span> stride = 1;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">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="l00332"></a><span class="lineno"> 332</span>&#160; {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; index += coord[d] * stride;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</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;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
9571<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#l00159">Error.h:159</a></div></div>
9572<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#l00319">Error.h:319</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009573</div><!-- fragment -->
9574</div>
9575</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009576<a class="anchor" id="a35fb9d1dde1b976f4b7d361aabcc7c0d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009577<div class="memitem">
9578<div class="memproto">
9579 <table class="memname">
9580 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009581 <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 +01009582 <td>(</td>
9583 <td class="paramtype">T &amp;&amp;...&#160;</td>
9584 <td class="paramname"><em>args</em></td><td>)</td>
9585 <td></td>
9586 </tr>
9587 </table>
9588</div><div class="memdoc">
9589
Jenkinsb3a371b2018-05-23 11:36:53 +01009590<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 +01009591<dl class="params"><dt>Parameters</dt><dd>
9592 <table class="params">
9593 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
9594 </table>
9595 </dd>
9596</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01009597<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 +01009598
Jenkinsb3a371b2018-05-23 11:36:53 +01009599<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00074">74</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
9600<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 +01009601</div>
9602</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009603<a class="anchor" id="a3eee3c80d78ee4574a5eed0af5af919d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009604<div class="memitem">
9605<div class="memproto">
9606 <table class="memname">
9607 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009608 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::create_error </td>
9609 <td>(</td>
9610 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
9611 <td class="paramname"><em>error_code</em>, </td>
9612 </tr>
9613 <tr>
9614 <td class="paramkey"></td>
9615 <td></td>
9616 <td class="paramtype">const char *&#160;</td>
9617 <td class="paramname"><em>function</em>, </td>
9618 </tr>
9619 <tr>
9620 <td class="paramkey"></td>
9621 <td></td>
9622 <td class="paramtype">const char *&#160;</td>
9623 <td class="paramname"><em>file</em>, </td>
9624 </tr>
9625 <tr>
9626 <td class="paramkey"></td>
9627 <td></td>
9628 <td class="paramtype">const int&#160;</td>
9629 <td class="paramname"><em>line</em>, </td>
9630 </tr>
9631 <tr>
9632 <td class="paramkey"></td>
9633 <td></td>
9634 <td class="paramtype">const char *&#160;</td>
9635 <td class="paramname"><em>msg</em>, </td>
9636 </tr>
9637 <tr>
9638 <td class="paramkey"></td>
9639 <td></td>
9640 <td class="paramtype">&#160;</td>
9641 <td class="paramname"><em>...</em>&#160;</td>
9642 </tr>
9643 <tr>
9644 <td></td>
9645 <td>)</td>
9646 <td></td><td></td>
9647 </tr>
9648 </table>
9649</div><div class="memdoc">
9650
9651<p>Creates an error containing the error message. </p>
9652<dl class="params"><dt>Parameters</dt><dd>
9653 <table class="params">
9654 <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
9655 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9656 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9657 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9658 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
9659 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message.</td></tr>
9660 </table>
9661 </dd>
9662</dl>
9663<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
9664
Jenkinsb3a371b2018-05-23 11:36:53 +01009665<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00101">Status::throw_if_error()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009666
9667</div>
9668</div>
9669<a class="anchor" id="a2edb6ec8bea5c26d7d802d21caf64d02"></a>
9670<div class="memitem">
9671<div class="memproto">
9672 <table class="memname">
9673 <tr>
9674 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::create_error_va_list </td>
9675 <td>(</td>
9676 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
9677 <td class="paramname"><em>error_code</em>, </td>
9678 </tr>
9679 <tr>
9680 <td class="paramkey"></td>
9681 <td></td>
9682 <td class="paramtype">const char *&#160;</td>
9683 <td class="paramname"><em>function</em>, </td>
9684 </tr>
9685 <tr>
9686 <td class="paramkey"></td>
9687 <td></td>
9688 <td class="paramtype">const char *&#160;</td>
9689 <td class="paramname"><em>file</em>, </td>
9690 </tr>
9691 <tr>
9692 <td class="paramkey"></td>
9693 <td></td>
9694 <td class="paramtype">const int&#160;</td>
9695 <td class="paramname"><em>line</em>, </td>
9696 </tr>
9697 <tr>
9698 <td class="paramkey"></td>
9699 <td></td>
9700 <td class="paramtype">const char *&#160;</td>
9701 <td class="paramname"><em>msg</em>, </td>
9702 </tr>
9703 <tr>
9704 <td class="paramkey"></td>
9705 <td></td>
9706 <td class="paramtype">va_list&#160;</td>
9707 <td class="paramname"><em>args</em>&#160;</td>
9708 </tr>
9709 <tr>
9710 <td></td>
9711 <td>)</td>
9712 <td></td><td></td>
9713 </tr>
9714 </table>
9715</div><div class="memdoc">
9716
9717<p>Creates an error containing the error message from variable argument list. </p>
9718<dl class="params"><dt>Parameters</dt><dd>
9719 <table class="params">
9720 <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
9721 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9722 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9723 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9724 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
9725 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Variable argument list of the message.</td></tr>
9726 </table>
9727 </dd>
9728</dl>
9729<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
9730
Jenkinsb3a371b2018-05-23 11:36:53 +01009731<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00101">Status::throw_if_error()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009732
9733</div>
9734</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009735<a class="anchor" id="abc72c95941485d8a068fa38372308574"></a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009736<div class="memitem">
9737<div class="memproto">
9738 <table class="memname">
9739 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009740 <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 +01009741 <td>(</td>
9742 <td class="paramname"></td><td>)</td>
9743 <td></td>
9744 </tr>
9745 </table>
9746</div><div class="memdoc">
9747
Jenkinsb3a371b2018-05-23 11:36:53 +01009748<p>Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object. </p>
9749<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 +01009750
Jenkinsb3a371b2018-05-23 11:36:53 +01009751<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00086">86</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009752
Jenkinsb3a371b2018-05-23 11:36:53 +01009753<p>Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00236">GCKernelLibrary::set_context()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00284">CLKernelLibrary::set_device()</a>.</p>
9754<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 +01009755</div>
9756</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009757<a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
9758<div class="memitem">
9759<div class="memproto">
9760<table class="mlabels">
9761 <tr>
9762 <td class="mlabels-left">
9763 <table class="memname">
9764 <tr>
9765 <td class="memname">size_t arm_compute::data_size_from_type </td>
9766 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009767 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009768 <td class="paramname"><em>data_type</em></td><td>)</td>
9769 <td></td>
9770 </tr>
9771 </table>
9772 </td>
9773 <td class="mlabels-right">
9774<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9775 </tr>
9776</table>
9777</div><div class="memdoc">
9778
9779<p>The size in bytes of the data type. </p>
9780<dl class="params"><dt>Parameters</dt><dd>
9781 <table class="params">
9782 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
9783 </table>
9784 </dd>
9785</dl>
9786<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
9787
Jenkinsb3a371b2018-05-23 11:36:53 +01009788<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00107">107</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009789
Jenkinsb3a371b2018-05-23 11:36:53 +01009790<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009791
Jenkinsb3a371b2018-05-23 11:36:53 +01009792<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00114">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00251">TensorInfo::element_size()</a>, and <a class="el" href="_alex_net_network_8h_source.xhtml#l00064">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::init()</a>.</p>
9793<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</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">case</span> DataType::QS16:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</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="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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#l00260">Error.h:260</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +00009794<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009795</div><!-- fragment -->
9796</div>
9797</div>
9798<a class="anchor" id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
9799<div class="memitem">
9800<div class="memproto">
9801<table class="mlabels">
9802 <tr>
9803 <td class="mlabels-left">
9804 <table class="memname">
9805 <tr>
9806 <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>
9807 <td>(</td>
9808 <td class="paramtype">const int16_t *&#160;</td>
9809 <td class="paramname"><em>conv_col</em>, </td>
9810 </tr>
9811 <tr>
9812 <td class="paramkey"></td>
9813 <td></td>
9814 <td class="paramtype">const int16_t *&#160;</td>
9815 <td class="paramname"><em>conv_row</em>, </td>
9816 </tr>
9817 <tr>
9818 <td class="paramkey"></td>
9819 <td></td>
9820 <td class="paramtype">size_t&#160;</td>
9821 <td class="paramname"><em>size</em>&#160;</td>
9822 </tr>
9823 <tr>
9824 <td></td>
9825 <td>)</td>
9826 <td></td><td></td>
9827 </tr>
9828 </table>
9829 </td>
9830 <td class="mlabels-right">
9831<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9832 </tr>
9833</table>
9834</div><div class="memdoc">
9835
9836<p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
9837<dl class="params"><dt>Parameters</dt><dd>
9838 <table class="params">
9839 <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>
9840 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
9841 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
9842 </table>
9843 </dd>
9844</dl>
9845<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>
9846
Jenkinsb3a371b2018-05-23 11:36:53 +01009847<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00747">747</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 +00009848
Kaizen8938bd32017-09-28 14:38:23 +01009849<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009850<div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;{</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; {</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; };</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</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="l00758"></a><span class="lineno"> 758</span>&#160; {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; };</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</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="l00763"></a><span class="lineno"> 763</span>&#160; {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</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;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</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="l00768"></a><span class="lineno"> 768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</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="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="l00772"></a><span class="lineno"> 772</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="l00773"></a><span class="lineno"> 773</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</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; second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</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="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="l00781"></a><span class="lineno"> 781</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="l00782"></a><span class="lineno"> 782</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="l00783"></a><span class="lineno"> 783</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="l00784"></a><span class="lineno"> 784</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="l00785"></a><span class="lineno"> 785</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="l00786"></a><span class="lineno"> 786</span>&#160;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</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="l00790"></a><span class="lineno"> 790</span>&#160; }</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;}</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00009851<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009852</div><!-- fragment -->
9853</div>
9854</div>
9855<a class="anchor" id="a3992df9e8723140a53e49dc194d89ef5"></a>
9856<div class="memitem">
9857<div class="memproto">
9858<table class="mlabels">
9859 <tr>
9860 <td class="mlabels-left">
9861 <table class="memname">
9862 <tr>
9863 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
9864 <td>(</td>
9865 <td class="paramtype">const int16_t *&#160;</td>
9866 <td class="paramname"><em>conv</em>, </td>
9867 </tr>
9868 <tr>
9869 <td class="paramkey"></td>
9870 <td></td>
9871 <td class="paramtype">size_t&#160;</td>
9872 <td class="paramname"><em>size</em>&#160;</td>
9873 </tr>
9874 <tr>
9875 <td></td>
9876 <td>)</td>
9877 <td></td><td></td>
9878 </tr>
9879 </table>
9880 </td>
9881 <td class="mlabels-right">
9882<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9883 </tr>
9884</table>
9885</div><div class="memdoc">
9886
9887<p>Calculate the accuracy required by the squared convolution calculation. </p>
9888<dl class="params"><dt>Parameters</dt><dd>
9889 <table class="params">
9890 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
9891 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
9892 </table>
9893 </dd>
9894</dl>
9895<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
9896
Jenkinsb3a371b2018-05-23 11:36:53 +01009897<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">803</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 +00009898
Jenkinsb3a371b2018-05-23 11:36:53 +01009899<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">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#l00122">arm_compute::test::validation::b</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::border_mode</a>, <a class="el" href="namespacearm__compute.xhtml#afa7962c747457714d0944af80cb07058">calculate_same_pad()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00360">arm_compute::test::validation::conv_info</a>, <a class="el" href="namespacearm__compute.xhtml#a5c7b26988083a67a91cd3e7962f38521">deconvolution_output_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape()</a>, <a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ac78192301777700de24d8c75667baf35">scaled_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func()</a>, <a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode()</a>, <a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel()</a>, <a class="el" href="namespacearm__compute.xhtml#aa7755f939796ad7076886813ff89ed77">string_from_data_layout()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, <a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy()</a>, <a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern()</a>, <a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function()</a>, <a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
9900<div class="fragment"><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; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</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> v &gt;= 0;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; };</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keyword">const</span> <span class="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="l00811"></a><span class="lineno"> 811</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</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="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; {</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; }</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">else</span></div><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; <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="l00827"></a><span class="lineno"> 827</span>&#160; {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">return</span> b &lt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; })</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; * UINT8_MAX;</div><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="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="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">return</span> b &gt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; })</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; * UINT8_MAX;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">if</span>((INT16_MIN &lt;= min_value) &amp;&amp; (INT16_MAX &gt;= max_value))</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; {</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; {</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">return</span> DataType::S32;</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;}</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00009901<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="_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009902<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>
Jenkinsc3f34a42018-03-02 12:38:09 +00009903<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009904</div><!-- fragment -->
9905</div>
9906</div>
9907<a class="anchor" id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
9908<div class="memitem">
9909<div class="memproto">
9910<table class="mlabels">
9911 <tr>
9912 <td class="mlabels-left">
9913 <table class="memname">
9914 <tr>
9915 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
9916 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009917 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009918 <td class="paramname"><em>format</em></td><td>)</td>
9919 <td></td>
9920 </tr>
9921 </table>
9922 </td>
9923 <td class="mlabels-right">
9924<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9925 </tr>
9926</table>
9927</div><div class="memdoc">
9928
9929<p>Return the data type used by a given single-planar pixel format. </p>
9930<dl class="params"><dt>Parameters</dt><dd>
9931 <table class="params">
9932 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
9933 </table>
9934 </dd>
9935</dl>
9936<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
9937
Jenkinsb3a371b2018-05-23 11:36:53 +01009938<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00213">213</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 +00009939
Jenkinsb3a371b2018-05-23 11:36:53 +01009940<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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 +01009941
Jenkinsb3a371b2018-05-23 11:36:53 +01009942<p>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00337">SimpleTensor&lt; T &gt;::data_type()</a>.</p>
9943<div class="fragment"><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; <span class="keywordflow">switch</span>(format)</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="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">default</span>:</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;Not supported data_type for given format&quot;</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</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="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#l00260">Error.h:260</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009944</div><!-- fragment -->
9945</div>
9946</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009947<a class="anchor" id="a5c7b26988083a67a91cd3e7962f38521"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009948<div class="memitem">
9949<div class="memproto">
9950 <table class="memname">
9951 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009952 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::deconvolution_output_dimensions </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009953 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009954 <td class="paramtype">unsigned int&#160;</td>
9955 <td class="paramname"><em>in_width</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009956 </tr>
9957 <tr>
9958 <td class="paramkey"></td>
9959 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009960 <td class="paramtype">unsigned int&#160;</td>
9961 <td class="paramname"><em>in_height</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009962 </tr>
9963 <tr>
9964 <td class="paramkey"></td>
9965 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009966 <td class="paramtype">unsigned int&#160;</td>
9967 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009968 </tr>
9969 <tr>
9970 <td class="paramkey"></td>
9971 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009972 <td class="paramtype">unsigned int&#160;</td>
9973 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009974 </tr>
9975 <tr>
9976 <td class="paramkey"></td>
9977 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009978 <td class="paramtype">unsigned int&#160;</td>
9979 <td class="paramname"><em>padx</em>, </td>
9980 </tr>
9981 <tr>
9982 <td class="paramkey"></td>
9983 <td></td>
9984 <td class="paramtype">unsigned int&#160;</td>
9985 <td class="paramname"><em>pady</em>, </td>
9986 </tr>
9987 <tr>
9988 <td class="paramkey"></td>
9989 <td></td>
9990 <td class="paramtype">unsigned int&#160;</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009991 <td class="paramname"><em>inner_border_right</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009992 </tr>
9993 <tr>
9994 <td class="paramkey"></td>
9995 <td></td>
9996 <td class="paramtype">unsigned int&#160;</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009997 <td class="paramname"><em>inner_border_top</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009998 </tr>
9999 <tr>
10000 <td class="paramkey"></td>
10001 <td></td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010002 <td class="paramtype">unsigned int&#160;</td>
10003 <td class="paramname"><em>stride_x</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010004 </tr>
10005 <tr>
10006 <td class="paramkey"></td>
10007 <td></td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010008 <td class="paramtype">unsigned int&#160;</td>
10009 <td class="paramname"><em>stride_y</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010010 </tr>
10011 <tr>
10012 <td></td>
10013 <td>)</td>
10014 <td></td><td></td>
10015 </tr>
10016 </table>
10017</div><div class="memdoc">
10018
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010019<p>Returns expected width and height of the deconvolution's output tensor. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010020<dl class="params"><dt>Parameters</dt><dd>
10021 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010022 <tr><td class="paramdir">[in]</td><td class="paramname">in_width</td><td>Width of input tensor (Number of columns) </td></tr>
10023 <tr><td class="paramdir">[in]</td><td class="paramname">in_height</td><td>Height of input tensor (Number of rows) </td></tr>
10024 <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>
10025 <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>
10026 <tr><td class="paramdir">[in]</td><td class="paramname">padx</td><td>X axis padding. </td></tr>
10027 <tr><td class="paramdir">[in]</td><td class="paramname">pady</td><td>Y axis padding. </td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000010028 <tr><td class="paramdir">[in]</td><td class="paramname">inner_border_right</td><td>The number of zeros added to right edge of the input. </td></tr>
10029 <tr><td class="paramdir">[in]</td><td class="paramname">inner_border_top</td><td>The number of zeros added to top edge of the input. </td></tr>
10030 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>X axis input stride. </td></tr>
10031 <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 +010010032 </table>
10033 </dd>
10034</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010035<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>
10036
Jenkinsb3a371b2018-05-23 11:36:53 +010010037<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00062">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010038
10039</div>
10040</div>
10041<a class="anchor" id="a7d57332eb91a8735f173556b3caf6236"></a>
10042<div class="memitem">
10043<div class="memproto">
10044 <table class="memname">
10045 <tr>
10046 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::deconvolution_output_shape </td>
10047 <td>(</td>
10048 <td class="paramtype">const std::pair&lt; unsigned int, unsigned int &gt; &amp;&#160;</td>
10049 <td class="paramname"><em>out_dims</em>, </td>
10050 </tr>
10051 <tr>
10052 <td class="paramkey"></td>
10053 <td></td>
10054 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
10055 <td class="paramname"><em>input</em>, </td>
10056 </tr>
10057 <tr>
10058 <td class="paramkey"></td>
10059 <td></td>
10060 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
10061 <td class="paramname"><em>weights</em>&#160;</td>
10062 </tr>
10063 <tr>
10064 <td></td>
10065 <td>)</td>
10066 <td></td><td></td>
10067 </tr>
10068 </table>
10069</div><div class="memdoc">
10070
10071<p>Returns expected shape for the deconvolution output tensor. </p>
10072<dl class="params"><dt>Parameters</dt><dd>
10073 <table class="params">
10074 <tr><td class="paramdir">[in]</td><td class="paramname">out_dims</td><td>widht and height of the output tensor, these values can be obtained with the function deconvolution_output_dimensions. </td></tr>
10075 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Shape of the input tensor. </td></tr>
10076 <tr><td class="paramdir">[in]</td><td class="paramname">weights</td><td>Shape of the weights tensor.</td></tr>
10077 </table>
10078 </dd>
10079</dl>
10080<dl class="section return"><dt>Returns</dt><dd>Deconvolution output tensor shape. </dd></dl>
10081
Jenkinsb3a371b2018-05-23 11:36:53 +010010082<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00062">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010083
10084</div>
10085</div>
Kaizen8938bd32017-09-28 14:38:23 +010010086<a class="anchor" id="ad656a27ce8a507e31096ca45683ba9a5"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010087<div class="memitem">
10088<div class="memproto">
10089<table class="mlabels">
10090 <tr>
10091 <td class="mlabels-left">
10092 <table class="memname">
10093 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010010094 <td class="memname">T arm_compute::delta_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010095 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010010096 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010097 <td class="paramname"><em>pixel_ptr</em>, </td>
10098 </tr>
10099 <tr>
10100 <td class="paramkey"></td>
10101 <td></td>
10102 <td class="paramtype">size_t&#160;</td>
10103 <td class="paramname"><em>stride</em>, </td>
10104 </tr>
10105 <tr>
10106 <td class="paramkey"></td>
10107 <td></td>
10108 <td class="paramtype">float&#160;</td>
10109 <td class="paramname"><em>dx</em>, </td>
10110 </tr>
10111 <tr>
10112 <td class="paramkey"></td>
10113 <td></td>
10114 <td class="paramtype">float&#160;</td>
10115 <td class="paramname"><em>dy</em>&#160;</td>
10116 </tr>
10117 <tr>
10118 <td></td>
10119 <td>)</td>
10120 <td></td><td></td>
10121 </tr>
10122 </table>
10123 </td>
10124 <td class="mlabels-right">
10125<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10126 </tr>
10127</table>
10128</div><div class="memdoc">
10129
10130<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 +010010131<p>Input must be in single channel format.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010132<dl class="params"><dt>Parameters</dt><dd>
10133 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010010134 <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 +010010135 <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>
10136 <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>
10137 <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>
10138 </table>
10139 </dd>
10140</dl>
10141<dl class="section note"><dt>Note</dt><dd>dx and dy must be in the range [0, 1.0]</dd></dl>
10142<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
10143
Jenkinsb3a371b2018-05-23 11:36:53 +010010144<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">127</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010145
Jenkinsb3a371b2018-05-23 11:36:53 +010010146<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010147
Jenkinsb3a371b2018-05-23 11:36:53 +010010148<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
10149<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#l00328">Error.h:328</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010150</div><!-- fragment -->
10151</div>
10152</div>
10153<a class="anchor" id="a6174495b626531de015ae2b810859287"></a>
10154<div class="memitem">
10155<div class="memproto">
10156<table class="mlabels">
10157 <tr>
10158 <td class="mlabels-left">
10159 <table class="memname">
10160 <tr>
10161 <td class="memname">T arm_compute::delta_linear_c1_x </td>
10162 <td>(</td>
10163 <td class="paramtype">const T *&#160;</td>
10164 <td class="paramname"><em>pixel_ptr</em>, </td>
10165 </tr>
10166 <tr>
10167 <td class="paramkey"></td>
10168 <td></td>
10169 <td class="paramtype">float&#160;</td>
10170 <td class="paramname"><em>dx</em>&#160;</td>
10171 </tr>
10172 <tr>
10173 <td></td>
10174 <td>)</td>
10175 <td></td><td></td>
10176 </tr>
10177 </table>
10178 </td>
10179 <td class="mlabels-right">
10180<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10181 </tr>
10182</table>
10183</div><div class="memdoc">
10184
10185<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>
10186<p>Input must be in single channel format.</p>
10187<dl class="params"><dt>Parameters</dt><dd>
10188 <table class="params">
10189 <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>
10190 <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>
10191 </table>
10192 </dd>
10193</dl>
10194<dl class="section note"><dt>Note</dt><dd>dx must be in the range [0, 1.0]</dd></dl>
10195<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
10196
Jenkinsb3a371b2018-05-23 11:36:53 +010010197<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">184</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010198
Jenkinsb3a371b2018-05-23 11:36:53 +010010199<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010200
Jenkinsb3a371b2018-05-23 11:36:53 +010010201<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
10202<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#l00328">Error.h:328</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010203</div><!-- fragment -->
10204</div>
10205</div>
10206<a class="anchor" id="ad5fa8bacf824e9538014bfb0dcdaab52"></a>
10207<div class="memitem">
10208<div class="memproto">
10209<table class="mlabels">
10210 <tr>
10211 <td class="mlabels-left">
10212 <table class="memname">
10213 <tr>
10214 <td class="memname">T arm_compute::delta_linear_c1_y </td>
10215 <td>(</td>
10216 <td class="paramtype">const T *&#160;</td>
10217 <td class="paramname"><em>pixel_ptr</em>, </td>
10218 </tr>
10219 <tr>
10220 <td class="paramkey"></td>
10221 <td></td>
10222 <td class="paramtype">size_t&#160;</td>
10223 <td class="paramname"><em>stride</em>, </td>
10224 </tr>
10225 <tr>
10226 <td class="paramkey"></td>
10227 <td></td>
10228 <td class="paramtype">float&#160;</td>
10229 <td class="paramname"><em>dy</em>&#160;</td>
10230 </tr>
10231 <tr>
10232 <td></td>
10233 <td>)</td>
10234 <td></td><td></td>
10235 </tr>
10236 </table>
10237 </td>
10238 <td class="mlabels-right">
10239<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10240 </tr>
10241</table>
10242</div><div class="memdoc">
10243
10244<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>
10245<p>Input must be in single channel format.</p>
10246<dl class="params"><dt>Parameters</dt><dd>
10247 <table class="params">
10248 <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>
10249 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride to access the bottom pixel value </td></tr>
10250 <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>
10251 </table>
10252 </dd>
10253</dl>
10254<dl class="section note"><dt>Note</dt><dd>dy must be in the range [0, 1.0]</dd></dl>
10255<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
10256
Jenkinsb3a371b2018-05-23 11:36:53 +010010257<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">159</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010258
Jenkinsb3a371b2018-05-23 11:36:53 +010010259<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010260
Jenkinsb3a371b2018-05-23 11:36:53 +010010261<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
10262<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#l00328">Error.h:328</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010263</div><!-- fragment -->
10264</div>
10265</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010266<a class="anchor" id="a94de99589574c0072be98be1ba806cad"></a>
10267<div class="memitem">
10268<div class="memproto">
10269 <table class="memname">
10270 <tr>
10271 <td class="memname">bool arm_compute::device_supports_extension </td>
10272 <td>(</td>
10273 <td class="paramtype">const cl::Device &amp;&#160;</td>
10274 <td class="paramname"><em>device</em>, </td>
10275 </tr>
10276 <tr>
10277 <td class="paramkey"></td>
10278 <td></td>
10279 <td class="paramtype">const char *&#160;</td>
10280 <td class="paramname"><em>extension_name</em>&#160;</td>
10281 </tr>
10282 <tr>
10283 <td></td>
10284 <td>)</td>
10285 <td></td><td></td>
10286 </tr>
10287 </table>
10288</div><div class="memdoc">
10289
10290<p>Helper function to check whether a given extension is supported. </p>
10291<dl class="params"><dt>Parameters</dt><dd>
10292 <table class="params">
10293 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device </td></tr>
10294 <tr><td class="paramdir">[in]</td><td class="paramname">extension_name</td><td>Name of the extension to be checked</td></tr>
10295 </table>
10296 </dd>
10297</dl>
10298<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
10299
10300<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00071">CLScheduler::default_init()</a>.</p>
10301
10302</div>
10303</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010304<a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
10305<div class="memitem">
10306<div class="memproto">
10307 <table class="memname">
10308 <tr>
10309 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
10310 <td>(</td>
10311 <td class="paramtype">S&#160;</td>
10312 <td class="paramname"><em>val</em>, </td>
10313 </tr>
10314 <tr>
10315 <td class="paramkey"></td>
10316 <td></td>
10317 <td class="paramtype">T&#160;</td>
10318 <td class="paramname"><em>m</em>&#160;</td>
10319 </tr>
10320 <tr>
10321 <td></td>
10322 <td>)</td>
10323 <td></td><td> -&gt; decltype((val + m - 1) / m)
10324</td>
10325 </tr>
10326 </table>
10327</div><div class="memdoc">
10328
10329<p>Calculate the rounded up quotient of val / m. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010010330<dl class="params"><dt>Parameters</dt><dd>
10331 <table class="params">
10332 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to divide and round up. </td></tr>
10333 <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Value to divide by.</td></tr>
10334 </table>
10335 </dd>
10336</dl>
10337<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010338
Jenkinsb3a371b2018-05-23 11:36:53 +010010339<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">51</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010340
Jenkinsb3a371b2018-05-23 11:36:53 +010010341<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00064">ceil_to_multiple()</a>.</p>
10342<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000010343</div>
10344</div>
10345<a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
10346<div class="memitem">
10347<div class="memproto">
10348<table class="mlabels">
10349 <tr>
10350 <td class="mlabels-left">
10351 <table class="memname">
10352 <tr>
10353 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
10354 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010355 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010356 <td class="paramname"><em>dt</em></td><td>)</td>
10357 <td></td>
10358 </tr>
10359 </table>
10360 </td>
10361 <td class="mlabels-right">
10362<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10363 </tr>
10364</table>
10365</div><div class="memdoc">
10366
10367<p>The size in bytes of the data type. </p>
10368<dl class="params"><dt>Parameters</dt><dd>
10369 <table class="params">
10370 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
10371 </table>
10372 </dd>
10373</dl>
10374<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
10375
Jenkinsb3a371b2018-05-23 11:36:53 +010010376<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00182">182</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 +000010377
Jenkinsb3a371b2018-05-23 11:36:53 +010010378<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010379
Jenkinsb3a371b2018-05-23 11:36:53 +010010380<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00300">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="_validate_8h_source.xhtml#l01000">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00181">arm_compute::test::validation::validate()</a>.</p>
10381<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="keywordflow">switch</span>(dt)</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; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</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="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</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#l00260">Error.h:260</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010382</div><!-- fragment -->
10383</div>
10384</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010385<a class="anchor" id="ab36bc98bdbf6c4d7bee0cb099513c806"></a>
10386<div class="memitem">
10387<div class="memproto">
10388 <table class="memname">
10389 <tr>
10390 <td class="memname">void arm_compute::enqueue </td>
10391 <td>(</td>
10392 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &amp;&#160;</td>
10393 <td class="paramname"><em>kernel</em>, </td>
10394 </tr>
10395 <tr>
10396 <td class="paramkey"></td>
10397 <td></td>
10398 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
10399 <td class="paramname"><em>window</em>, </td>
10400 </tr>
10401 <tr>
10402 <td class="paramkey"></td>
10403 <td></td>
10404 <td class="paramtype">const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;&#160;</td>
10405 <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>
10406 </tr>
10407 <tr>
10408 <td></td>
10409 <td>)</td>
10410 <td></td><td></td>
10411 </tr>
10412 </table>
10413</div><div class="memdoc">
10414
10415<p>Add the kernel to the command queue with the given window. </p>
10416<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
10417<dd>
10418If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
10419<dl class="params"><dt>Parameters</dt><dd>
10420 <table class="params">
10421 <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>
10422 <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>
10423 <tr><td class="paramdir">[in]</td><td class="paramname">lws</td><td>Local workgroup size requested, by default (1, 1, 1)</td></tr>
10424 </table>
10425 </dd>
10426</dl>
10427<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>
10428
10429</div>
10430</div>
Kaizen8938bd32017-09-28 14:38:23 +010010431<a class="anchor" id="a0f68015f649819f1102aa73d7b88b29e"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010432<div class="memitem">
10433<div class="memproto">
10434 <table class="memname">
10435 <tr>
10436 <td class="memname">void arm_compute::enqueue </td>
10437 <td>(</td>
10438 <td class="paramtype">cl::CommandQueue &amp;&#160;</td>
10439 <td class="paramname"><em>queue</em>, </td>
10440 </tr>
10441 <tr>
10442 <td class="paramkey"></td>
10443 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010444 <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 +000010445 <td class="paramname"><em>kernel</em>, </td>
10446 </tr>
10447 <tr>
10448 <td class="paramkey"></td>
10449 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010450 <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 +000010451 <td class="paramname"><em>window</em>, </td>
10452 </tr>
10453 <tr>
10454 <td class="paramkey"></td>
10455 <td></td>
10456 <td class="paramtype">const cl::NDRange &amp;&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010457 <td class="paramname"><em>lws_hint</em> = <code><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010458 </tr>
10459 <tr>
10460 <td></td>
10461 <td>)</td>
10462 <td></td><td></td>
10463 </tr>
10464 </table>
10465</div><div class="memdoc">
10466
10467<p>Add the kernel to the command queue with the given window. </p>
10468<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
10469<dd>
10470If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
10471<dl class="params"><dt>Parameters</dt><dd>
10472 <table class="params">
10473 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
10474 <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>
10475 <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 +010010476 <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 +000010477 </table>
10478 </dd>
10479</dl>
10480<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>
10481
Jenkinsb3a371b2018-05-23 11:36:53 +010010482<p>Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">IGCKernel::get_target()</a>, and <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00245">ICLKernel::get_target()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010483
Anthony Barbier871448e2017-03-24 14:54:29 +000010484</div>
10485</div>
10486<a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
10487<div class="memitem">
10488<div class="memproto">
10489 <table class="memname">
10490 <tr>
10491 <td class="memname">void arm_compute::error </td>
10492 <td>(</td>
10493 <td class="paramtype">const char *&#160;</td>
10494 <td class="paramname"><em>function</em>, </td>
10495 </tr>
10496 <tr>
10497 <td class="paramkey"></td>
10498 <td></td>
10499 <td class="paramtype">const char *&#160;</td>
10500 <td class="paramname"><em>file</em>, </td>
10501 </tr>
10502 <tr>
10503 <td class="paramkey"></td>
10504 <td></td>
10505 <td class="paramtype">const int&#160;</td>
10506 <td class="paramname"><em>line</em>, </td>
10507 </tr>
10508 <tr>
10509 <td class="paramkey"></td>
10510 <td></td>
10511 <td class="paramtype">const char *&#160;</td>
10512 <td class="paramname"><em>msg</em>, </td>
10513 </tr>
10514 <tr>
10515 <td class="paramkey"></td>
10516 <td></td>
10517 <td class="paramtype">&#160;</td>
10518 <td class="paramname"><em>...</em>&#160;</td>
10519 </tr>
10520 <tr>
10521 <td></td>
10522 <td>)</td>
10523 <td></td><td></td>
10524 </tr>
10525 </table>
10526</div><div class="memdoc">
10527
10528<p>Print an error message then throw an std::runtime_error. </p>
10529<dl class="params"><dt>Parameters</dt><dd>
10530 <table class="params">
10531 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10532 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10533 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10534 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
10535 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
10536 </table>
10537 </dd>
10538</dl>
10539
Jenkinsb3a371b2018-05-23 11:36:53 +010010540<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00261">Framework::error_on_missing_assets()</a>, <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>, and <a class="el" href="_error_8h_source.xhtml#l00101">Status::throw_if_error()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010010541
Anthony Barbier871448e2017-03-24 14:54:29 +000010542</div>
10543</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010544<a class="anchor" id="ae7fcde610527b8fa3d9acdf398187962"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010545<div class="memitem">
10546<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010547<table class="mlabels">
10548 <tr>
10549 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000010550 <table class="memname">
10551 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010552 <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 +000010553 <td>(</td>
10554 <td class="paramtype">const char *&#160;</td>
10555 <td class="paramname"><em>function</em>, </td>
10556 </tr>
10557 <tr>
10558 <td class="paramkey"></td>
10559 <td></td>
10560 <td class="paramtype">const char *&#160;</td>
10561 <td class="paramname"><em>file</em>, </td>
10562 </tr>
10563 <tr>
10564 <td class="paramkey"></td>
10565 <td></td>
10566 <td class="paramtype">const int&#160;</td>
10567 <td class="paramname"><em>line</em>, </td>
10568 </tr>
10569 <tr>
10570 <td class="paramkey"></td>
10571 <td></td>
10572 <td class="paramtype">T&#160;</td>
10573 <td class="paramname"><em>cn</em>, </td>
10574 </tr>
10575 <tr>
10576 <td class="paramkey"></td>
10577 <td></td>
10578 <td class="paramtype">T &amp;&amp;&#160;</td>
10579 <td class="paramname"><em>channel</em>, </td>
10580 </tr>
10581 <tr>
10582 <td class="paramkey"></td>
10583 <td></td>
10584 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10585 <td class="paramname"><em>channels</em>&#160;</td>
10586 </tr>
10587 <tr>
10588 <td></td>
10589 <td>)</td>
10590 <td></td><td></td>
10591 </tr>
10592 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010593 </td>
10594 <td class="mlabels-right">
10595<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10596 </tr>
10597</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000010598</div><div class="memdoc">
10599
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010600<p>Return an error if the channel is not in channels. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010601<dl class="params"><dt>Parameters</dt><dd>
10602 <table class="params">
10603 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10604 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10605 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10606 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
10607 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010608 <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 +000010609 </table>
10610 </dd>
10611</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010612<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 +000010613
Jenkinsb3a371b2018-05-23 11:36:53 +010010614<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00835">835</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010615
Jenkinsb3a371b2018-05-23 11:36:53 +010010616<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
10617<div class="fragment"><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;{</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="_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="l00839"></a><span class="lineno"> 839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keyword">const</span> 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="l00841"></a><span class="lineno"> 841</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="l00842"></a><span class="lineno"> 842</span>&#160; {</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">return</span> f == cn;</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; <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</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="l00847"></a><span class="lineno"> 847</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#l00253">Error.h:253</a></div></div>
10618<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#l00051">Error.h:51</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010619</div><!-- fragment -->
10620</div>
10621</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010622<a class="anchor" id="aa2af31a4685af1fb5ecef784c5e96da0"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010623<div class="memitem">
10624<div class="memproto">
10625 <table class="memname">
10626 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010627 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_channel_not_in_known_format </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010628 <td>(</td>
10629 <td class="paramtype">const char *&#160;</td>
10630 <td class="paramname"><em>function</em>, </td>
10631 </tr>
10632 <tr>
10633 <td class="paramkey"></td>
10634 <td></td>
10635 <td class="paramtype">const char *&#160;</td>
10636 <td class="paramname"><em>file</em>, </td>
10637 </tr>
10638 <tr>
10639 <td class="paramkey"></td>
10640 <td></td>
10641 <td class="paramtype">const int&#160;</td>
10642 <td class="paramname"><em>line</em>, </td>
10643 </tr>
10644 <tr>
10645 <td class="paramkey"></td>
10646 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010647 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010648 <td class="paramname"><em>fmt</em>, </td>
10649 </tr>
10650 <tr>
10651 <td class="paramkey"></td>
10652 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010653 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010654 <td class="paramname"><em>cn</em>&#160;</td>
10655 </tr>
10656 <tr>
10657 <td></td>
10658 <td>)</td>
10659 <td></td><td></td>
10660 </tr>
10661 </table>
10662</div><div class="memdoc">
10663
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010664<p>Return an error if the channel is not in format. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010665<dl class="params"><dt>Parameters</dt><dd>
10666 <table class="params">
10667 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10668 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10669 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10670 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010671 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000010672 </table>
10673 </dd>
10674</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010675<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 +000010676
10677</div>
10678</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010679<a class="anchor" id="a454f8112fcca60b99883f19ff43daf9f"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010680<div class="memitem">
10681<div class="memproto">
10682 <table class="memname">
10683 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010684 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_coordinates_dimensions_gte </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010685 <td>(</td>
10686 <td class="paramtype">const char *&#160;</td>
10687 <td class="paramname"><em>function</em>, </td>
10688 </tr>
10689 <tr>
10690 <td class="paramkey"></td>
10691 <td></td>
10692 <td class="paramtype">const char *&#160;</td>
10693 <td class="paramname"><em>file</em>, </td>
10694 </tr>
10695 <tr>
10696 <td class="paramkey"></td>
10697 <td></td>
10698 <td class="paramtype">const int&#160;</td>
10699 <td class="paramname"><em>line</em>, </td>
10700 </tr>
10701 <tr>
10702 <td class="paramkey"></td>
10703 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010704 <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 +000010705 <td class="paramname"><em>pos</em>, </td>
10706 </tr>
10707 <tr>
10708 <td class="paramkey"></td>
10709 <td></td>
10710 <td class="paramtype">unsigned int&#160;</td>
10711 <td class="paramname"><em>max_dim</em>&#160;</td>
10712 </tr>
10713 <tr>
10714 <td></td>
10715 <td>)</td>
10716 <td></td><td></td>
10717 </tr>
10718 </table>
10719</div><div class="memdoc">
10720
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010721<p>Return an error if the passed coordinates have too many dimensions. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010722<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
10723<dl class="params"><dt>Parameters</dt><dd>
10724 <table class="params">
10725 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10726 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10727 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10728 <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 +000010729 <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 +000010730 </table>
10731 </dd>
10732</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010733<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 +000010734
10735</div>
10736</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010737<a class="anchor" id="a499a45039b9bba66384504843d5823d4"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010738<div class="memitem">
10739<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010740<table class="mlabels">
10741 <tr>
10742 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000010743 <table class="memname">
10744 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010745 <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 +000010746 <td>(</td>
10747 <td class="paramtype">const char *&#160;</td>
10748 <td class="paramname"><em>function</em>, </td>
10749 </tr>
10750 <tr>
10751 <td class="paramkey"></td>
10752 <td></td>
10753 <td class="paramtype">const char *&#160;</td>
10754 <td class="paramname"><em>file</em>, </td>
10755 </tr>
10756 <tr>
10757 <td class="paramkey"></td>
10758 <td></td>
10759 <td class="paramtype">const int&#160;</td>
10760 <td class="paramname"><em>line</em>, </td>
10761 </tr>
10762 <tr>
10763 <td class="paramkey"></td>
10764 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010765 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
10766 <td class="paramname"><em>tensor_info</em>, </td>
10767 </tr>
10768 <tr>
10769 <td class="paramkey"></td>
10770 <td></td>
10771 <td class="paramtype">size_t&#160;</td>
10772 <td class="paramname"><em>num_channels</em>, </td>
10773 </tr>
10774 <tr>
10775 <td class="paramkey"></td>
10776 <td></td>
10777 <td class="paramtype">T &amp;&amp;&#160;</td>
10778 <td class="paramname"><em>dt</em>, </td>
10779 </tr>
10780 <tr>
10781 <td class="paramkey"></td>
10782 <td></td>
10783 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10784 <td class="paramname"><em>dts</em>&#160;</td>
10785 </tr>
10786 <tr>
10787 <td></td>
10788 <td>)</td>
10789 <td></td><td></td>
10790 </tr>
10791 </table>
10792 </td>
10793 <td class="mlabels-right">
10794<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10795 </tr>
10796</table>
10797</div><div class="memdoc">
10798
10799<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>
10800<dl class="params"><dt>Parameters</dt><dd>
10801 <table class="params">
10802 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10803 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10804 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10805 <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>
10806 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
10807 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
10808 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
10809 </table>
10810 </dd>
10811</dl>
10812<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>
10813
Jenkinsb3a371b2018-05-23 11:36:53 +010010814<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00774">774</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010815
Jenkinsb3a371b2018-05-23 11:36:53 +010010816<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00721">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 +000010817
Jenkinsb3a371b2018-05-23 11:36:53 +010010818<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00795">error_on_data_type_channel_not_in()</a>.</p>
10819<div class="fragment"><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;{</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor_info, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</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="l00779"></a><span class="lineno"> 779</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="l00780"></a><span class="lineno"> 780</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="l00781"></a><span class="lineno"> 781</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#l00230">Error.h:230</a></div></div>
10820<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#l00192">Error.h:192</a></div></div>
10821<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#l00051">Error.h:51</a></div></div>
10822<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00721">Validate.h:721</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010823</div><!-- fragment -->
10824</div>
10825</div>
10826<a class="anchor" id="ad3137e73dbd78133d25751abd84540d8"></a>
10827<div class="memitem">
10828<div class="memproto">
10829<table class="mlabels">
10830 <tr>
10831 <td class="mlabels-left">
10832 <table class="memname">
10833 <tr>
10834 <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>
10835 <td>(</td>
10836 <td class="paramtype">const char *&#160;</td>
10837 <td class="paramname"><em>function</em>, </td>
10838 </tr>
10839 <tr>
10840 <td class="paramkey"></td>
10841 <td></td>
10842 <td class="paramtype">const char *&#160;</td>
10843 <td class="paramname"><em>file</em>, </td>
10844 </tr>
10845 <tr>
10846 <td class="paramkey"></td>
10847 <td></td>
10848 <td class="paramtype">const int&#160;</td>
10849 <td class="paramname"><em>line</em>, </td>
10850 </tr>
10851 <tr>
10852 <td class="paramkey"></td>
10853 <td></td>
10854 <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 +000010855 <td class="paramname"><em>tensor</em>, </td>
10856 </tr>
10857 <tr>
10858 <td class="paramkey"></td>
10859 <td></td>
10860 <td class="paramtype">size_t&#160;</td>
10861 <td class="paramname"><em>num_channels</em>, </td>
10862 </tr>
10863 <tr>
10864 <td class="paramkey"></td>
10865 <td></td>
10866 <td class="paramtype">T &amp;&amp;&#160;</td>
10867 <td class="paramname"><em>dt</em>, </td>
10868 </tr>
10869 <tr>
10870 <td class="paramkey"></td>
10871 <td></td>
10872 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10873 <td class="paramname"><em>dts</em>&#160;</td>
10874 </tr>
10875 <tr>
10876 <td></td>
10877 <td>)</td>
10878 <td></td><td></td>
10879 </tr>
10880 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010881 </td>
10882 <td class="mlabels-right">
10883<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10884 </tr>
10885</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000010886</div><div class="memdoc">
10887
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010888<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 +000010889<dl class="params"><dt>Parameters</dt><dd>
10890 <table class="params">
10891 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10892 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10893 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10894 <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>
10895 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
10896 <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 +000010897 <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 +000010898 </table>
10899 </dd>
10900</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010901<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 +000010902
Jenkinsb3a371b2018-05-23 11:36:53 +010010903<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00795">795</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010904
Jenkinsb3a371b2018-05-23 11:36:53 +010010905<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00774">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>
10906<div class="fragment"><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; <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="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), num_channels, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</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="l00801"></a><span class="lineno"> 801</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#l00253">Error.h:253</a></div></div>
10907<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#l00192">Error.h:192</a></div></div>
10908<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#l00051">Error.h:51</a></div></div>
10909<div class="ttc" id="namespacearm__compute_xhtml_ad3137e73dbd78133d25751abd84540d8"><div class="ttname"><a href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">arm_compute::error_on_data_type_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_channel_not_in(const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type or the number of channels of the passed tensor does not match any of...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00795">Validate.h:795</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010910</div><!-- fragment -->
10911</div>
10912</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010913<a class="anchor" id="a774ec1fdc7bd1e7973c866d13734bc21"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010914<div class="memitem">
10915<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010916<table class="mlabels">
10917 <tr>
10918 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000010919 <table class="memname">
10920 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010921 <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 +000010922 <td>(</td>
10923 <td class="paramtype">const char *&#160;</td>
10924 <td class="paramname"><em>function</em>, </td>
10925 </tr>
10926 <tr>
10927 <td class="paramkey"></td>
10928 <td></td>
10929 <td class="paramtype">const char *&#160;</td>
10930 <td class="paramname"><em>file</em>, </td>
10931 </tr>
10932 <tr>
10933 <td class="paramkey"></td>
10934 <td></td>
10935 <td class="paramtype">const int&#160;</td>
10936 <td class="paramname"><em>line</em>, </td>
10937 </tr>
10938 <tr>
10939 <td class="paramkey"></td>
10940 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010941 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
10942 <td class="paramname"><em>tensor_info</em>, </td>
10943 </tr>
10944 <tr>
10945 <td class="paramkey"></td>
10946 <td></td>
10947 <td class="paramtype">T &amp;&amp;&#160;</td>
10948 <td class="paramname"><em>dt</em>, </td>
10949 </tr>
10950 <tr>
10951 <td class="paramkey"></td>
10952 <td></td>
10953 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10954 <td class="paramname"><em>dts</em>&#160;</td>
10955 </tr>
10956 <tr>
10957 <td></td>
10958 <td>)</td>
10959 <td></td><td></td>
10960 </tr>
10961 </table>
10962 </td>
10963 <td class="mlabels-right">
10964<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10965 </tr>
10966</table>
10967</div><div class="memdoc">
10968
10969<p>Return an error if the data type of the passed tensor info does not match any of the data types provided. </p>
10970<dl class="params"><dt>Parameters</dt><dd>
10971 <table class="params">
10972 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10973 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10974 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10975 <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>
10976 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
10977 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
10978 </table>
10979 </dd>
10980</dl>
10981<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>
10982
Jenkinsb3a371b2018-05-23 11:36:53 +010010983<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00721">721</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010984
Jenkinsb3a371b2018-05-23 11:36:53 +010010985<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010986
Jenkinsb3a371b2018-05-23 11:36:53 +010010987<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00774">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00749">error_on_data_type_not_in()</a>.</p>
10988<div class="fragment"><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; <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="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> <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="l00727"></a><span class="lineno"> 727</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="l00728"></a><span class="lineno"> 728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">const</span> 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="l00730"></a><span class="lineno"> 730</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="l00731"></a><span class="lineno"> 731</span>&#160; {</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }),</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;ITensor data type %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_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#l00230">Error.h:230</a></div></div>
10989<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#l00253">Error.h:253</a></div></div>
10990<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
10991<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#l00051">Error.h:51</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000010992<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010993</div><!-- fragment -->
10994</div>
10995</div>
10996<a class="anchor" id="a4ae0ca8176fce8caa48601dc8324ca97"></a>
10997<div class="memitem">
10998<div class="memproto">
10999<table class="mlabels">
11000 <tr>
11001 <td class="mlabels-left">
11002 <table class="memname">
11003 <tr>
11004 <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>
11005 <td>(</td>
11006 <td class="paramtype">const char *&#160;</td>
11007 <td class="paramname"><em>function</em>, </td>
11008 </tr>
11009 <tr>
11010 <td class="paramkey"></td>
11011 <td></td>
11012 <td class="paramtype">const char *&#160;</td>
11013 <td class="paramname"><em>file</em>, </td>
11014 </tr>
11015 <tr>
11016 <td class="paramkey"></td>
11017 <td></td>
11018 <td class="paramtype">const int&#160;</td>
11019 <td class="paramname"><em>line</em>, </td>
11020 </tr>
11021 <tr>
11022 <td class="paramkey"></td>
11023 <td></td>
11024 <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 +000011025 <td class="paramname"><em>tensor</em>, </td>
11026 </tr>
11027 <tr>
11028 <td class="paramkey"></td>
11029 <td></td>
11030 <td class="paramtype">T &amp;&amp;&#160;</td>
11031 <td class="paramname"><em>dt</em>, </td>
11032 </tr>
11033 <tr>
11034 <td class="paramkey"></td>
11035 <td></td>
11036 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11037 <td class="paramname"><em>dts</em>&#160;</td>
11038 </tr>
11039 <tr>
11040 <td></td>
11041 <td>)</td>
11042 <td></td><td></td>
11043 </tr>
11044 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011045 </td>
11046 <td class="mlabels-right">
11047<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11048 </tr>
11049</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000011050</div><div class="memdoc">
11051
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011052<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 +000011053<dl class="params"><dt>Parameters</dt><dd>
11054 <table class="params">
11055 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11056 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11057 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11058 <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>
11059 <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 +000011060 <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 +000011061 </table>
11062 </dd>
11063</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011064<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 +000011065
Jenkinsb3a371b2018-05-23 11:36:53 +010011066<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00749">749</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011067
Jenkinsb3a371b2018-05-23 11:36:53 +010011068<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00721">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
11069<div class="fragment"><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;{</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <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="l00753"></a><span class="lineno"> 753</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</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="l00755"></a><span class="lineno"> 755</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#l00253">Error.h:253</a></div></div>
11070<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#l00192">Error.h:192</a></div></div>
11071<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#l00051">Error.h:51</a></div></div>
11072<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00721">Validate.h:721</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011073</div><!-- fragment -->
11074</div>
11075</div>
11076<a class="anchor" id="a0b360558b516e256f0af005a164c674e"></a>
11077<div class="memitem">
11078<div class="memproto">
11079 <table class="memname">
11080 <tr>
11081 <td class="memname">void arm_compute::error_on_format_not_in </td>
11082 <td>(</td>
11083 <td class="paramtype">const char *&#160;</td>
11084 <td class="paramname"><em>function</em>, </td>
11085 </tr>
11086 <tr>
11087 <td class="paramkey"></td>
11088 <td></td>
11089 <td class="paramtype">const char *&#160;</td>
11090 <td class="paramname"><em>file</em>, </td>
11091 </tr>
11092 <tr>
11093 <td class="paramkey"></td>
11094 <td></td>
11095 <td class="paramtype">const int&#160;</td>
11096 <td class="paramname"><em>line</em>, </td>
11097 </tr>
11098 <tr>
11099 <td class="paramkey"></td>
11100 <td></td>
11101 <td class="paramtype">const T *&#160;</td>
11102 <td class="paramname"><em>object</em>, </td>
11103 </tr>
11104 <tr>
11105 <td class="paramkey"></td>
11106 <td></td>
11107 <td class="paramtype">F &amp;&amp;&#160;</td>
11108 <td class="paramname"><em>format</em>, </td>
11109 </tr>
11110 <tr>
11111 <td class="paramkey"></td>
11112 <td></td>
11113 <td class="paramtype">Fs &amp;&amp;...&#160;</td>
11114 <td class="paramname"><em>formats</em>&#160;</td>
11115 </tr>
11116 <tr>
11117 <td></td>
11118 <td>)</td>
11119 <td></td><td></td>
11120 </tr>
11121 </table>
11122</div><div class="memdoc">
11123
11124<p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
11125<dl class="params"><dt>Parameters</dt><dd>
11126 <table class="params">
11127 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11128 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11129 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11130 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
11131 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
11132 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
11133 </table>
11134 </dd>
11135</dl>
11136
Jenkinsb3a371b2018-05-23 11:36:53 +010011137<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00688">688</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011138
Jenkinsb3a371b2018-05-23 11:36:53 +010011139<p>References <a class="el" href="_error_8h_source.xhtml#l00338">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00320">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00159">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
11140<div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;{</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <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="l00692"></a><span class="lineno"> 692</span>&#160;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</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="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(object_format);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</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="l00697"></a><span class="lineno"> 697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</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="l00699"></a><span class="lineno"> 699</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</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="l00702"></a><span class="lineno"> 702</span>&#160; {</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; }),</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Format %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</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#l00320">Error.h:320</a></div></div>
11141<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#l00159">Error.h:159</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011142<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00050">Types.h:50</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011143<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#l00338">Error.h:338</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011144<div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string &amp; string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
11145</div><!-- fragment -->
11146</div>
11147</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011148<a class="anchor" id="adf16abfe081654f8bb2b9a4fee09100e"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011149<div class="memitem">
11150<div class="memproto">
11151 <table class="memname">
11152 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011153 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_multi_hog </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011154 <td>(</td>
11155 <td class="paramtype">const char *&#160;</td>
11156 <td class="paramname"><em>function</em>, </td>
11157 </tr>
11158 <tr>
11159 <td class="paramkey"></td>
11160 <td></td>
11161 <td class="paramtype">const char *&#160;</td>
11162 <td class="paramname"><em>file</em>, </td>
11163 </tr>
11164 <tr>
11165 <td class="paramkey"></td>
11166 <td></td>
11167 <td class="paramtype">const int&#160;</td>
11168 <td class="paramname"><em>line</em>, </td>
11169 </tr>
11170 <tr>
11171 <td class="paramkey"></td>
11172 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011173 <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 +000011174 <td class="paramname"><em>multi_hog</em>&#160;</td>
11175 </tr>
11176 <tr>
11177 <td></td>
11178 <td>)</td>
11179 <td></td><td></td>
11180 </tr>
11181 </table>
11182</div><div class="memdoc">
11183
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011184<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 +000011185<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
11186<ol type="1">
11187<li>it is a nullptr</li>
11188<li>it doesn't contain models</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011189<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>
11190</ol>
Anthony Barbier871448e2017-03-24 14:54:29 +000011191<dl class="params"><dt>Parameters</dt><dd>
11192 <table class="params">
11193 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11194 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11195 <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 +000011196 <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 +000011197 </table>
11198 </dd>
11199</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011200<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 +000011201
11202</div>
11203</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011204<a class="anchor" id="a7fdf77ab857ef3a644eef09389cc808d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011205<div class="memitem">
11206<div class="memproto">
11207 <table class="memname">
11208 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011209 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subtensor </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011210 <td>(</td>
11211 <td class="paramtype">const char *&#160;</td>
11212 <td class="paramname"><em>function</em>, </td>
11213 </tr>
11214 <tr>
11215 <td class="paramkey"></td>
11216 <td></td>
11217 <td class="paramtype">const char *&#160;</td>
11218 <td class="paramname"><em>file</em>, </td>
11219 </tr>
11220 <tr>
11221 <td class="paramkey"></td>
11222 <td></td>
11223 <td class="paramtype">const int&#160;</td>
11224 <td class="paramname"><em>line</em>, </td>
11225 </tr>
11226 <tr>
11227 <td class="paramkey"></td>
11228 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011229 <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 +010011230 <td class="paramname"><em>parent_shape</em>, </td>
11231 </tr>
11232 <tr>
11233 <td class="paramkey"></td>
11234 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011235 <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 +010011236 <td class="paramname"><em>coords</em>, </td>
11237 </tr>
11238 <tr>
11239 <td class="paramkey"></td>
11240 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011241 <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 +010011242 <td class="paramname"><em>shape</em>&#160;</td>
11243 </tr>
11244 <tr>
11245 <td></td>
11246 <td>)</td>
11247 <td></td><td></td>
11248 </tr>
11249 </table>
11250</div><div class="memdoc">
11251
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011252<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 +010011253<dl class="params"><dt>Parameters</dt><dd>
11254 <table class="params">
11255 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11256 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11257 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11258 <tr><td class="paramdir">[in]</td><td class="paramname">parent_shape</td><td>Parent tensor shape </td></tr>
11259 <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 +000011260 <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 +010011261 </table>
11262 </dd>
11263</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011264<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 +010011265
11266</div>
11267</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011268<a class="anchor" id="a74dd77930a4d0ccf755c1cc648601c63"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011269<div class="memitem">
11270<div class="memproto">
11271 <table class="memname">
11272 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011273 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subtensor_valid_region </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011274 <td>(</td>
11275 <td class="paramtype">const char *&#160;</td>
11276 <td class="paramname"><em>function</em>, </td>
11277 </tr>
11278 <tr>
11279 <td class="paramkey"></td>
11280 <td></td>
11281 <td class="paramtype">const char *&#160;</td>
11282 <td class="paramname"><em>file</em>, </td>
11283 </tr>
11284 <tr>
11285 <td class="paramkey"></td>
11286 <td></td>
11287 <td class="paramtype">const int&#160;</td>
11288 <td class="paramname"><em>line</em>, </td>
11289 </tr>
11290 <tr>
11291 <td class="paramkey"></td>
11292 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011293 <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 +010011294 <td class="paramname"><em>parent_valid_region</em>, </td>
11295 </tr>
11296 <tr>
11297 <td class="paramkey"></td>
11298 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011299 <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 +010011300 <td class="paramname"><em>valid_region</em>&#160;</td>
11301 </tr>
11302 <tr>
11303 <td></td>
11304 <td>)</td>
11305 <td></td><td></td>
11306 </tr>
11307 </table>
11308</div><div class="memdoc">
11309
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011310<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 +010011311<dl class="params"><dt>Parameters</dt><dd>
11312 <table class="params">
11313 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11314 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11315 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11316 <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 +000011317 <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 +010011318 </table>
11319 </dd>
11320</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011321<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 +010011322
11323</div>
11324</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011325<a class="anchor" id="aceb8dd0f6a4e2539b39b5a69a1c345b4"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011326<div class="memitem">
11327<div class="memproto">
11328 <table class="memname">
11329 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011330 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subwindow </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011331 <td>(</td>
11332 <td class="paramtype">const char *&#160;</td>
11333 <td class="paramname"><em>function</em>, </td>
11334 </tr>
11335 <tr>
11336 <td class="paramkey"></td>
11337 <td></td>
11338 <td class="paramtype">const char *&#160;</td>
11339 <td class="paramname"><em>file</em>, </td>
11340 </tr>
11341 <tr>
11342 <td class="paramkey"></td>
11343 <td></td>
11344 <td class="paramtype">const int&#160;</td>
11345 <td class="paramname"><em>line</em>, </td>
11346 </tr>
11347 <tr>
11348 <td class="paramkey"></td>
11349 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011350 <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 +000011351 <td class="paramname"><em>full</em>, </td>
11352 </tr>
11353 <tr>
11354 <td class="paramkey"></td>
11355 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011356 <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 +000011357 <td class="paramname"><em>sub</em>&#160;</td>
11358 </tr>
11359 <tr>
11360 <td></td>
11361 <td>)</td>
11362 <td></td><td></td>
11363 </tr>
11364 </table>
11365</div><div class="memdoc">
11366
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011367<p>Return an error if the passed subwindow is invalid. </p>
11368<p>The subwindow is invalid if:</p><ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000011369<li>It is not a valid window.</li>
11370<li>It is not fully contained inside the full window</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011371<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
11372</ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000011373<dl class="params"><dt>Parameters</dt><dd>
11374 <table class="params">
11375 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11376 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11377 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11378 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011379 <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 +000011380 </table>
11381 </dd>
11382</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011383<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 +000011384
11385</div>
11386</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011387<a class="anchor" id="adc72c7263d6751e6e1a71fd33c6f8955"></a>
11388<div class="memitem">
11389<div class="memproto">
11390<table class="mlabels">
11391 <tr>
11392 <td class="mlabels-left">
11393 <table class="memname">
11394 <tr>
11395 <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>
11396 <td>(</td>
11397 <td class="paramtype">const char *&#160;</td>
11398 <td class="paramname"><em>function</em>, </td>
11399 </tr>
11400 <tr>
11401 <td class="paramkey"></td>
11402 <td></td>
11403 <td class="paramtype">const char *&#160;</td>
11404 <td class="paramname"><em>file</em>, </td>
11405 </tr>
11406 <tr>
11407 <td class="paramkey"></td>
11408 <td></td>
11409 <td class="paramtype">const int&#160;</td>
11410 <td class="paramname"><em>line</em>, </td>
11411 </tr>
11412 <tr>
11413 <td class="paramkey"></td>
11414 <td></td>
11415 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11416 <td class="paramname"><em>tensor_info</em>, </td>
11417 </tr>
11418 <tr>
11419 <td class="paramkey"></td>
11420 <td></td>
11421 <td class="paramtype">Ts...&#160;</td>
11422 <td class="paramname"><em>tensor_infos</em>&#160;</td>
11423 </tr>
11424 <tr>
11425 <td></td>
11426 <td>)</td>
11427 <td></td><td></td>
11428 </tr>
11429 </table>
11430 </td>
11431 <td class="mlabels-right">
11432<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11433 </tr>
11434</table>
11435</div><div class="memdoc">
11436
11437<p>Return an error if the passed tensor infos have different data layouts. </p>
11438<dl class="params"><dt>Parameters</dt><dd>
11439 <table class="params">
11440 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11441 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11442 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11443 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
11444 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
11445 </table>
11446 </dd>
11447</dl>
11448<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>
11449
11450<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00457">457</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
11451
11452<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>
11453
11454<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00483">error_on_mismatching_data_layouts()</a>.</p>
11455<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&amp;tensor_data_layout = tensor_info-&gt;data_layout();</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">return</span> tensor_info_obj-&gt;data_layout() != tensor_data_layout;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; }),</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data layouts&quot;</span>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00230">Error.h:230</a></div></div>
11456<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
11457<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#l00253">Error.h:253</a></div></div>
11458<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#l00192">Error.h:192</a></div></div>
11459<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#l00051">Error.h:51</a></div></div>
11460<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">Supported tensor data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00110">Types.h:110</a></div></div>
11461</div><!-- fragment -->
11462</div>
11463</div>
11464<a class="anchor" id="a8571c7d34a35bcbddf5e4e2538ea0b10"></a>
11465<div class="memitem">
11466<div class="memproto">
11467<table class="mlabels">
11468 <tr>
11469 <td class="mlabels-left">
11470 <table class="memname">
11471 <tr>
11472 <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>
11473 <td>(</td>
11474 <td class="paramtype">const char *&#160;</td>
11475 <td class="paramname"><em>function</em>, </td>
11476 </tr>
11477 <tr>
11478 <td class="paramkey"></td>
11479 <td></td>
11480 <td class="paramtype">const char *&#160;</td>
11481 <td class="paramname"><em>file</em>, </td>
11482 </tr>
11483 <tr>
11484 <td class="paramkey"></td>
11485 <td></td>
11486 <td class="paramtype">const int&#160;</td>
11487 <td class="paramname"><em>line</em>, </td>
11488 </tr>
11489 <tr>
11490 <td class="paramkey"></td>
11491 <td></td>
11492 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11493 <td class="paramname"><em>tensor</em>, </td>
11494 </tr>
11495 <tr>
11496 <td class="paramkey"></td>
11497 <td></td>
11498 <td class="paramtype">Ts...&#160;</td>
11499 <td class="paramname"><em>tensors</em>&#160;</td>
11500 </tr>
11501 <tr>
11502 <td></td>
11503 <td>)</td>
11504 <td></td><td></td>
11505 </tr>
11506 </table>
11507 </td>
11508 <td class="mlabels-right">
11509<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11510 </tr>
11511</table>
11512</div><div class="memdoc">
11513
11514<p>Return an error if the passed tensors have different data layouts. </p>
11515<dl class="params"><dt>Parameters</dt><dd>
11516 <table class="params">
11517 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11518 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11519 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11520 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
11521 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
11522 </table>
11523 </dd>
11524</dl>
11525<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>
11526
11527<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00483">483</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
11528
11529<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>
11530<div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;{</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">arm_compute::error_on_mismatching_data_layouts</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(),</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
11531<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#l00253">Error.h:253</a></div></div>
11532<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#l00192">Error.h:192</a></div></div>
11533<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#l00051">Error.h:51</a></div></div>
11534<div class="ttc" id="namespacearm__compute_xhtml_adc72c7263d6751e6e1a71fd33c6f8955"><div class="ttname"><a href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">arm_compute::error_on_mismatching_data_layouts</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_layouts(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00457">Validate.h:457</a></div></div>
11535</div><!-- fragment -->
11536</div>
11537</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011538<a class="anchor" id="a00672eb7b5db5f6396b39b241eaf12f7"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011539<div class="memitem">
11540<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011541<table class="mlabels">
11542 <tr>
11543 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000011544 <table class="memname">
11545 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011546 <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 +000011547 <td>(</td>
11548 <td class="paramtype">const char *&#160;</td>
11549 <td class="paramname"><em>function</em>, </td>
11550 </tr>
11551 <tr>
11552 <td class="paramkey"></td>
11553 <td></td>
11554 <td class="paramtype">const char *&#160;</td>
11555 <td class="paramname"><em>file</em>, </td>
11556 </tr>
11557 <tr>
11558 <td class="paramkey"></td>
11559 <td></td>
11560 <td class="paramtype">const int&#160;</td>
11561 <td class="paramname"><em>line</em>, </td>
11562 </tr>
11563 <tr>
11564 <td class="paramkey"></td>
11565 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011566 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11567 <td class="paramname"><em>tensor_info</em>, </td>
11568 </tr>
11569 <tr>
11570 <td class="paramkey"></td>
11571 <td></td>
11572 <td class="paramtype">Ts...&#160;</td>
11573 <td class="paramname"><em>tensor_infos</em>&#160;</td>
11574 </tr>
11575 <tr>
11576 <td></td>
11577 <td>)</td>
11578 <td></td><td></td>
11579 </tr>
11580 </table>
11581 </td>
11582 <td class="mlabels-right">
11583<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11584 </tr>
11585</table>
11586</div><div class="memdoc">
11587
11588<p>Return an error if the passed two tensor infos have different data types. </p>
11589<dl class="params"><dt>Parameters</dt><dd>
11590 <table class="params">
11591 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11592 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11593 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11594 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
11595 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
11596 </table>
11597 </dd>
11598</dl>
11599<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>
11600
Jenkinsb3a371b2018-05-23 11:36:53 +010011601<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00508">508</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011602
Jenkinsb3a371b2018-05-23 11:36:53 +010011603<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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 +000011604
Jenkinsb3a371b2018-05-23 11:36:53 +010011605<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00534">error_on_mismatching_data_types()</a>.</p>
11606<div class="fragment"><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;{</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_data_type = tensor_info-&gt;data_type();</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">return</span> tensor_info_obj-&gt;data_type() != tensor_data_type;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }),</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00230">Error.h:230</a></div></div>
11607<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
11608<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#l00253">Error.h:253</a></div></div>
11609<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#l00192">Error.h:192</a></div></div>
11610<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#l00051">Error.h:51</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011611<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011612</div><!-- fragment -->
11613</div>
11614</div>
11615<a class="anchor" id="a709c2aef39aa212b840c6395fc20ce17"></a>
11616<div class="memitem">
11617<div class="memproto">
11618<table class="mlabels">
11619 <tr>
11620 <td class="mlabels-left">
11621 <table class="memname">
11622 <tr>
11623 <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>
11624 <td>(</td>
11625 <td class="paramtype">const char *&#160;</td>
11626 <td class="paramname"><em>function</em>, </td>
11627 </tr>
11628 <tr>
11629 <td class="paramkey"></td>
11630 <td></td>
11631 <td class="paramtype">const char *&#160;</td>
11632 <td class="paramname"><em>file</em>, </td>
11633 </tr>
11634 <tr>
11635 <td class="paramkey"></td>
11636 <td></td>
11637 <td class="paramtype">const int&#160;</td>
11638 <td class="paramname"><em>line</em>, </td>
11639 </tr>
11640 <tr>
11641 <td class="paramkey"></td>
11642 <td></td>
11643 <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 +010011644 <td class="paramname"><em>tensor</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011645 </tr>
11646 <tr>
11647 <td class="paramkey"></td>
11648 <td></td>
11649 <td class="paramtype">Ts...&#160;</td>
11650 <td class="paramname"><em>tensors</em>&#160;</td>
11651 </tr>
11652 <tr>
11653 <td></td>
11654 <td>)</td>
11655 <td></td><td></td>
11656 </tr>
11657 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011658 </td>
11659 <td class="mlabels-right">
11660<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11661 </tr>
11662</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000011663</div><div class="memdoc">
11664
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011665<p>Return an error if the passed two tensors have different data types. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011666<dl class="params"><dt>Parameters</dt><dd>
11667 <table class="params">
11668 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11669 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11670 <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 +010011671 <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 +000011672 <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 +000011673 </table>
11674 </dd>
11675</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011676<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 +000011677
Jenkinsb3a371b2018-05-23 11:36:53 +010011678<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00534">534</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011679
Jenkinsb3a371b2018-05-23 11:36:53 +010011680<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>
11681<div class="fragment"><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;{</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(),</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
11682<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#l00253">Error.h:253</a></div></div>
11683<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#l00192">Error.h:192</a></div></div>
11684<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#l00051">Error.h:51</a></div></div>
11685<div class="ttc" id="namespacearm__compute_xhtml_a00672eb7b5db5f6396b39b241eaf12f7"><div class="ttname"><a href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_types(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different data types. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00508">Validate.h:508</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011686</div><!-- fragment -->
11687</div>
11688</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011689<a class="anchor" id="ab3f385292b90327061e1276f3e3445c7"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011690<div class="memitem">
11691<div class="memproto">
11692 <table class="memname">
11693 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011694 <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 +010011695 <td>(</td>
11696 <td class="paramtype">const char *&#160;</td>
11697 <td class="paramname"><em>function</em>, </td>
11698 </tr>
11699 <tr>
11700 <td class="paramkey"></td>
11701 <td></td>
11702 <td class="paramtype">const char *&#160;</td>
11703 <td class="paramname"><em>file</em>, </td>
11704 </tr>
11705 <tr>
11706 <td class="paramkey"></td>
11707 <td></td>
11708 <td class="paramtype">int&#160;</td>
11709 <td class="paramname"><em>line</em>, </td>
11710 </tr>
11711 <tr>
11712 <td class="paramkey"></td>
11713 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011714 <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 +010011715 <td class="paramname"><em>dim1</em>, </td>
11716 </tr>
11717 <tr>
11718 <td class="paramkey"></td>
11719 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011720 <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 +010011721 <td class="paramname"><em>dim2</em>, </td>
11722 </tr>
11723 <tr>
11724 <td class="paramkey"></td>
11725 <td></td>
11726 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11727 <td class="paramname"><em>dims</em>&#160;</td>
11728 </tr>
11729 <tr>
11730 <td></td>
11731 <td>)</td>
11732 <td></td><td></td>
11733 </tr>
11734 </table>
11735</div><div class="memdoc">
11736
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011737<p>Return an error if the passed dimension objects differ. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011738<dl class="params"><dt>Parameters</dt><dd>
11739 <table class="params">
11740 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11741 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11742 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11743 <tr><td class="paramdir">[in]</td><td class="paramname">dim1</td><td>The first object to be compared. </td></tr>
11744 <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 +000011745 <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 +010011746 </table>
11747 </dd>
11748</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011749<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 +010011750
Jenkinsb3a371b2018-05-23 11:36:53 +010011751<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00280">280</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011752
Jenkinsb3a371b2018-05-23 11:36:53 +010011753<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00108">arm_compute::detail::for_each_error()</a>.</p>
11754<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">detail::for_each_error</a>(detail::compare_dimension&lt;T&gt;(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward&lt;Ts&gt;(dims)...));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00192">Error.h:192</a></div></div>
11755<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#l00051">Error.h:51</a></div></div>
11756<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a2fa22dee7227625fa4516f267235667c"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">arm_compute::detail::for_each_error</a></div><div class="ttdeci">arm_compute::Status for_each_error(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00114">Validate.h:114</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011757</div><!-- fragment -->
11758</div>
11759</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011760<a class="anchor" id="aafd4504246cc7e82e108204cb9636a90"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011761<div class="memitem">
11762<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011763<table class="mlabels">
11764 <tr>
11765 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011766 <table class="memname">
11767 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011768 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011769 <td>(</td>
11770 <td class="paramtype">const char *&#160;</td>
11771 <td class="paramname"><em>function</em>, </td>
11772 </tr>
11773 <tr>
11774 <td class="paramkey"></td>
11775 <td></td>
11776 <td class="paramtype">const char *&#160;</td>
11777 <td class="paramname"><em>file</em>, </td>
11778 </tr>
11779 <tr>
11780 <td class="paramkey"></td>
11781 <td></td>
11782 <td class="paramtype">const int&#160;</td>
11783 <td class="paramname"><em>line</em>, </td>
11784 </tr>
11785 <tr>
11786 <td class="paramkey"></td>
11787 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011788 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11789 <td class="paramname"><em>tensor_info_1</em>, </td>
11790 </tr>
11791 <tr>
11792 <td class="paramkey"></td>
11793 <td></td>
11794 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11795 <td class="paramname"><em>tensor_info_2</em>, </td>
11796 </tr>
11797 <tr>
11798 <td class="paramkey"></td>
11799 <td></td>
11800 <td class="paramtype">Ts...&#160;</td>
11801 <td class="paramname"><em>tensor_infos</em>&#160;</td>
11802 </tr>
11803 <tr>
11804 <td></td>
11805 <td>)</td>
11806 <td></td><td></td>
11807 </tr>
11808 </table>
11809 </td>
11810 <td class="mlabels-right">
11811<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11812 </tr>
11813</table>
11814</div><div class="memdoc">
11815
11816<p>Return an error if the passed tensor infos have different fixed point data types or different fixed point positions. </p>
11817<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
11818<dl class="params"><dt>Parameters</dt><dd>
11819 <table class="params">
11820 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11821 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11822 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11823 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
11824 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
11825 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
11826 </table>
11827 </dd>
11828</dl>
11829<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>
11830
Jenkinsb3a371b2018-05-23 11:36:53 +010011831<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00562">562</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011832
Jenkinsb3a371b2018-05-23 11:36:53 +010011833<p>References <a class="el" href="_error_8h_source.xhtml#l00230">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="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01037">is_data_type_fixed_point()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011834
Jenkinsb3a371b2018-05-23 11:36:53 +010011835<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00601">error_on_mismatching_fixed_point()</a>.</p>
11836<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> <span class="keywordtype">int</span> first_fixed_point_position = tensor_info_1-&gt;fixed_point_position();</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#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</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 fixed point 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;fixed_point_position() != first_fixed_point_position;</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 fixed point positions&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#l00230">Error.h:230</a></div></div>
11837<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#l00051">Error.h:51</a></div></div>
11838<div class="ttc" id="namespacearm__compute_xhtml_ab6bb62694ae8369d18a9c9687040975e"><div class="ttname"><a href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">arm_compute::is_data_type_fixed_point</a></div><div class="ttdeci">bool is_data_type_fixed_point(DataType dt)</div><div class="ttdoc">Check if a given data type is of fixed point type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01037">Utils.h:1037</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011839<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011840</div><!-- fragment -->
11841</div>
11842</div>
11843<a class="anchor" id="a8ecebd0b1ad2f0c593f7b093a1e43448"></a>
11844<div class="memitem">
11845<div class="memproto">
11846<table class="mlabels">
11847 <tr>
11848 <td class="mlabels-left">
11849 <table class="memname">
11850 <tr>
11851 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point </td>
11852 <td>(</td>
11853 <td class="paramtype">const char *&#160;</td>
11854 <td class="paramname"><em>function</em>, </td>
11855 </tr>
11856 <tr>
11857 <td class="paramkey"></td>
11858 <td></td>
11859 <td class="paramtype">const char *&#160;</td>
11860 <td class="paramname"><em>file</em>, </td>
11861 </tr>
11862 <tr>
11863 <td class="paramkey"></td>
11864 <td></td>
11865 <td class="paramtype">const int&#160;</td>
11866 <td class="paramname"><em>line</em>, </td>
11867 </tr>
11868 <tr>
11869 <td class="paramkey"></td>
11870 <td></td>
11871 <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 +010011872 <td class="paramname"><em>tensor_1</em>, </td>
11873 </tr>
11874 <tr>
11875 <td class="paramkey"></td>
11876 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011877 <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 +010011878 <td class="paramname"><em>tensor_2</em>, </td>
11879 </tr>
11880 <tr>
11881 <td class="paramkey"></td>
11882 <td></td>
11883 <td class="paramtype">Ts...&#160;</td>
11884 <td class="paramname"><em>tensors</em>&#160;</td>
11885 </tr>
11886 <tr>
11887 <td></td>
11888 <td>)</td>
11889 <td></td><td></td>
11890 </tr>
11891 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011892 </td>
11893 <td class="mlabels-right">
11894<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11895 </tr>
11896</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011897</div><div class="memdoc">
11898
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011899<p>Return an error if the passed tensor have different fixed point data types or different fixed point positions. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011900<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
11901<dl class="params"><dt>Parameters</dt><dd>
11902 <table class="params">
11903 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11904 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11905 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11906 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
11907 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011908 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011909 </table>
11910 </dd>
11911</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011912<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 +010011913
Jenkinsb3a371b2018-05-23 11:36:53 +010011914<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00601">601</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011915
Jenkinsb3a371b2018-05-23 11:36:53 +010011916<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_fixed_point()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
11917<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#aafd4504246cc7e82e108204cb9636a90">arm_compute::error_on_mismatching_fixed_point</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aafd4504246cc7e82e108204cb9636a90"><div class="ttname"><a href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">arm_compute::error_on_mismatching_fixed_point</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_fixed_point(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 fixed point data types or different fixed p...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00562">Validate.h:562</a></div></div>
11918<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#l00192">Error.h:192</a></div></div>
11919<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#l00051">Error.h:51</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011920</div><!-- fragment -->
11921</div>
11922</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011923<a class="anchor" id="a82c748dc3464dfc48133fbf8f84d7240"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011924<div class="memitem">
11925<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011926<table class="mlabels">
11927 <tr>
11928 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011929 <table class="memname">
11930 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011931 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point_position </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011932 <td>(</td>
11933 <td class="paramtype">const char *&#160;</td>
11934 <td class="paramname"><em>function</em>, </td>
11935 </tr>
11936 <tr>
11937 <td class="paramkey"></td>
11938 <td></td>
11939 <td class="paramtype">const char *&#160;</td>
11940 <td class="paramname"><em>file</em>, </td>
11941 </tr>
11942 <tr>
11943 <td class="paramkey"></td>
11944 <td></td>
11945 <td class="paramtype">const int&#160;</td>
11946 <td class="paramname"><em>line</em>, </td>
11947 </tr>
11948 <tr>
11949 <td class="paramkey"></td>
11950 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011951 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11952 <td class="paramname"><em>tensor_info_1</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011953 </tr>
11954 <tr>
11955 <td class="paramkey"></td>
11956 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011957 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11958 <td class="paramname"><em>tensor_info_2</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011959 </tr>
11960 <tr>
11961 <td class="paramkey"></td>
11962 <td></td>
11963 <td class="paramtype">Ts...&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011964 <td class="paramname"><em>tensor_infos</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011965 </tr>
11966 <tr>
11967 <td></td>
11968 <td>)</td>
11969 <td></td><td></td>
11970 </tr>
11971 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011972 </td>
11973 <td class="mlabels-right">
11974<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11975 </tr>
11976</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011977</div><div class="memdoc">
11978
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011979<p>Return an error if the input fixed-point positions are different. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011980<dl class="params"><dt>Parameters</dt><dd>
11981 <table class="params">
11982 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11983 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11984 <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 +000011985 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
11986 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
11987 <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 +010011988 </table>
11989 </dd>
11990</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011991<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 +010011992
Jenkinsb3a371b2018-05-23 11:36:53 +010011993<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00955">955</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011994
Jenkinsb3a371b2018-05-23 11:36:53 +010011995<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011996
Jenkinsb3a371b2018-05-23 11:36:53 +010011997<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00978">error_on_mismatching_fixed_point_position()</a>.</p>
11998<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; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensor_info_array{ { tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_info_array.begin(), tensor_info_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><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">return</span> tensor_info-&gt;fixed_point_position() != tensor_info_1-&gt;fixed_point_position();</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="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed-point positions&quot;</span>);</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</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="l00965"></a><span class="lineno"> 965</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#l00230">Error.h:230</a></div></div>
11999<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#l00051">Error.h:51</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000012000</div><!-- fragment -->
12001</div>
12002</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012003<a class="anchor" id="adec7d6b27c9cacab7940ce67eaab4bf6"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012004<div class="memitem">
12005<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012006<table class="mlabels">
12007 <tr>
12008 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000012009 <table class="memname">
12010 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012011 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point_position </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012012 <td>(</td>
12013 <td class="paramtype">const char *&#160;</td>
12014 <td class="paramname"><em>function</em>, </td>
12015 </tr>
12016 <tr>
12017 <td class="paramkey"></td>
12018 <td></td>
12019 <td class="paramtype">const char *&#160;</td>
12020 <td class="paramname"><em>file</em>, </td>
12021 </tr>
12022 <tr>
12023 <td class="paramkey"></td>
12024 <td></td>
12025 <td class="paramtype">const int&#160;</td>
12026 <td class="paramname"><em>line</em>, </td>
12027 </tr>
12028 <tr>
12029 <td class="paramkey"></td>
12030 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012031 <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 +000012032 <td class="paramname"><em>tensor_1</em>, </td>
12033 </tr>
12034 <tr>
12035 <td class="paramkey"></td>
12036 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012037 <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 +000012038 <td class="paramname"><em>tensor_2</em>, </td>
12039 </tr>
12040 <tr>
12041 <td class="paramkey"></td>
12042 <td></td>
12043 <td class="paramtype">Ts...&#160;</td>
12044 <td class="paramname"><em>tensors</em>&#160;</td>
12045 </tr>
12046 <tr>
12047 <td></td>
12048 <td>)</td>
12049 <td></td><td></td>
12050 </tr>
12051 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012052 </td>
12053 <td class="mlabels-right">
12054<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12055 </tr>
12056</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000012057</div><div class="memdoc">
12058
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012059<p>Return an error if the input fixed-point positions are different. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012060<dl class="params"><dt>Parameters</dt><dd>
12061 <table class="params">
12062 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12063 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12064 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12065 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
12066 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012067 <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 +000012068 </table>
12069 </dd>
12070</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012071<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 +000012072
Jenkinsb3a371b2018-05-23 11:36:53 +010012073<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00978">978</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012074
Jenkinsb3a371b2018-05-23 11:36:53 +010012075<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00955">error_on_mismatching_fixed_point_position()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
12076<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; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">arm_compute::error_on_mismatching_fixed_point_position</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</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="l00984"></a><span class="lineno"> 984</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#l00192">Error.h:192</a></div></div>
12077<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#l00051">Error.h:51</a></div></div>
12078<div class="ttc" id="namespacearm__compute_xhtml_a82c748dc3464dfc48133fbf8f84d7240"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">arm_compute::error_on_mismatching_fixed_point_position</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_fixed_point_position(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 input fixed-point positions are different. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00955">Validate.h:955</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012079</div><!-- fragment -->
12080</div>
12081</div>
12082<a class="anchor" id="af4c3199d58278db542e1cdfb72a41901"></a>
12083<div class="memitem">
12084<div class="memproto">
12085<table class="mlabels">
12086 <tr>
12087 <td class="mlabels-left">
12088 <table class="memname">
12089 <tr>
12090 <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>
12091 <td>(</td>
12092 <td class="paramtype">const char *&#160;</td>
12093 <td class="paramname"><em>function</em>, </td>
12094 </tr>
12095 <tr>
12096 <td class="paramkey"></td>
12097 <td></td>
12098 <td class="paramtype">const char *&#160;</td>
12099 <td class="paramname"><em>file</em>, </td>
12100 </tr>
12101 <tr>
12102 <td class="paramkey"></td>
12103 <td></td>
12104 <td class="paramtype">const int&#160;</td>
12105 <td class="paramname"><em>line</em>, </td>
12106 </tr>
12107 <tr>
12108 <td class="paramkey"></td>
12109 <td></td>
12110 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12111 <td class="paramname"><em>tensor_info_1</em>, </td>
12112 </tr>
12113 <tr>
12114 <td class="paramkey"></td>
12115 <td></td>
12116 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12117 <td class="paramname"><em>tensor_info_2</em>, </td>
12118 </tr>
12119 <tr>
12120 <td class="paramkey"></td>
12121 <td></td>
12122 <td class="paramtype">Ts...&#160;</td>
12123 <td class="paramname"><em>tensor_infos</em>&#160;</td>
12124 </tr>
12125 <tr>
12126 <td></td>
12127 <td>)</td>
12128 <td></td><td></td>
12129 </tr>
12130 </table>
12131 </td>
12132 <td class="mlabels-right">
12133<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12134 </tr>
12135</table>
12136</div><div class="memdoc">
12137
12138<p>Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. </p>
12139<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>
12140<dl class="params"><dt>Parameters</dt><dd>
12141 <table class="params">
12142 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12143 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12144 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12145 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
12146 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
12147 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
12148 </table>
12149 </dd>
12150</dl>
12151<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>
12152
Jenkinsb3a371b2018-05-23 11:36:53 +010012153<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00627">627</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012154
Jenkinsb3a371b2018-05-23 11:36:53 +010012155<p>References <a class="el" href="_error_8h_source.xhtml#l00230">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#l01056">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 +000012156
Jenkinsb3a371b2018-05-23 11:36:53 +010012157<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00666">error_on_mismatching_quantization_info()</a>.</p>
12158<div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;{</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <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="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1-&gt;quantization_info();</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="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="l00634"></a><span class="lineno"> 634</span>&#160; {</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</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="l00636"></a><span class="lineno"> 636</span>&#160; }</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="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="l00639"></a><span class="lineno"> 639</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="l00640"></a><span class="lineno"> 640</span>&#160; {</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">return</span> tensor_info-&gt;data_type() != first_data_type;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; }),</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</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="l00644"></a><span class="lineno"> 644</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="l00645"></a><span class="lineno"> 645</span>&#160; {</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">return</span> tensor_info-&gt;quantization_info() != first_quantization_info;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; }),</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different quantization information&quot;</span>);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</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#l00230">Error.h:230</a></div></div>
12159<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#l00051">Error.h:51</a></div></div>
12160<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#l01056">Utils.h:1056</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000012161<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012162</div><!-- fragment -->
12163</div>
12164</div>
12165<a class="anchor" id="a5be375b525bba68610a75da0a043df3a"></a>
12166<div class="memitem">
12167<div class="memproto">
12168<table class="mlabels">
12169 <tr>
12170 <td class="mlabels-left">
12171 <table class="memname">
12172 <tr>
12173 <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>
12174 <td>(</td>
12175 <td class="paramtype">const char *&#160;</td>
12176 <td class="paramname"><em>function</em>, </td>
12177 </tr>
12178 <tr>
12179 <td class="paramkey"></td>
12180 <td></td>
12181 <td class="paramtype">const char *&#160;</td>
12182 <td class="paramname"><em>file</em>, </td>
12183 </tr>
12184 <tr>
12185 <td class="paramkey"></td>
12186 <td></td>
12187 <td class="paramtype">const int&#160;</td>
12188 <td class="paramname"><em>line</em>, </td>
12189 </tr>
12190 <tr>
12191 <td class="paramkey"></td>
12192 <td></td>
12193 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12194 <td class="paramname"><em>tensor_1</em>, </td>
12195 </tr>
12196 <tr>
12197 <td class="paramkey"></td>
12198 <td></td>
12199 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12200 <td class="paramname"><em>tensor_2</em>, </td>
12201 </tr>
12202 <tr>
12203 <td class="paramkey"></td>
12204 <td></td>
12205 <td class="paramtype">Ts...&#160;</td>
12206 <td class="paramname"><em>tensors</em>&#160;</td>
12207 </tr>
12208 <tr>
12209 <td></td>
12210 <td>)</td>
12211 <td></td><td></td>
12212 </tr>
12213 </table>
12214 </td>
12215 <td class="mlabels-right">
12216<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12217 </tr>
12218</table>
12219</div><div class="memdoc">
12220
12221<p>Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. </p>
12222<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>
12223<dl class="params"><dt>Parameters</dt><dd>
12224 <table class="params">
12225 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12226 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12227 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12228 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
12229 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
12230 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
12231 </table>
12232 </dd>
12233</dl>
12234<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>
12235
Jenkinsb3a371b2018-05-23 11:36:53 +010012236<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00666">666</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012237
Jenkinsb3a371b2018-05-23 11:36:53 +010012238<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00627">error_on_mismatching_quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
12239<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; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</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="l00672"></a><span class="lineno"> 672</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4c3199d58278db542e1cdfb72a41901"><div class="ttname"><a href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_quantization_info(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different asymmetric quantized data types or differen...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00627">Validate.h:627</a></div></div>
12240<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#l00192">Error.h:192</a></div></div>
12241<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#l00051">Error.h:51</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012242</div><!-- fragment -->
12243</div>
12244</div>
12245<a class="anchor" id="aea117e0cebca5f4642ed3f269217a09e"></a>
12246<div class="memitem">
12247<div class="memproto">
12248<table class="mlabels">
12249 <tr>
12250 <td class="mlabels-left">
12251 <table class="memname">
12252 <tr>
12253 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
12254 <td>(</td>
12255 <td class="paramtype">const char *&#160;</td>
12256 <td class="paramname"><em>function</em>, </td>
12257 </tr>
12258 <tr>
12259 <td class="paramkey"></td>
12260 <td></td>
12261 <td class="paramtype">const char *&#160;</td>
12262 <td class="paramname"><em>file</em>, </td>
12263 </tr>
12264 <tr>
12265 <td class="paramkey"></td>
12266 <td></td>
12267 <td class="paramtype">const int&#160;</td>
12268 <td class="paramname"><em>line</em>, </td>
12269 </tr>
12270 <tr>
12271 <td class="paramkey"></td>
12272 <td></td>
12273 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12274 <td class="paramname"><em>tensor_info_1</em>, </td>
12275 </tr>
12276 <tr>
12277 <td class="paramkey"></td>
12278 <td></td>
12279 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12280 <td class="paramname"><em>tensor_info_2</em>, </td>
12281 </tr>
12282 <tr>
12283 <td class="paramkey"></td>
12284 <td></td>
12285 <td class="paramtype">Ts...&#160;</td>
12286 <td class="paramname"><em>tensor_infos</em>&#160;</td>
12287 </tr>
12288 <tr>
12289 <td></td>
12290 <td>)</td>
12291 <td></td><td></td>
12292 </tr>
12293 </table>
12294 </td>
12295 <td class="mlabels-right">
12296<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12297 </tr>
12298</table>
12299</div><div class="memdoc">
12300
12301<p>Return an error if the passed two tensor infos have different shapes from the given dimension. </p>
12302<dl class="params"><dt>Parameters</dt><dd>
12303 <table class="params">
12304 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12305 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12306 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12307 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
12308 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
12309 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
12310 </table>
12311 </dd>
12312</dl>
12313<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>
12314
Jenkinsb3a371b2018-05-23 11:36:53 +010012315<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00368">368</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012316
Anthony Barbierdbdab852017-06-23 15:42:00 +010012317<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012318
Jenkinsb3a371b2018-05-23 11:36:53 +010012319<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00385">error_on_mismatching_shapes()</a>.</p>
12320<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;{</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_info_1, tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)...);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_afa04b5bdea84e0effab066e3b1324ec5"><div class="ttname"><a href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Return an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00431">Validate.h:431</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012321</div><!-- fragment -->
12322</div>
12323</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012324<a class="anchor" id="a41328dd4b943d34c1cc61410571fd6fa"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012325<div class="memitem">
12326<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012327<table class="mlabels">
12328 <tr>
12329 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010012330 <table class="memname">
12331 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012332 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
12333 <td>(</td>
12334 <td class="paramtype">const char *&#160;</td>
12335 <td class="paramname"><em>function</em>, </td>
12336 </tr>
12337 <tr>
12338 <td class="paramkey"></td>
12339 <td></td>
12340 <td class="paramtype">const char *&#160;</td>
12341 <td class="paramname"><em>file</em>, </td>
12342 </tr>
12343 <tr>
12344 <td class="paramkey"></td>
12345 <td></td>
12346 <td class="paramtype">const int&#160;</td>
12347 <td class="paramname"><em>line</em>, </td>
12348 </tr>
12349 <tr>
12350 <td class="paramkey"></td>
12351 <td></td>
12352 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12353 <td class="paramname"><em>tensor_1</em>, </td>
12354 </tr>
12355 <tr>
12356 <td class="paramkey"></td>
12357 <td></td>
12358 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12359 <td class="paramname"><em>tensor_2</em>, </td>
12360 </tr>
12361 <tr>
12362 <td class="paramkey"></td>
12363 <td></td>
12364 <td class="paramtype">Ts...&#160;</td>
12365 <td class="paramname"><em>tensors</em>&#160;</td>
12366 </tr>
12367 <tr>
12368 <td></td>
12369 <td>)</td>
12370 <td></td><td></td>
12371 </tr>
12372 </table>
12373 </td>
12374 <td class="mlabels-right">
12375<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12376 </tr>
12377</table>
12378</div><div class="memdoc">
12379
12380<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
12381<dl class="params"><dt>Parameters</dt><dd>
12382 <table class="params">
12383 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12384 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12385 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12386 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
12387 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
12388 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
12389 </table>
12390 </dd>
12391</dl>
12392<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>
12393
Jenkinsb3a371b2018-05-23 11:36:53 +010012394<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00385">385</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012395
Jenkinsb3a371b2018-05-23 11:36:53 +010012396<p>References <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
12397<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_1, tensor_2, std::forward&lt;Ts&gt;(tensors)...);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_afa04b5bdea84e0effab066e3b1324ec5"><div class="ttname"><a href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Return an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00431">Validate.h:431</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012398</div><!-- fragment -->
12399</div>
12400</div>
12401<a class="anchor" id="aac6150cce1c9c666600e4b320a0066e9"></a>
12402<div class="memitem">
12403<div class="memproto">
12404<table class="mlabels">
12405 <tr>
12406 <td class="mlabels-left">
12407 <table class="memname">
12408 <tr>
12409 <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 +010012410 <td>(</td>
12411 <td class="paramtype">const char *&#160;</td>
12412 <td class="paramname"><em>function</em>, </td>
12413 </tr>
12414 <tr>
12415 <td class="paramkey"></td>
12416 <td></td>
12417 <td class="paramtype">const char *&#160;</td>
12418 <td class="paramname"><em>file</em>, </td>
12419 </tr>
12420 <tr>
12421 <td class="paramkey"></td>
12422 <td></td>
12423 <td class="paramtype">const int&#160;</td>
12424 <td class="paramname"><em>line</em>, </td>
12425 </tr>
12426 <tr>
12427 <td class="paramkey"></td>
12428 <td></td>
12429 <td class="paramtype">unsigned int&#160;</td>
12430 <td class="paramname"><em>upper_dim</em>, </td>
12431 </tr>
12432 <tr>
12433 <td class="paramkey"></td>
12434 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012435 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12436 <td class="paramname"><em>tensor_info_1</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012437 </tr>
12438 <tr>
12439 <td class="paramkey"></td>
12440 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012441 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12442 <td class="paramname"><em>tensor_info_2</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012443 </tr>
12444 <tr>
12445 <td class="paramkey"></td>
12446 <td></td>
12447 <td class="paramtype">Ts...&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012448 <td class="paramname"><em>tensor_infos</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012449 </tr>
12450 <tr>
12451 <td></td>
12452 <td>)</td>
12453 <td></td><td></td>
12454 </tr>
12455 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012456 </td>
12457 <td class="mlabels-right">
12458<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12459 </tr>
12460</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012461</div><div class="memdoc">
12462
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012463<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012464<dl class="params"><dt>Parameters</dt><dd>
12465 <table class="params">
12466 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12467 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12468 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12469 <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 +000012470 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
12471 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
12472 <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 +010012473 </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 Barbierdbdab852017-06-23 15:42:00 +010012477
Jenkinsb3a371b2018-05-23 11:36:53 +010012478<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00403">403</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012479
Jenkinsb3a371b2018-05-23 11:36:53 +010012480<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>
12481<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;{</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info_1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info_2 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 2 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor_info_1, tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(std::next(tensors_info_array.cbegin()), tensors_info_array.cend(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_info_array.cbegin())-&gt;tensor_shape(), tensor_info-&gt;tensor_shape(), upper_dim);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }),</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different shapes&quot;</span>);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00230">Error.h:230</a></div></div>
12482<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
12483<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#l00253">Error.h:253</a></div></div>
12484<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#l00192">Error.h:192</a></div></div>
12485<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#l00051">Error.h:51</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012486<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 +000012487</div><!-- fragment -->
12488</div>
12489</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012490<a class="anchor" id="afa04b5bdea84e0effab066e3b1324ec5"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012491<div class="memitem">
12492<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012493<table class="mlabels">
12494 <tr>
12495 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000012496 <table class="memname">
12497 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012498 <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 +000012499 <td>(</td>
12500 <td class="paramtype">const char *&#160;</td>
12501 <td class="paramname"><em>function</em>, </td>
12502 </tr>
12503 <tr>
12504 <td class="paramkey"></td>
12505 <td></td>
12506 <td class="paramtype">const char *&#160;</td>
12507 <td class="paramname"><em>file</em>, </td>
12508 </tr>
12509 <tr>
12510 <td class="paramkey"></td>
12511 <td></td>
12512 <td class="paramtype">const int&#160;</td>
12513 <td class="paramname"><em>line</em>, </td>
12514 </tr>
12515 <tr>
12516 <td class="paramkey"></td>
12517 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012518 <td class="paramtype">unsigned int&#160;</td>
12519 <td class="paramname"><em>upper_dim</em>, </td>
12520 </tr>
12521 <tr>
12522 <td class="paramkey"></td>
12523 <td></td>
12524 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12525 <td class="paramname"><em>tensor_1</em>, </td>
12526 </tr>
12527 <tr>
12528 <td class="paramkey"></td>
12529 <td></td>
12530 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12531 <td class="paramname"><em>tensor_2</em>, </td>
12532 </tr>
12533 <tr>
12534 <td class="paramkey"></td>
12535 <td></td>
12536 <td class="paramtype">Ts...&#160;</td>
12537 <td class="paramname"><em>tensors</em>&#160;</td>
12538 </tr>
12539 <tr>
12540 <td></td>
12541 <td>)</td>
12542 <td></td><td></td>
12543 </tr>
12544 </table>
12545 </td>
12546 <td class="mlabels-right">
12547<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12548 </tr>
12549</table>
12550</div><div class="memdoc">
12551
12552<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
12553<dl class="params"><dt>Parameters</dt><dd>
12554 <table class="params">
12555 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12556 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12557 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12558 <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
12559 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
12560 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
12561 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
12562 </table>
12563 </dd>
12564</dl>
12565<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>
12566
Jenkinsb3a371b2018-05-23 11:36:53 +010012567<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00431">431</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012568
Jenkinsb3a371b2018-05-23 11:36:53 +010012569<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>
12570<div class="fragment"><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;{</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_2 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, upper_dim, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
12571<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#l00253">Error.h:253</a></div></div>
12572<div class="ttc" id="namespacearm__compute_xhtml_aea117e0cebca5f4642ed3f269217a09e"><div class="ttname"><a href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different shapes from the given dimension...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00368">Validate.h:368</a></div></div>
12573<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#l00192">Error.h:192</a></div></div>
12574<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#l00051">Error.h:51</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012575</div><!-- fragment -->
12576</div>
12577</div>
12578<a class="anchor" id="a75738bb24f735248ab9584cd24544234"></a>
12579<div class="memitem">
12580<div class="memproto">
12581 <table class="memname">
12582 <tr>
12583 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_windows </td>
12584 <td>(</td>
12585 <td class="paramtype">const char *&#160;</td>
12586 <td class="paramname"><em>function</em>, </td>
12587 </tr>
12588 <tr>
12589 <td class="paramkey"></td>
12590 <td></td>
12591 <td class="paramtype">const char *&#160;</td>
12592 <td class="paramname"><em>file</em>, </td>
12593 </tr>
12594 <tr>
12595 <td class="paramkey"></td>
12596 <td></td>
12597 <td class="paramtype">const int&#160;</td>
12598 <td class="paramname"><em>line</em>, </td>
12599 </tr>
12600 <tr>
12601 <td class="paramkey"></td>
12602 <td></td>
12603 <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 +000012604 <td class="paramname"><em>full</em>, </td>
12605 </tr>
12606 <tr>
12607 <td class="paramkey"></td>
12608 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012609 <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 +000012610 <td class="paramname"><em>win</em>&#160;</td>
12611 </tr>
12612 <tr>
12613 <td></td>
12614 <td>)</td>
12615 <td></td><td></td>
12616 </tr>
12617 </table>
12618</div><div class="memdoc">
12619
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012620<p>Return an error if the passed window is invalid. </p>
12621<p>The subwindow is invalid if:</p><ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000012622<li>It is not a valid window.</li>
12623<li>Its dimensions don't match the full window's ones</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012624<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
12625</ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000012626<dl class="params"><dt>Parameters</dt><dd>
12627 <table class="params">
12628 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12629 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12630 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12631 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012632 <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 +000012633 </table>
12634 </dd>
12635</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012636<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 +000012637
12638</div>
12639</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012640<a class="anchor" id="af4587cd36ddbf2e4dde217d1a1007940"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012641<div class="memitem">
12642<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012643<table class="mlabels">
12644 <tr>
12645 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010012646 <table class="memname">
12647 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012648 <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 +010012649 <td>(</td>
12650 <td class="paramtype">const char *&#160;</td>
12651 <td class="paramname"><em>function</em>, </td>
12652 </tr>
12653 <tr>
12654 <td class="paramkey"></td>
12655 <td></td>
12656 <td class="paramtype">const char *&#160;</td>
12657 <td class="paramname"><em>file</em>, </td>
12658 </tr>
12659 <tr>
12660 <td class="paramkey"></td>
12661 <td></td>
12662 <td class="paramtype">const int&#160;</td>
12663 <td class="paramname"><em>line</em>, </td>
12664 </tr>
12665 <tr>
12666 <td class="paramkey"></td>
12667 <td></td>
12668 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
12669 <td class="paramname"><em>pointers</em>&#160;</td>
12670 </tr>
12671 <tr>
12672 <td></td>
12673 <td>)</td>
12674 <td></td><td></td>
12675 </tr>
12676 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012677 </td>
12678 <td class="mlabels-right">
12679<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12680 </tr>
12681</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012682</div><div class="memdoc">
12683
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012684<p>Create an error if one of the pointers is a nullptr. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012685<dl class="params"><dt>Parameters</dt><dd>
12686 <table class="params">
12687 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12688 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12689 <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 +000012690 <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 +010012691 </table>
12692 </dd>
12693</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012694<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 +010012695
Jenkinsb3a371b2018-05-23 11:36:53 +010012696<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00151">151</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012697
Jenkinsb3a371b2018-05-23 11:36:53 +010012698<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012699
Jenkinsb3a371b2018-05-23 11:36:53 +010012700<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00403">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
12701<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#l00230">Error.h:230</a></div></div>
12702<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#l00051">Error.h:51</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012703</div><!-- fragment -->
12704</div>
12705</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012706<a class="anchor" id="a9f37a1ead28d12ce216e27209dae2a81"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012707<div class="memitem">
12708<div class="memproto">
12709 <table class="memname">
12710 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012711 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensor_not_2d </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012712 <td>(</td>
12713 <td class="paramtype">const char *&#160;</td>
12714 <td class="paramname"><em>function</em>, </td>
12715 </tr>
12716 <tr>
12717 <td class="paramkey"></td>
12718 <td></td>
12719 <td class="paramtype">const char *&#160;</td>
12720 <td class="paramname"><em>file</em>, </td>
12721 </tr>
12722 <tr>
12723 <td class="paramkey"></td>
12724 <td></td>
12725 <td class="paramtype">const int&#160;</td>
12726 <td class="paramname"><em>line</em>, </td>
12727 </tr>
12728 <tr>
12729 <td class="paramkey"></td>
12730 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012731 <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 +000012732 <td class="paramname"><em>tensor</em>&#160;</td>
12733 </tr>
12734 <tr>
12735 <td></td>
12736 <td>)</td>
12737 <td></td><td></td>
12738 </tr>
12739 </table>
12740</div><div class="memdoc">
12741
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012742<p>Return an error if the tensor is not 2D. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012743<dl class="params"><dt>Parameters</dt><dd>
12744 <table class="params">
12745 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12746 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12747 <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 +000012748 <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 +000012749 </table>
12750 </dd>
12751</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012752<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 +000012753
12754</div>
12755</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000012756<a class="anchor" id="a5bee409f8a6904df028626835b3a19be"></a>
12757<div class="memitem">
12758<div class="memproto">
12759 <table class="memname">
12760 <tr>
12761 <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>
12762 <td>(</td>
12763 <td class="paramtype">const char *&#160;</td>
12764 <td class="paramname"><em>function</em>, </td>
12765 </tr>
12766 <tr>
12767 <td class="paramkey"></td>
12768 <td></td>
12769 <td class="paramtype">const char *&#160;</td>
12770 <td class="paramname"><em>file</em>, </td>
12771 </tr>
12772 <tr>
12773 <td class="paramkey"></td>
12774 <td></td>
12775 <td class="paramtype">int&#160;</td>
12776 <td class="paramname"><em>line</em>, </td>
12777 </tr>
12778 <tr>
12779 <td class="paramkey"></td>
12780 <td></td>
12781 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
12782 <td class="paramname"><em>format</em>, </td>
12783 </tr>
12784 <tr>
12785 <td class="paramkey"></td>
12786 <td></td>
12787 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12788 <td class="paramname"><em>tensor1</em>, </td>
12789 </tr>
12790 <tr>
12791 <td class="paramkey"></td>
12792 <td></td>
12793 <td class="paramtype">Ts...&#160;</td>
12794 <td class="paramname"><em>tensors</em>&#160;</td>
12795 </tr>
12796 <tr>
12797 <td></td>
12798 <td>)</td>
12799 <td></td><td></td>
12800 </tr>
12801 </table>
12802</div><div class="memdoc">
12803
12804<p>Return an error if the passed tensor objects are not even. </p>
12805<dl class="params"><dt>Parameters</dt><dd>
12806 <table class="params">
12807 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12808 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12809 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12810 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to check if odd shape is allowed </td></tr>
12811 <tr><td class="paramdir">[in]</td><td class="paramname">tensor1</td><td>The first object to be compared for odd shape. </td></tr>
12812 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed objects.</td></tr>
12813 </table>
12814 </dd>
12815</dl>
12816<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>
12817
Jenkinsb3a371b2018-05-23 11:36:53 +010012818<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00303">303</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000012819
Jenkinsb3a371b2018-05-23 11:36:53 +010012820<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>
12821<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;{</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keyword">const</span> TensorShape correct_shape = <a class="code" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a>(tensor-&gt;info()-&gt;tensor_shape(), format);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), correct_shape, 2);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }),</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has odd dimensions&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00230">Error.h:230</a></div></div>
12822<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
12823<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#l00253">Error.h:253</a></div></div>
12824<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#l00192">Error.h:192</a></div></div>
12825<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#l00051">Error.h:51</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000012826<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>
Jenkinsb3a371b2018-05-23 11:36:53 +010012827<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#l00688">Utils.h:688</a></div></div>
12828</div><!-- fragment -->
12829</div>
12830</div>
12831<a class="anchor" id="ade35257cf58582ca7c3f6c7d1ceff5f2"></a>
12832<div class="memitem">
12833<div class="memproto">
12834 <table class="memname">
12835 <tr>
12836 <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>
12837 <td>(</td>
12838 <td class="paramtype">const char *&#160;</td>
12839 <td class="paramname"><em>function</em>, </td>
12840 </tr>
12841 <tr>
12842 <td class="paramkey"></td>
12843 <td></td>
12844 <td class="paramtype">const char *&#160;</td>
12845 <td class="paramname"><em>file</em>, </td>
12846 </tr>
12847 <tr>
12848 <td class="paramkey"></td>
12849 <td></td>
12850 <td class="paramtype">int&#160;</td>
12851 <td class="paramname"><em>line</em>, </td>
12852 </tr>
12853 <tr>
12854 <td class="paramkey"></td>
12855 <td></td>
12856 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
12857 <td class="paramname"><em>format</em>, </td>
12858 </tr>
12859 <tr>
12860 <td class="paramkey"></td>
12861 <td></td>
12862 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
12863 <td class="paramname"><em>shape</em>, </td>
12864 </tr>
12865 <tr>
12866 <td class="paramkey"></td>
12867 <td></td>
12868 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12869 <td class="paramname"><em>tensor1</em>, </td>
12870 </tr>
12871 <tr>
12872 <td class="paramkey"></td>
12873 <td></td>
12874 <td class="paramtype">Ts...&#160;</td>
12875 <td class="paramname"><em>tensors</em>&#160;</td>
12876 </tr>
12877 <tr>
12878 <td></td>
12879 <td>)</td>
12880 <td></td><td></td>
12881 </tr>
12882 </table>
12883</div><div class="memdoc">
12884
12885<p>Return an error if the passed tensor objects are not sub-sampled. </p>
12886<dl class="params"><dt>Parameters</dt><dd>
12887 <table class="params">
12888 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12889 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12890 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12891 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to check if sub-sampling allowed. </td></tr>
12892 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>The tensor shape to calculate sub-sampling from. </td></tr>
12893 <tr><td class="paramdir">[in]</td><td class="paramname">tensor1</td><td>The first object to be compared. </td></tr>
12894 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed objects.</td></tr>
12895 </table>
12896 </dd>
12897</dl>
12898<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>
12899
12900<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00336">336</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
12901
12902<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">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>
12903<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> TensorShape sub2_shape = <a class="code" href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">calculate_subsampled_shape</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, format);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), sub2_shape, 2);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }),</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has mismatch dimensions for sub-sampling&quot;</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
12904<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#l00230">Error.h:230</a></div></div>
12905<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#l00715">Utils.h:715</a></div></div>
12906<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
12907<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#l00253">Error.h:253</a></div></div>
12908<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#l00192">Error.h:192</a></div></div>
12909<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#l00051">Error.h:51</a></div></div>
12910<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 +000012911</div><!-- fragment -->
12912</div>
12913</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012914<a class="anchor" id="a33278ff3c7798e50c453599576f58bd8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012915<div class="memitem">
12916<div class="memproto">
12917 <table class="memname">
12918 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012919 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unconfigured_kernel </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012920 <td>(</td>
12921 <td class="paramtype">const char *&#160;</td>
12922 <td class="paramname"><em>function</em>, </td>
12923 </tr>
12924 <tr>
12925 <td class="paramkey"></td>
12926 <td></td>
12927 <td class="paramtype">const char *&#160;</td>
12928 <td class="paramname"><em>file</em>, </td>
12929 </tr>
12930 <tr>
12931 <td class="paramkey"></td>
12932 <td></td>
12933 <td class="paramtype">const int&#160;</td>
12934 <td class="paramname"><em>line</em>, </td>
12935 </tr>
12936 <tr>
12937 <td class="paramkey"></td>
12938 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012939 <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 +000012940 <td class="paramname"><em>kernel</em>&#160;</td>
12941 </tr>
12942 <tr>
12943 <td></td>
12944 <td>)</td>
12945 <td></td><td></td>
12946 </tr>
12947 </table>
12948</div><div class="memdoc">
12949
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012950<p>Return an error if the kernel is not configured. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012951<dl class="params"><dt>Parameters</dt><dd>
12952 <table class="params">
12953 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12954 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12955 <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 +010012956 <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 +000012957 </table>
12958 </dd>
12959</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +010012960<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 +000012961
12962</div>
12963</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012964<a class="anchor" id="a902b2c73a1317fd91a167e9d4d3f211b"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012965<div class="memitem">
12966<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012967<table class="mlabels">
12968 <tr>
12969 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010012970 <table class="memname">
12971 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012972 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_value_not_representable_in_fixed_point </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012973 <td>(</td>
12974 <td class="paramtype">const char *&#160;</td>
12975 <td class="paramname"><em>function</em>, </td>
12976 </tr>
12977 <tr>
12978 <td class="paramkey"></td>
12979 <td></td>
12980 <td class="paramtype">const char *&#160;</td>
12981 <td class="paramname"><em>file</em>, </td>
12982 </tr>
12983 <tr>
12984 <td class="paramkey"></td>
12985 <td></td>
12986 <td class="paramtype">int&#160;</td>
12987 <td class="paramname"><em>line</em>, </td>
12988 </tr>
12989 <tr>
12990 <td class="paramkey"></td>
12991 <td></td>
12992 <td class="paramtype">float&#160;</td>
12993 <td class="paramname"><em>value</em>, </td>
12994 </tr>
12995 <tr>
12996 <td class="paramkey"></td>
12997 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012998 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12999 <td class="paramname"><em>tensor_info</em>&#160;</td>
13000 </tr>
13001 <tr>
13002 <td></td>
13003 <td>)</td>
13004 <td></td><td></td>
13005 </tr>
13006 </table>
13007 </td>
13008 <td class="mlabels-right">
13009<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13010 </tr>
13011</table>
13012</div><div class="memdoc">
13013
13014<p>Return an error if the fixed-point value is not representable in the specified Q format. </p>
13015<dl class="params"><dt>Parameters</dt><dd>
13016 <table class="params">
13017 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13018 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13019 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13020 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
13021 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>Input tensor info that has information on data type and fixed-point position.</td></tr>
13022 </table>
13023 </dd>
13024</dl>
13025<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>
13026
Jenkinsb3a371b2018-05-23 11:36:53 +010013027<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l01000">1000</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013028
Jenkinsb3a371b2018-05-23 11:36:53 +010013029<p>References <a class="el" href="_error_8h_source.xhtml#l00230">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#l00182">element_size_from_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013030
Jenkinsb3a371b2018-05-23 11:36:53 +010013031<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l01022">error_on_value_not_representable_in_fixed_point()</a>.</p>
13032<div class="fragment"><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;{</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> fixed_point_position = tensor_info-&gt;fixed_point_position();</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt = tensor_info-&gt;data_type();</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> q_max_range = 0xFFFFFFFFu &gt;&gt; (((<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> int) - <a class="code" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a>(dt)) * 8) + 1);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> max_range = q_max_range / (<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(1 &lt;&lt; fixed_point_position));</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(value &gt; max_range, <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="stringliteral">&quot;Value %f is not representable in %s with fixed-point position %d&quot;</span>, value, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(dt).c_str(), fixed_point_position);</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</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="l01011"></a><span class="lineno"> 1011</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#l00230">Error.h:230</a></div></div>
13033<div class="ttc" id="namespacearm__compute_xhtml_a34b06c0cd94808a77b697e79880b84b0"><div class="ttname"><a href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">arm_compute::element_size_from_data_type</a></div><div class="ttdeci">size_t element_size_from_data_type(DataType dt)</div><div class="ttdoc">The size in bytes of the data type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00182">Utils.h:182</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013034<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013035<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#l00051">Error.h:51</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000013036<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013037</div><!-- fragment -->
13038</div>
13039</div>
13040<a class="anchor" id="ad865b21069f578ddb1c65cb32f3fcaa0"></a>
13041<div class="memitem">
13042<div class="memproto">
13043<table class="mlabels">
13044 <tr>
13045 <td class="mlabels-left">
13046 <table class="memname">
13047 <tr>
13048 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_value_not_representable_in_fixed_point </td>
13049 <td>(</td>
13050 <td class="paramtype">const char *&#160;</td>
13051 <td class="paramname"><em>function</em>, </td>
13052 </tr>
13053 <tr>
13054 <td class="paramkey"></td>
13055 <td></td>
13056 <td class="paramtype">const char *&#160;</td>
13057 <td class="paramname"><em>file</em>, </td>
13058 </tr>
13059 <tr>
13060 <td class="paramkey"></td>
13061 <td></td>
13062 <td class="paramtype">int&#160;</td>
13063 <td class="paramname"><em>line</em>, </td>
13064 </tr>
13065 <tr>
13066 <td class="paramkey"></td>
13067 <td></td>
13068 <td class="paramtype">float&#160;</td>
13069 <td class="paramname"><em>value</em>, </td>
13070 </tr>
13071 <tr>
13072 <td class="paramkey"></td>
13073 <td></td>
13074 <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 +010013075 <td class="paramname"><em>tensor</em>&#160;</td>
13076 </tr>
13077 <tr>
13078 <td></td>
13079 <td>)</td>
13080 <td></td><td></td>
13081 </tr>
13082 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013083 </td>
13084 <td class="mlabels-right">
13085<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13086 </tr>
13087</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013088</div><div class="memdoc">
13089
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013090<p>Return an error an error if the fixed-point value is not representable in the specified Q format. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013091<dl class="params"><dt>Parameters</dt><dd>
13092 <table class="params">
13093 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13094 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13095 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13096 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013097 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Input tensor that has information on data type and fixed-point position.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013098 </table>
13099 </dd>
13100</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013101<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 +010013102
Jenkinsb3a371b2018-05-23 11:36:53 +010013103<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l01022">1022</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013104
Jenkinsb3a371b2018-05-23 11:36:53 +010013105<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l01000">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
13106<div class="fragment"><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;{</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</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="l01026"></a><span class="lineno"> 1026</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">arm_compute::error_on_value_not_representable_in_fixed_point</a>(<span class="keyword">function</span>, file, line, value, tensor-&gt;info()));</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</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="l01028"></a><span class="lineno"> 1028</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#l00253">Error.h:253</a></div></div>
13107<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#l00192">Error.h:192</a></div></div>
13108<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#l00051">Error.h:51</a></div></div>
13109<div class="ttc" id="namespacearm__compute_xhtml_a902b2c73a1317fd91a167e9d4d3f211b"><div class="ttname"><a href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">arm_compute::error_on_value_not_representable_in_fixed_point</a></div><div class="ttdeci">arm_compute::Status error_on_value_not_representable_in_fixed_point(const char *function, const char *file, int line, float value, const ITensorInfo *tensor_info)</div><div class="ttdoc">Return an error if the fixed-point value is not representable in the specified Q format. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l01000">Validate.h:1000</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013110</div><!-- fragment -->
13111</div>
13112</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013113<a class="anchor" id="a1b1ebe735a15f66be7ebe8dccdbcee15"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013114<div class="memitem">
13115<div class="memproto">
13116 <table class="memname">
13117 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013118 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_window_dimensions_gte </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013119 <td>(</td>
13120 <td class="paramtype">const char *&#160;</td>
13121 <td class="paramname"><em>function</em>, </td>
13122 </tr>
13123 <tr>
13124 <td class="paramkey"></td>
13125 <td></td>
13126 <td class="paramtype">const char *&#160;</td>
13127 <td class="paramname"><em>file</em>, </td>
13128 </tr>
13129 <tr>
13130 <td class="paramkey"></td>
13131 <td></td>
13132 <td class="paramtype">const int&#160;</td>
13133 <td class="paramname"><em>line</em>, </td>
13134 </tr>
13135 <tr>
13136 <td class="paramkey"></td>
13137 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013138 <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 +000013139 <td class="paramname"><em>win</em>, </td>
13140 </tr>
13141 <tr>
13142 <td class="paramkey"></td>
13143 <td></td>
13144 <td class="paramtype">unsigned int&#160;</td>
13145 <td class="paramname"><em>max_dim</em>&#160;</td>
13146 </tr>
13147 <tr>
13148 <td></td>
13149 <td>)</td>
13150 <td></td><td></td>
13151 </tr>
13152 </table>
13153</div><div class="memdoc">
13154
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013155<p>Return an error if the passed window has too many dimensions. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013156<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
13157<dl class="params"><dt>Parameters</dt><dd>
13158 <table class="params">
13159 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13160 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13161 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13162 <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 +000013163 <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 +000013164 </table>
13165 </dd>
13166</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013167<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 +000013168
13169</div>
13170</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013171<a class="anchor" id="a220627e9e23de1058191022aea58e1cf"></a>
Kaizen8938bd32017-09-28 14:38:23 +010013172<div class="memitem">
13173<div class="memproto">
13174 <table class="memname">
13175 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013176 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_window_not_collapsable_at_dimension </td>
Kaizen8938bd32017-09-28 14:38:23 +010013177 <td>(</td>
13178 <td class="paramtype">const char *&#160;</td>
13179 <td class="paramname"><em>function</em>, </td>
13180 </tr>
13181 <tr>
13182 <td class="paramkey"></td>
13183 <td></td>
13184 <td class="paramtype">const char *&#160;</td>
13185 <td class="paramname"><em>file</em>, </td>
13186 </tr>
13187 <tr>
13188 <td class="paramkey"></td>
13189 <td></td>
13190 <td class="paramtype">const int&#160;</td>
13191 <td class="paramname"><em>line</em>, </td>
13192 </tr>
13193 <tr>
13194 <td class="paramkey"></td>
13195 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013196 <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 +010013197 <td class="paramname"><em>full</em>, </td>
13198 </tr>
13199 <tr>
13200 <td class="paramkey"></td>
13201 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013202 <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 +010013203 <td class="paramname"><em>window</em>, </td>
13204 </tr>
13205 <tr>
13206 <td class="paramkey"></td>
13207 <td></td>
13208 <td class="paramtype">const int&#160;</td>
13209 <td class="paramname"><em>dim</em>&#160;</td>
13210 </tr>
13211 <tr>
13212 <td></td>
13213 <td>)</td>
13214 <td></td><td></td>
13215 </tr>
13216 </table>
13217</div><div class="memdoc">
13218
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013219<p>Return an error if the window can't be collapsed at the given dimension. </p>
Kaizen8938bd32017-09-28 14:38:23 +010013220<p>The window cannot be collapsed if the given dimension not equal to the full window's dimension or not start from 0.</p>
13221<dl class="params"><dt>Parameters</dt><dd>
13222 <table class="params">
13223 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
13224 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
13225 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
13226 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
13227 <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 +000013228 <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 +010013229 </table>
13230 </dd>
13231</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013232<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 +010013233
13234</div>
13235</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013236<a class="anchor" id="a6c0dcc38187027dcb89cd9724bc5a823"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013237<div class="memitem">
13238<div class="memproto">
13239<table class="mlabels">
13240 <tr>
13241 <td class="mlabels-left">
13242 <table class="memname">
13243 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013244 <td class="memname">void execute_window_loop </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013245 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013246 <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 +000013247 <td class="paramname"><em>w</em>, </td>
13248 </tr>
13249 <tr>
13250 <td class="paramkey"></td>
13251 <td></td>
13252 <td class="paramtype">L &amp;&amp;&#160;</td>
13253 <td class="paramname"><em>lambda_function</em>, </td>
13254 </tr>
13255 <tr>
13256 <td class="paramkey"></td>
13257 <td></td>
13258 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
13259 <td class="paramname"><em>iterators</em>&#160;</td>
13260 </tr>
13261 <tr>
13262 <td></td>
13263 <td>)</td>
13264 <td></td><td></td>
13265 </tr>
13266 </table>
13267 </td>
13268 <td class="mlabels-right">
13269<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13270 </tr>
13271</table>
13272</div><div class="memdoc">
13273
13274<p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
13275<p>It passes the x and y positions to the lambda_function for each iteration</p>
13276<dl class="params"><dt>Parameters</dt><dd>
13277 <table class="params">
13278 <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>
13279 <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>
13280 <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>
13281 </table>
13282 </dd>
13283</dl>
13284
Anthony Barbierf45d5a92018-01-24 16:23:15 +000013285<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00122">122</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013286
Jenkinsb3a371b2018-05-23 11:36:53 +010013287<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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#l00149">Window::validate()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013288
Jenkinsb3a371b2018-05-23 11:36:53 +010013289<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00397">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00936">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00424">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00318">PPMLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00739">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00405">PPMLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00882">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00588">NPYLoader::fill_tensor()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00166">LeNet5Network&lt; TensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_network_8h_source.xhtml#l00175">MobileNetNetwork&lt; TensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionLayerFunction, ReshapeFunction, PoolingLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_v1_network_8h_source.xhtml#l00211">MobileNetV1Network&lt; TensorType, Accessor, ActivationLayerFunction, BatchNormalizationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionFunction, ReshapeFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00431">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00835">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00080">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00057">TFPreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00282">RandomAccessor::RandomAccessor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00763">arm_compute::utils::save_to_npy()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00682">arm_compute::utils::save_to_ppm()</a>.</p>
13290<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#l00328">Error.h:328</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000013291</div><!-- fragment -->
13292</div>
13293</div>
13294<a class="anchor" id="a695a8105065167f7e4596d31f23a3573"></a>
13295<div class="memitem">
13296<div class="memproto">
13297 <table class="memname">
13298 <tr>
13299 <td class="memname">uint8x16_t arm_compute::finalize_quantization </td>
13300 <td>(</td>
13301 <td class="paramtype">int32x4x4_t &amp;&#160;</td>
13302 <td class="paramname"><em>in_s32</em>, </td>
13303 </tr>
13304 <tr>
13305 <td class="paramkey"></td>
13306 <td></td>
13307 <td class="paramtype">int&#160;</td>
13308 <td class="paramname"><em>result_fixedpoint_multiplier</em>, </td>
13309 </tr>
13310 <tr>
13311 <td class="paramkey"></td>
13312 <td></td>
13313 <td class="paramtype">int32_t&#160;</td>
13314 <td class="paramname"><em>result_shift</em>, </td>
13315 </tr>
13316 <tr>
13317 <td class="paramkey"></td>
13318 <td></td>
13319 <td class="paramtype">int32x4_t&#160;</td>
13320 <td class="paramname"><em>result_offset_after_shift_s32</em>, </td>
13321 </tr>
13322 <tr>
13323 <td class="paramkey"></td>
13324 <td></td>
13325 <td class="paramtype">uint8x16_t&#160;</td>
13326 <td class="paramname"><em>min_u8</em>, </td>
13327 </tr>
13328 <tr>
13329 <td class="paramkey"></td>
13330 <td></td>
13331 <td class="paramtype">uint8x16_t&#160;</td>
13332 <td class="paramname"><em>max_u8</em>&#160;</td>
13333 </tr>
13334 <tr>
13335 <td></td>
13336 <td>)</td>
13337 <td></td><td></td>
13338 </tr>
13339 </table>
13340</div><div class="memdoc">
13341
13342<p>Performs final quantization step on 16 elements. </p>
13343<dl class="tparams"><dt>Template Parameters</dt><dd>
13344 <table class="tparams">
13345 <tr><td class="paramname">is_bounded_relu</td><td>Specified if a fused bounded relu should be applied</td></tr>
13346 </table>
13347 </dd>
13348</dl>
13349<dl class="params"><dt>Parameters</dt><dd>
13350 <table class="params">
13351 <tr><td class="paramname">in_s32</td><td>Input to be quantized. </td></tr>
13352 <tr><td class="paramname">result_fixedpoint_multiplier</td><td>Result multiplier parameter </td></tr>
13353 <tr><td class="paramname">result_shift</td><td>Result shift parameter </td></tr>
13354 <tr><td class="paramname">result_offset_after_shift_s32</td><td>Result offset parameter </td></tr>
13355 <tr><td class="paramname">min_u8</td><td>Relu lower bound </td></tr>
13356 <tr><td class="paramname">max_u8</td><td>Relu upper bound</td></tr>
13357 </table>
13358 </dd>
13359</dl>
13360<dl class="section return"><dt>Returns</dt><dd>Quantized values </dd></dl>
13361
13362<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">74</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
13363
13364<p>References <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>.</p>
13365<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 +010013366</div><!-- fragment -->
13367</div>
13368</div>
13369<a class="anchor" id="a9cd394c15b73f79ca1d98f5328064be2"></a>
13370<div class="memitem">
13371<div class="memproto">
13372<table class="mlabels">
13373 <tr>
13374 <td class="mlabels-left">
13375 <table class="memname">
13376 <tr>
13377 <td class="memname">std::string arm_compute::float_to_string_with_full_precision </td>
13378 <td>(</td>
13379 <td class="paramtype">float&#160;</td>
13380 <td class="paramname"><em>val</em></td><td>)</td>
13381 <td></td>
13382 </tr>
13383 </table>
13384 </td>
13385 <td class="mlabels-right">
13386<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13387 </tr>
13388</table>
13389</div><div class="memdoc">
13390
13391<p>Create a string with the float in full precision. </p>
13392<dl class="params"><dt>Parameters</dt><dd>
13393 <table class="params">
13394 <tr><td class="paramname">val</td><td>Floating point value</td></tr>
13395 </table>
13396 </dd>
13397</dl>
13398<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
13399
Jenkinsb3a371b2018-05-23 11:36:53 +010013400<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01073">1073</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
13401<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; std::stringstream ss;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; ss &lt;&lt; val;</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013402</div>
13403</div>
13404<a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
13405<div class="memitem">
13406<div class="memproto">
13407<table class="mlabels">
13408 <tr>
13409 <td class="mlabels-left">
13410 <table class="memname">
13411 <tr>
13412 <td class="memname">auto arm_compute::floor_to_multiple </td>
13413 <td>(</td>
13414 <td class="paramtype">S&#160;</td>
13415 <td class="paramname"><em>value</em>, </td>
13416 </tr>
13417 <tr>
13418 <td class="paramkey"></td>
13419 <td></td>
13420 <td class="paramtype">T&#160;</td>
13421 <td class="paramname"><em>divisor</em>&#160;</td>
13422 </tr>
13423 <tr>
13424 <td></td>
13425 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +010013426 <td></td><td> -&gt; decltype((value / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +000013427</td>
13428 </tr>
13429 </table>
13430 </td>
13431 <td class="mlabels-right">
13432<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13433 </tr>
13434</table>
13435</div><div class="memdoc">
13436
13437<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010013438<dl class="params"><dt>Parameters</dt><dd>
13439 <table class="params">
13440 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Upper bound value </td></tr>
13441 <tr><td class="paramdir">[in]</td><td class="paramname">divisor</td><td>Value to compute multiple of.</td></tr>
13442 </table>
13443 </dd>
13444</dl>
13445<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000013446
Jenkinsb3a371b2018-05-23 11:36:53 +010013447<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">78</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013448
Jenkinsb3a371b2018-05-23 11:36:53 +010013449<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file()</a>.</p>
13450<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013451</div><!-- fragment -->
13452</div>
13453</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013454<a class="anchor" id="aa5e9f3429ae4136235c87f98ecb46c9d"></a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013455<div class="memitem">
13456<div class="memproto">
13457 <table class="memname">
13458 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010013459 <td class="memname">bool arm_compute::fp16_supported </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013460 <td>(</td>
13461 <td class="paramtype">const cl::Device &amp;&#160;</td>
13462 <td class="paramname"><em>device</em></td><td>)</td>
13463 <td></td>
13464 </tr>
13465 </table>
13466</div><div class="memdoc">
13467
13468<p>Helper function to check whether the cl_khr_fp16 extension is supported. </p>
13469<dl class="params"><dt>Parameters</dt><dd>
13470 <table class="params">
13471 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
13472 </table>
13473 </dd>
13474</dl>
13475<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
13476
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013477</div>
13478</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013479<a class="anchor" id="a4a351d5c39dec88af98a671da1c43fd6"></a>
13480<div class="memitem">
13481<div class="memproto">
13482 <table class="memname">
13483 <tr>
13484 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_arch_from_target </td>
13485 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013486 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013487 <td class="paramname"><em>target</em></td><td>)</td>
13488 <td></td>
13489 </tr>
13490 </table>
13491</div><div class="memdoc">
13492
13493<p>Helper function to get the GPU arch. </p>
13494<dl class="params"><dt>Parameters</dt><dd>
13495 <table class="params">
13496 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>GPU target</td></tr>
13497 </table>
13498 </dd>
13499</dl>
13500<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
13501
Anthony Barbierdbdab852017-06-23 15:42:00 +010013502</div>
13503</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013504<a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
13505<div class="memitem">
13506<div class="memproto">
13507 <table class="memname">
13508 <tr>
13509 <td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
13510 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013511 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013512 <td class="paramname"><em>dt</em></td><td>)</td>
13513 <td></td>
13514 </tr>
13515 </table>
13516</div><div class="memdoc">
13517
13518<p>Translates a tensor data type to the appropriate OpenCL type. </p>
13519<dl class="params"><dt>Parameters</dt><dd>
13520 <table class="params">
13521 <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>
13522 </table>
13523 </dd>
13524</dl>
13525<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
13526
13527</div>
13528</div>
Kaizen8938bd32017-09-28 14:38:23 +010013529<a class="anchor" id="a54c9b94a266f8065b64f001c47815b68"></a>
13530<div class="memitem">
13531<div class="memproto">
13532 <table class="memname">
13533 <tr>
13534 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> arm_compute::get_cl_version </td>
13535 <td>(</td>
13536 <td class="paramtype">const cl::Device &amp;&#160;</td>
13537 <td class="paramname"><em>device</em></td><td>)</td>
13538 <td></td>
13539 </tr>
13540 </table>
13541</div><div class="memdoc">
13542
13543<p>Helper function to get the highest OpenCL version supported. </p>
13544<dl class="params"><dt>Parameters</dt><dd>
13545 <table class="params">
13546 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
13547 </table>
13548 </dd>
13549</dl>
13550<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
13551
Jenkinsb3a371b2018-05-23 11:36:53 +010013552</div>
13553</div>
13554<a class="anchor" id="aba90ba1790209a7ec569f3ce897be586"></a>
13555<div class="memitem">
13556<div class="memproto">
13557 <table class="memname">
13558 <tr>
13559 <td class="memname">void arm_compute::get_cpu_configuration </td>
13560 <td>(</td>
13561 <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;&#160;</td>
13562 <td class="paramname"><em>cpuinfo</em></td><td>)</td>
13563 <td></td>
13564 </tr>
13565 </table>
13566</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013567
Jenkinsb3a371b2018-05-23 11:36:53 +010013568<p>This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this. </p>
13569<dl class="params"><dt>Parameters</dt><dd>
13570 <table class="params">
13571 <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>
13572 </table>
13573 </dd>
13574</dl>
13575
13576</div>
13577</div>
13578<a class="anchor" id="a46e938020a3ac8c926d0590b7fe957db"></a>
13579<div class="memitem">
13580<div class="memproto">
13581<table class="mlabels">
13582 <tr>
13583 <td class="mlabels-left">
13584 <table class="memname">
13585 <tr>
13586 <td class="memname">size_t get_data_layout_dimension_index </td>
13587 <td>(</td>
13588 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
13589 <td class="paramname"><em>data_layout</em>, </td>
13590 </tr>
13591 <tr>
13592 <td class="paramkey"></td>
13593 <td></td>
13594 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a>&#160;</td>
13595 <td class="paramname"><em>data_layout_dimension</em>&#160;</td>
13596 </tr>
13597 <tr>
13598 <td></td>
13599 <td>)</td>
13600 <td></td><td></td>
13601 </tr>
13602 </table>
13603 </td>
13604 <td class="mlabels-right">
13605<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13606 </tr>
13607</table>
13608</div><div class="memdoc">
13609
13610<p>Get the index of the given dimension. </p>
13611<dl class="params"><dt>Parameters</dt><dd>
13612 <table class="params">
13613 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>The data layout. </td></tr>
13614 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout_dimension</td><td>The dimension which this index is requested for.</td></tr>
13615 </table>
13616 </dd>
13617</dl>
13618<dl class="section return"><dt>Returns</dt><dd>The int conversion of the requested data layout index. </dd></dl>
13619
13620<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00340">340</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
13621
13622<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00319">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>
13623
13624<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00294">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00128">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00161">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00329">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00231">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00246">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00268">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</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#l00130">SubTensorInfo::dimension()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00234">TensorInfo::dimension()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00405">PPMLoader::fill_planar_tensor()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
13625<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;{</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(data_layout == DataLayout::UNKNOWN, <span class="stringliteral">&quot;Cannot retrieve the dimension index for an unknown layout!&quot;</span>);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">switch</span>(data_layout_dimension)</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">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 2 : 0;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 1 : 2;</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> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 0 : 1;</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> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> 3;</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">default</span>:</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</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="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; }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</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#l00260">Error.h:260</a></div></div>
13626<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#l00319">Error.h:319</a></div></div>
13627</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010013628</div>
13629</div>
13630<a class="anchor" id="ae5f4dd9f672832f7dce02fc14487f544"></a>
13631<div class="memitem">
13632<div class="memproto">
13633 <table class="memname">
13634 <tr>
13635 <td class="memname">std::string arm_compute::get_data_size_from_data_type </td>
13636 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013637 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013638 <td class="paramname"><em>dt</em></td><td>)</td>
13639 <td></td>
13640 </tr>
13641 </table>
13642</div><div class="memdoc">
13643
13644<p>Get the size of a data type in number of bits. </p>
13645<dl class="params"><dt>Parameters</dt><dd>
13646 <table class="params">
13647 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>.</td></tr>
13648 </table>
13649 </dd>
13650</dl>
13651<dl class="section return"><dt>Returns</dt><dd>Number of bits in the data type specified. </dd></dl>
13652
13653</div>
13654</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013655<a class="anchor" id="a5e4254e9c71fffafb79b99d972df8f81"></a>
13656<div class="memitem">
13657<div class="memproto">
13658<table class="mlabels">
13659 <tr>
13660 <td class="mlabels-left">
13661 <table class="memname">
13662 <tr>
13663 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::get_promoted_data_type </td>
13664 <td>(</td>
13665 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
13666 <td class="paramname"><em>dt</em></td><td>)</td>
13667 <td></td>
13668 </tr>
13669 </table>
13670 </td>
13671 <td class="mlabels-right">
13672<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13673 </tr>
13674</table>
13675</div><div class="memdoc">
13676
13677<p>Return the promoted data type of a given data type. </p>
13678<dl class="section note"><dt>Note</dt><dd>If promoted data type is not supported an error will be thrown</dd></dl>
13679<dl class="params"><dt>Parameters</dt><dd>
13680 <table class="params">
13681 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type to get the promoted type of.</td></tr>
13682 </table>
13683 </dd>
13684</dl>
13685<dl class="section return"><dt>Returns</dt><dd>Promoted data type </dd></dl>
13686
Jenkinsb3a371b2018-05-23 11:36:53 +010013687<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00517">517</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 +000013688
Jenkinsb3a371b2018-05-23 11:36:53 +010013689<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
13690<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;{</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">return</span> DataType::QS16;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">return</span> DataType::QS32;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</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="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</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="l00542"></a><span class="lineno"> 542</span>&#160; }</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</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#l00260">Error.h:260</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013691</div><!-- fragment -->
13692</div>
13693</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013694<a class="anchor" id="ac2b27a559f3ff7deecfcd13e1e24194b"></a>
13695<div class="memitem">
13696<div class="memproto">
13697 <table class="memname">
13698 <tr>
13699 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_device </td>
13700 <td>(</td>
13701 <td class="paramname"></td><td>)</td>
13702 <td></td>
13703 </tr>
13704 </table>
13705</div><div class="memdoc">
13706
13707<p>Helper function to get the GPU target from GLES using GL_RENDERER enum. </p>
13708<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
13709
13710</div>
13711</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013712<a class="anchor" id="a9d0143bdde8255313aae6ac020dd629c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013713<div class="memitem">
13714<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000013715 <table class="memname">
13716 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013717 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_device </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013718 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013719 <td class="paramtype">cl::Device &amp;&#160;</td>
13720 <td class="paramname"><em>device</em></td><td>)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013721 <td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013722 </tr>
13723 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000013724</div><div class="memdoc">
13725
Anthony Barbierdbdab852017-06-23 15:42:00 +010013726<p>Helper function to get the GPU target from CL device. </p>
13727<dl class="params"><dt>Parameters</dt><dd>
13728 <table class="params">
13729 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
13730 </table>
13731 </dd>
13732</dl>
13733<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000013734
Jenkinsb3a371b2018-05-23 11:36:53 +010013735<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00123">CLScheduler::init()</a>.</p>
13736
13737</div>
13738</div>
13739<a class="anchor" id="ade888194135e9dcce690e9e71a40620a"></a>
13740<div class="memitem">
13741<div class="memproto">
13742 <table class="memname">
13743 <tr>
13744 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_name </td>
13745 <td>(</td>
13746 <td class="paramtype">const std::string &amp;&#160;</td>
13747 <td class="paramname"><em>device_name</em></td><td>)</td>
13748 <td></td>
13749 </tr>
13750 </table>
13751</div><div class="memdoc">
13752
13753<p>Helper function to get the GPU target from a device name. </p>
13754<dl class="params"><dt>Parameters</dt><dd>
13755 <table class="params">
13756 <tr><td class="paramdir">[in]</td><td class="paramname">device_name</td><td>A device name</td></tr>
13757 </table>
13758 </dd>
13759</dl>
13760<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
13761
13762<p>Referenced by <a class="el" href="_g_p_u_target_8cpp_source.xhtml#l00040">arm_compute::test::validation::TEST_CASE()</a>.</p>
13763
13764</div>
13765</div>
13766<a class="anchor" id="a075f941d6e53f1513d8964043a3d809b"></a>
13767<div class="memitem">
13768<div class="memproto">
13769 <table class="memname">
13770 <tr>
13771 <td class="memname">unsigned int arm_compute::get_threads_hint </td>
13772 <td>(</td>
13773 <td class="paramname"></td><td>)</td>
13774 <td></td>
13775 </tr>
13776 </table>
13777</div><div class="memdoc">
13778
13779<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>
13780<p>To maximize performance the library attempts to process workloads concurrently using as many threads as big cores are available on the system.</p>
13781<dl class="section return"><dt>Returns</dt><dd>The minumum number of common cores. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000013782
Anthony Barbier871448e2017-03-24 14:54:29 +000013783</div>
13784</div>
Kaizen8938bd32017-09-28 14:38:23 +010013785<a class="anchor" id="afc95473636a442507fda7ad48f3414c0"></a>
13786<div class="memitem">
13787<div class="memproto">
13788 <table class="memname">
13789 <tr>
13790 <td class="memname">std::string arm_compute::get_underlying_cl_type_from_data_type </td>
13791 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013792 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013793 <td class="paramname"><em>dt</em></td><td>)</td>
13794 <td></td>
13795 </tr>
13796 </table>
13797</div><div class="memdoc">
13798
13799<p>Translates fixed point tensor data type to the underlying OpenCL type. </p>
13800<dl class="params"><dt>Parameters</dt><dd>
13801 <table class="params">
13802 <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>
13803 </table>
13804 </dd>
13805</dl>
13806<dl class="section return"><dt>Returns</dt><dd>The string specifying the underlying OpenCL type to be used. </dd></dl>
13807
13808</div>
13809</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013810<a class="anchor" id="a0e3b0d9b90f6c97d5fe97b7d17c7ee25"></a>
13811<div class="memitem">
13812<div class="memproto">
13813 <table class="memname">
13814 <tr>
13815 <td class="memname">bool arm_compute::gpu_target_is_in </td>
13816 <td>(</td>
13817 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13818 <td class="paramname"><em>target_to_check</em>, </td>
13819 </tr>
13820 <tr>
13821 <td class="paramkey"></td>
13822 <td></td>
13823 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13824 <td class="paramname"><em>target</em>, </td>
13825 </tr>
13826 <tr>
13827 <td class="paramkey"></td>
13828 <td></td>
13829 <td class="paramtype">Args...&#160;</td>
13830 <td class="paramname"><em>targets</em>&#160;</td>
13831 </tr>
13832 <tr>
13833 <td></td>
13834 <td>)</td>
13835 <td></td><td></td>
13836 </tr>
13837 </table>
13838</div><div class="memdoc">
13839
13840<p>Helper function to check whether a gpu target is equal to the provided targets. </p>
13841<dl class="params"><dt>Parameters</dt><dd>
13842 <table class="params">
13843 <tr><td class="paramdir">[in]</td><td class="paramname">target_to_check</td><td>gpu target to check </td></tr>
13844 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>First target to compare against </td></tr>
13845 <tr><td class="paramdir">[in]</td><td class="paramname">targets</td><td>(Optional) Additional targets to compare with</td></tr>
13846 </table>
13847 </dd>
13848</dl>
13849<dl class="section return"><dt>Returns</dt><dd>True if the target is equal with at least one of the targets. </dd></dl>
13850
13851<p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00092">92</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
13852
13853<p>Referenced by <a class="el" href="_g_p_u_target_8cpp_source.xhtml#l00056">arm_compute::test::validation::TEST_CASE()</a>.</p>
13854<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> (target_to_check == target) | <a class="code" href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">gpu_target_is_in</a>(target_to_check, targets...);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aab39ce9a593f7e12a4bf4cb47272b917"><div class="ttname"><a href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">arm_compute::gpu_target_is_in</a></div><div class="ttdeci">bool gpu_target_is_in(GPUTarget target_to_check, GPUTarget target)</div><div class="ttdoc">Variant of gpu_target_is_in for comparing two targets. </div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00098">GPUTarget.h:98</a></div></div>
13855</div><!-- fragment -->
13856</div>
13857</div>
13858<a class="anchor" id="aab39ce9a593f7e12a4bf4cb47272b917"></a>
13859<div class="memitem">
13860<div class="memproto">
13861<table class="mlabels">
13862 <tr>
13863 <td class="mlabels-left">
13864 <table class="memname">
13865 <tr>
13866 <td class="memname">bool arm_compute::gpu_target_is_in </td>
13867 <td>(</td>
13868 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13869 <td class="paramname"><em>target_to_check</em>, </td>
13870 </tr>
13871 <tr>
13872 <td class="paramkey"></td>
13873 <td></td>
13874 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13875 <td class="paramname"><em>target</em>&#160;</td>
13876 </tr>
13877 <tr>
13878 <td></td>
13879 <td>)</td>
13880 <td></td><td></td>
13881 </tr>
13882 </table>
13883 </td>
13884 <td class="mlabels-right">
13885<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13886 </tr>
13887</table>
13888</div><div class="memdoc">
13889
13890<p>Variant of gpu_target_is_in for comparing two targets. </p>
13891
13892<p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
13893<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;{</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> target_to_check == target;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div></div><!-- fragment -->
13894</div>
13895</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000013896<a class="anchor" id="aa2f22cc01532e0236e438324310fdb94"></a>
13897<div class="memitem">
13898<div class="memproto">
13899<table class="mlabels">
13900 <tr>
13901 <td class="mlabels-left">
13902 <table class="memname">
13903 <tr>
13904 <td class="memname">bool arm_compute::has_format_horizontal_subsampling </td>
13905 <td>(</td>
13906 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
13907 <td class="paramname"><em>format</em></td><td>)</td>
13908 <td></td>
13909 </tr>
13910 </table>
13911 </td>
13912 <td class="mlabels-right">
13913<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13914 </tr>
13915</table>
13916</div><div class="memdoc">
13917
13918<p>Return true if the given format has horizontal subsampling. </p>
13919<dl class="params"><dt>Parameters</dt><dd>
13920 <table class="params">
13921 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to determine subsampling.</td></tr>
13922 </table>
13923 </dd>
13924</dl>
13925<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled horizontaly. </dd></dl>
13926
Jenkinsb3a371b2018-05-23 11:36:53 +010013927<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">552</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000013928
13929<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
13930
Jenkinsb3a371b2018-05-23 11:36:53 +010013931<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">calculate_subsampled_shape()</a>.</p>
13932<div class="fragment"><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;{</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">return</span> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000013933</div>
13934</div>
13935<a class="anchor" id="a95358b677c5c17f5cc1e369e4a27e2c2"></a>
13936<div class="memitem">
13937<div class="memproto">
13938<table class="mlabels">
13939 <tr>
13940 <td class="mlabels-left">
13941 <table class="memname">
13942 <tr>
13943 <td class="memname">bool arm_compute::has_format_vertical_subsampling </td>
13944 <td>(</td>
13945 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
13946 <td class="paramname"><em>format</em></td><td>)</td>
13947 <td></td>
13948 </tr>
13949 </table>
13950 </td>
13951 <td class="mlabels-right">
13952<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13953 </tr>
13954</table>
13955</div><div class="memdoc">
13956
13957<p>Return true if the given format has vertical subsampling. </p>
13958<dl class="params"><dt>Parameters</dt><dd>
13959 <table class="params">
13960 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to determine subsampling.</td></tr>
13961 </table>
13962 </dd>
13963</dl>
13964<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled verticaly. </dd></dl>
13965
Jenkinsb3a371b2018-05-23 11:36:53 +010013966<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00563">563</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 +000013967
13968<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>.</p>
13969
Jenkinsb3a371b2018-05-23 11:36:53 +010013970<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">calculate_subsampled_shape()</a>.</p>
13971<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; <span class="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;}</div></div><!-- fragment -->
13972</div>
13973</div>
13974<a class="anchor" id="a053a24bb37402fa4b4d8d5963976ba17"></a>
13975<div class="memitem">
13976<div class="memproto">
13977<table class="mlabels">
13978 <tr>
13979 <td class="mlabels-left">
13980 <table class="memname">
13981 <tr>
13982 <td class="memname">void arm_compute::ignore_unused </td>
13983 <td>(</td>
13984 <td class="paramtype">T &amp;&amp;&#160;</td>
13985 <td class="paramname"><em>...</em></td><td>)</td>
13986 <td></td>
13987 </tr>
13988 </table>
13989 </td>
13990 <td class="mlabels-right">
13991<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13992 </tr>
13993</table>
13994</div><div class="memdoc">
13995
13996<p>Ignores unused arguments. </p>
13997<dl class="tparams"><dt>Template Parameters</dt><dd>
13998 <table class="tparams">
13999 <tr><td class="paramname">T</td><td>Argument types</td></tr>
14000 </table>
14001 </dd>
14002</dl>
14003<dl class="params"><dt>Parameters</dt><dd>
14004 <table class="params">
14005 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Ignored arguments </td></tr>
14006 </table>
14007 </dd>
14008</dl>
14009
14010<p>Definition at line <a class="el" href="_error_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_error_8h_source.xhtml">Error.h</a>.</p>
14011<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 +000014012</div>
14013</div>
Kaizen8938bd32017-09-28 14:38:23 +010014014<a class="anchor" id="ad34f2150f1c9f8a3ecb7298162124e5d"></a>
14015<div class="memitem">
14016<div class="memproto">
14017<table class="mlabels">
14018 <tr>
14019 <td class="mlabels-left">
14020 <table class="memname">
14021 <tr>
14022 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> index2coords </td>
14023 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014024 <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 +010014025 <td class="paramname"><em>shape</em>, </td>
14026 </tr>
14027 <tr>
14028 <td class="paramkey"></td>
14029 <td></td>
14030 <td class="paramtype">int&#160;</td>
14031 <td class="paramname"><em>index</em>&#160;</td>
14032 </tr>
14033 <tr>
14034 <td></td>
14035 <td>)</td>
14036 <td></td><td></td>
14037 </tr>
14038 </table>
14039 </td>
14040 <td class="mlabels-right">
14041<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14042 </tr>
14043</table>
14044</div><div class="memdoc">
14045
14046<p>Convert a linear index into n-dimensional coordinates. </p>
14047<dl class="params"><dt>Parameters</dt><dd>
14048 <table class="params">
14049 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
14050 <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Linear index specifying the i-th element.</td></tr>
14051 </table>
14052 </dd>
14053</dl>
14054<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
14055
Jenkinsb3a371b2018-05-23 11:36:53 +010014056<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00303">303</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014057
Jenkinsb3a371b2018-05-23 11:36:53 +010014058<p>References <a class="el" href="_error_8h_source.xhtml#l00319">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#l00157">TensorShape::total_size()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014059
Jenkinsb3a371b2018-05-23 11:36:53 +010014060<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
14061<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <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="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</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="l00308"></a><span class="lineno"> 308</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="l00309"></a><span class="lineno"> 309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; Coordinates coord{ 0 };</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <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="l00313"></a><span class="lineno"> 313</span>&#160; {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</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="l00315"></a><span class="lineno"> 315</span>&#160; coord.set(d, index / num_elements);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; index %= num_elements;</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;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
14062<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#l00319">Error.h:319</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014063</div><!-- fragment -->
14064</div>
14065</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000014066<a class="anchor" id="a133621090cfb0f151340c6e04bd7bcc8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000014067<div class="memitem">
14068<div class="memproto">
14069 <table class="memname">
14070 <tr>
14071 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
14072 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000014073 <td class="paramtype">const Ts &amp;...&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014074 <td class="paramname"><em>regions</em></td><td>)</td>
14075 <td></td>
14076 </tr>
14077 </table>
14078</div><div class="memdoc">
14079
14080<p>Intersect multiple valid regions. </p>
14081<dl class="params"><dt>Parameters</dt><dd>
14082 <table class="params">
14083 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
14084 </table>
14085 </dd>
14086</dl>
14087<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
14088
Jenkinsb3a371b2018-05-23 11:36:53 +010014089<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00469">469</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000014090
Jenkinsb3a371b2018-05-23 11:36:53 +010014091<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00278">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00113">arm_compute::utility::foldl()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</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#l00279">ValidRegion::shape</a>.</p>
14092<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; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><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, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(r1.anchor[d], r2.anchor[d]));</div><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; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><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, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape[d], r2.shape[d]));</div><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_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
14093<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>
14094<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014095</div><!-- fragment -->
14096</div>
14097</div>
14098<a class="anchor" id="ab6bb62694ae8369d18a9c9687040975e"></a>
14099<div class="memitem">
14100<div class="memproto">
14101<table class="mlabels">
14102 <tr>
14103 <td class="mlabels-left">
14104 <table class="memname">
14105 <tr>
14106 <td class="memname">bool arm_compute::is_data_type_fixed_point </td>
14107 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014108 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014109 <td class="paramname"><em>dt</em></td><td>)</td>
14110 <td></td>
14111 </tr>
14112 </table>
14113 </td>
14114 <td class="mlabels-right">
14115<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14116 </tr>
14117</table>
14118</div><div class="memdoc">
14119
14120<p>Check if a given data type is of fixed point type. </p>
14121<dl class="params"><dt>Parameters</dt><dd>
14122 <table class="params">
14123 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
14124 </table>
14125 </dd>
14126</dl>
14127<dl class="section return"><dt>Returns</dt><dd>True if data type is of fixed point type, else false. </dd></dl>
14128
Jenkinsb3a371b2018-05-23 11:36:53 +010014129<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01037">1037</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014130
Kaizen8938bd32017-09-28 14:38:23 +010014131<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
14132
Jenkinsb3a371b2018-05-23 11:36:53 +010014133<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00114">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_fixed_point()</a>, and <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00140">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>.</p>
14134<div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;{</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; {</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000014135</div>
14136</div>
14137<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
14138<div class="memitem">
14139<div class="memproto">
14140<table class="mlabels">
14141 <tr>
14142 <td class="mlabels-left">
14143 <table class="memname">
14144 <tr>
14145 <td class="memname">bool arm_compute::is_data_type_float </td>
14146 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014147 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014148 <td class="paramname"><em>dt</em></td><td>)</td>
14149 <td></td>
14150 </tr>
14151 </table>
14152 </td>
14153 <td class="mlabels-right">
14154<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14155 </tr>
14156</table>
14157</div><div class="memdoc">
14158
Anthony Barbierdbdab852017-06-23 15:42:00 +010014159<p>Check if a given data type is of floating point type. </p>
14160<dl class="params"><dt>Parameters</dt><dd>
14161 <table class="params">
14162 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
14163 </table>
14164 </dd>
14165</dl>
14166<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
14167
Jenkinsb3a371b2018-05-23 11:36:53 +010014168<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00997">997</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 +000014169
14170<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014171<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; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014172</div>
14173</div>
14174<a class="anchor" id="a0bee325b210f81bb89fe1f9e15badf9c"></a>
14175<div class="memitem">
14176<div class="memproto">
14177<table class="mlabels">
14178 <tr>
14179 <td class="mlabels-left">
14180 <table class="memname">
14181 <tr>
14182 <td class="memname">bool arm_compute::is_data_type_quantized </td>
14183 <td>(</td>
14184 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
14185 <td class="paramname"><em>dt</em></td><td>)</td>
14186 <td></td>
14187 </tr>
14188 </table>
14189 </td>
14190 <td class="mlabels-right">
14191<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14192 </tr>
14193</table>
14194</div><div class="memdoc">
14195
14196<p>Check if a given data type is of quantized type. </p>
14197<dl class="section note"><dt>Note</dt><dd>Quantized is considered a super-set of fixed-point and asymmetric data types.</dd></dl>
14198<dl class="params"><dt>Parameters</dt><dd>
14199 <table class="params">
14200 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
14201 </table>
14202 </dd>
14203</dl>
14204<dl class="section return"><dt>Returns</dt><dd>True if data type is of quantized type, else false. </dd></dl>
14205
Jenkinsb3a371b2018-05-23 11:36:53 +010014206<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01017">1017</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 +000014207
14208<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014209<div class="fragment"><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">switch</span>(dt)</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; <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; }</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014210</div>
14211</div>
14212<a class="anchor" id="a14f46283f316e7f0fad301d5c1507e9f"></a>
14213<div class="memitem">
14214<div class="memproto">
14215<table class="mlabels">
14216 <tr>
14217 <td class="mlabels-left">
14218 <table class="memname">
14219 <tr>
14220 <td class="memname">bool arm_compute::is_data_type_quantized_asymmetric </td>
14221 <td>(</td>
14222 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
14223 <td class="paramname"><em>dt</em></td><td>)</td>
14224 <td></td>
14225 </tr>
14226 </table>
14227 </td>
14228 <td class="mlabels-right">
14229<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14230 </tr>
14231</table>
14232</div><div class="memdoc">
14233
14234<p>Check if a given data type is of asymmetric quantized type. </p>
14235<dl class="params"><dt>Parameters</dt><dd>
14236 <table class="params">
14237 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
14238 </table>
14239 </dd>
14240</dl>
14241<dl class="section return"><dt>Returns</dt><dd>True if data type is of symmetric quantized type, else false. </dd></dl>
14242
Jenkinsb3a371b2018-05-23 11:36:53 +010014243<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01056">1056</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 +000014244
14245<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
14246
Jenkinsb3a371b2018-05-23 11:36:53 +010014247<p>Referenced by <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00154">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00627">error_on_mismatching_quantization_info()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00085">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00292">set_quantization_info_if_empty()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
14248<div class="fragment"><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; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; {</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; }</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000014249</div>
14250</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014251<a class="anchor" id="a532fb45c0261724a4c2e755cfd3a44e6"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000014252<div class="memitem">
14253<div class="memproto">
14254 <table class="memname">
14255 <tr>
14256 <td class="memname">std::string arm_compute::lower_string </td>
14257 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014258 <td class="paramtype">const std::string &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014259 <td class="paramname"><em>val</em></td><td>)</td>
14260 <td></td>
14261 </tr>
14262 </table>
14263</div><div class="memdoc">
14264
14265<p>Lower a given string. </p>
14266<dl class="params"><dt>Parameters</dt><dd>
14267 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010014268 <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 +000014269 </table>
14270 </dd>
14271</dl>
14272<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
14273
Jenkinsb3a371b2018-05-23 11:36:53 +010014274<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014275
Anthony Barbier871448e2017-03-24 14:54:29 +000014276</div>
14277</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010014278<a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
14279<div class="memitem">
14280<div class="memproto">
14281 <table class="memname">
14282 <tr>
14283 <td class="memname">int arm_compute::max_consecutive_elements_display_width </td>
14284 <td>(</td>
14285 <td class="paramtype">std::ostream &amp;&#160;</td>
14286 <td class="paramname"><em>s</em>, </td>
14287 </tr>
14288 <tr>
14289 <td class="paramkey"></td>
14290 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014291 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010014292 <td class="paramname"><em>dt</em>, </td>
14293 </tr>
14294 <tr>
14295 <td class="paramkey"></td>
14296 <td></td>
14297 <td class="paramtype">const uint8_t *&#160;</td>
14298 <td class="paramname"><em>ptr</em>, </td>
14299 </tr>
14300 <tr>
14301 <td class="paramkey"></td>
14302 <td></td>
14303 <td class="paramtype">unsigned int&#160;</td>
14304 <td class="paramname"><em>n</em>&#160;</td>
14305 </tr>
14306 <tr>
14307 <td></td>
14308 <td>)</td>
14309 <td></td><td></td>
14310 </tr>
14311 </table>
14312</div><div class="memdoc">
14313
14314<p>Identify the maximum width of n consecutive elements. </p>
14315<dl class="params"><dt>Parameters</dt><dd>
14316 <table class="params">
14317 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
14318 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
14319 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
14320 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
14321 </table>
14322 </dd>
14323</dl>
14324<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
14325
Jenkinsb3a371b2018-05-23 11:36:53 +010014326<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01123">max_consecutive_elements_display_width_impl()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014327
Anthony Barbiera4376382017-04-12 15:12:46 +010014328</div>
14329</div>
14330<a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
14331<div class="memitem">
14332<div class="memproto">
14333 <table class="memname">
14334 <tr>
14335 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
14336 <td>(</td>
14337 <td class="paramtype">std::ostream &amp;&#160;</td>
14338 <td class="paramname"><em>s</em>, </td>
14339 </tr>
14340 <tr>
14341 <td class="paramkey"></td>
14342 <td></td>
14343 <td class="paramtype">const T *&#160;</td>
14344 <td class="paramname"><em>ptr</em>, </td>
14345 </tr>
14346 <tr>
14347 <td class="paramkey"></td>
14348 <td></td>
14349 <td class="paramtype">unsigned int&#160;</td>
14350 <td class="paramname"><em>n</em>&#160;</td>
14351 </tr>
14352 <tr>
14353 <td></td>
14354 <td>)</td>
14355 <td></td><td></td>
14356 </tr>
14357 </table>
14358</div><div class="memdoc">
14359
14360<p>Identify the maximum width of n consecutive elements. </p>
14361<dl class="params"><dt>Parameters</dt><dd>
14362 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010014363 <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>
14364 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
14365 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements.</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +010014366 </table>
14367 </dd>
14368</dl>
14369<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
14370
Jenkinsb3a371b2018-05-23 11:36:53 +010014371<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01123">1123</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbiera4376382017-04-12 15:12:46 +010014372
Jenkinsb3a371b2018-05-23 11:36:53 +010014373<p>References <a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width()</a>, and <a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements()</a>.</p>
14374<div class="fragment"><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;{</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</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="l01126"></a><span class="lineno"> 1126</span>&#160;</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</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="l01129"></a><span class="lineno"> 1129</span>&#160; {</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; std::stringstream ss;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; ss.copyfmt(s);</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</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="l01134"></a><span class="lineno"> 1134</span>&#160; {</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</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="l01136"></a><span class="lineno"> 1136</span>&#160; ss &lt;&lt; static_cast&lt;T&gt;(ptr[i]);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; }</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; {</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; }</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; }</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</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 +010014375</div><!-- fragment -->
14376</div>
14377</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000014378<a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
14379<div class="memitem">
14380<div class="memproto">
14381<table class="mlabels">
14382 <tr>
14383 <td class="mlabels-left">
14384 <table class="memname">
14385 <tr>
14386 <td class="memname">size_t arm_compute::num_channels_from_format </td>
14387 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014388 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014389 <td class="paramname"><em>format</em></td><td>)</td>
14390 <td></td>
14391 </tr>
14392 </table>
14393 </td>
14394 <td class="mlabels-right">
14395<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14396 </tr>
14397</table>
14398</div><div class="memdoc">
14399
14400<p>Return the number of channels for a given single-planar pixel format. </p>
14401<dl class="params"><dt>Parameters</dt><dd>
14402 <table class="params">
14403 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
14404 </table>
14405 </dd>
14406</dl>
14407<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
14408
Jenkinsb3a371b2018-05-23 11:36:53 +010014409<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00476">476</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 +000014410
14411<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014412<div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;{</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000014413</div>
14414</div>
14415<a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
14416<div class="memitem">
14417<div class="memproto">
14418<table class="mlabels">
14419 <tr>
14420 <td class="mlabels-left">
14421 <table class="memname">
14422 <tr>
14423 <td class="memname">size_t arm_compute::num_planes_from_format </td>
14424 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014425 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000014426 <td class="paramname"><em>format</em></td><td>)</td>
14427 <td></td>
14428 </tr>
14429 </table>
14430 </td>
14431 <td class="mlabels-right">
14432<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14433 </tr>
14434</table>
14435</div><div class="memdoc">
14436
14437<p>Return the number of planes for a given format. </p>
14438<dl class="params"><dt>Parameters</dt><dd>
14439 <table class="params">
14440 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
14441 </table>
14442 </dd>
14443</dl>
14444<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
14445
Jenkinsb3a371b2018-05-23 11:36:53 +010014446<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00442">442</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 +000014447
Jenkinsb3a371b2018-05-23 11:36:53 +010014448<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
14449<div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;{</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">switch</span>(format)</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="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</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="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;}</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#l00260">Error.h:260</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000014450</div><!-- fragment -->
14451</div>
14452</div>
Anthony Barbier46d59272017-05-04 09:15:15 +010014453<a class="anchor" id="aa4f4d7a58287017588fc338965873f14"></a>
14454<div class="memitem">
14455<div class="memproto">
14456 <table class="memname">
14457 <tr>
14458 <td class="memname">bool arm_compute::opencl_is_available </td>
14459 <td>(</td>
14460 <td class="paramname"></td><td>)</td>
14461 <td></td>
14462 </tr>
14463 </table>
14464</div><div class="memdoc">
14465
Jenkinsb3a371b2018-05-23 11:36:53 +010014466<p>Check if OpenCL is available. </p>
14467<dl class="section return"><dt>Returns</dt><dd>True if OpenCL is available. </dd></dl>
14468
14469<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00736">arm_compute::test::sync_if_necessary()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014470
Anthony Barbier46d59272017-05-04 09:15:15 +010014471</div>
14472</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014473<a class="anchor" id="a19c7b9bc5f36935ba40314907ffe54ce"></a>
14474<div class="memitem">
14475<div class="memproto">
14476 <table class="memname">
14477 <tr>
14478 <td class="memname">bool arm_compute::opengles31_is_available </td>
14479 <td>(</td>
14480 <td class="paramname"></td><td>)</td>
14481 <td></td>
14482 </tr>
14483 </table>
14484</div><div class="memdoc">
14485
14486<p>Check if the OpenGL ES 3.1 API is available at runtime. </p>
14487<dl class="section return"><dt>Returns</dt><dd>true if the OpenGL ES 3.1 API is available. </dd></dl>
14488
Jenkinsb3a371b2018-05-23 11:36:53 +010014489<p>Referenced by <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00753">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014490
14491</div>
14492</div>
14493<a class="anchor" id="a4e3ff85e1f6c648dfbe264f54c147451"></a>
14494<div class="memitem">
14495<div class="memproto">
14496<table class="mlabels">
14497 <tr>
14498 <td class="mlabels-left">
14499 <table class="memname">
14500 <tr>
14501 <td class="memname">bool arm_compute::operator!= </td>
14502 <td>(</td>
14503 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
14504 <td class="paramname"><em>lhs</em>, </td>
14505 </tr>
14506 <tr>
14507 <td class="paramkey"></td>
14508 <td></td>
14509 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
14510 <td class="paramname"><em>rhs</em>&#160;</td>
14511 </tr>
14512 <tr>
14513 <td></td>
14514 <td>)</td>
14515 <td></td><td></td>
14516 </tr>
14517 </table>
14518 </td>
14519 <td class="mlabels-right">
14520<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14521 </tr>
14522</table>
14523</div><div class="memdoc">
14524
Jenkinsb3a371b2018-05-23 11:36:53 +010014525<p>Check that given dimensions are not equal. </p>
14526<dl class="params"><dt>Parameters</dt><dd>
14527 <table class="params">
14528 <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>
14529 <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>
14530 </table>
14531 </dd>
14532</dl>
14533<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 +010014534
Jenkinsb3a371b2018-05-23 11:36:53 +010014535<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00246">246</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
14536<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 +010014537</div>
14538</div>
14539<a class="anchor" id="a18d43401e8f84ed020429b41ec4e99f5"></a>
14540<div class="memitem">
14541<div class="memproto">
14542 <table class="memname">
14543 <tr>
14544 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14545 <td>(</td>
14546 <td class="paramtype">::std::ostream &amp;&#160;</td>
14547 <td class="paramname"><em>os</em>, </td>
14548 </tr>
14549 <tr>
14550 <td class="paramkey"></td>
14551 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014552 <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 +010014553 <td class="paramname"><em>dimensions</em>&#160;</td>
14554 </tr>
14555 <tr>
14556 <td></td>
14557 <td>)</td>
14558 <td></td><td></td>
14559 </tr>
14560 </table>
14561</div><div class="memdoc">
14562
14563<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 +010014564<dl class="params"><dt>Parameters</dt><dd>
14565 <table class="params">
14566 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14567 <tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
14568 </table>
14569 </dd>
14570</dl>
14571<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014572
Jenkinsb3a371b2018-05-23 11:36:53 +010014573<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00053">53</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14574<div class="fragment"><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">if</span>(dimensions.num_dimensions() &gt; 0)</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; os &lt;&lt; dimensions[0];</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">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="l00060"></a><span class="lineno"> 60</span>&#160; {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; dimensions[d];</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; }</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">return</span> os;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014575</div>
14576</div>
Kaizen8938bd32017-09-28 14:38:23 +010014577<a class="anchor" id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014578<div class="memitem">
14579<div class="memproto">
14580 <table class="memname">
14581 <tr>
14582 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14583 <td>(</td>
14584 <td class="paramtype">::std::ostream &amp;&#160;</td>
14585 <td class="paramname"><em>os</em>, </td>
14586 </tr>
14587 <tr>
14588 <td class="paramkey"></td>
14589 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014590 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014591 <td class="paramname"><em>function</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014592 </tr>
14593 <tr>
14594 <td></td>
14595 <td>)</td>
14596 <td></td><td></td>
14597 </tr>
14598 </table>
14599</div><div class="memdoc">
14600
Kaizen8938bd32017-09-28 14:38:23 +010014601<p>Formatted output of the NonLinearFilterFunction type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014602<dl class="params"><dt>Parameters</dt><dd>
14603 <table class="params">
14604 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14605 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
14606 </table>
14607 </dd>
14608</dl>
14609<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014610
Jenkinsb3a371b2018-05-23 11:36:53 +010014611<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00075">75</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 +010014612
Jenkinsb3a371b2018-05-23 11:36:53 +010014613<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
14614<div class="fragment"><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">switch</span>(<span class="keyword">function</span>)</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">case</span> NonLinearFilterFunction::MAX:</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MEDIAN&quot;</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIN&quot;</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</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="l00090"></a><span class="lineno"> 90</span>&#160; }</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</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#l00260">Error.h:260</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014615</div><!-- fragment -->
14616</div>
14617</div>
Kaizen8938bd32017-09-28 14:38:23 +010014618<a class="anchor" id="acec416ec5af175a7aad47a518fefb770"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014619<div class="memitem">
14620<div class="memproto">
14621 <table class="memname">
14622 <tr>
14623 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14624 <td>(</td>
14625 <td class="paramtype">::std::ostream &amp;&#160;</td>
14626 <td class="paramname"><em>os</em>, </td>
14627 </tr>
14628 <tr>
14629 <td class="paramkey"></td>
14630 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014631 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014632 <td class="paramname"><em>pattern</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014633 </tr>
14634 <tr>
14635 <td></td>
14636 <td>)</td>
14637 <td></td><td></td>
14638 </tr>
14639 </table>
14640</div><div class="memdoc">
14641
Kaizen8938bd32017-09-28 14:38:23 +010014642<p>Formatted output of the MatrixPattern type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014643<dl class="params"><dt>Parameters</dt><dd>
14644 <table class="params">
14645 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14646 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td>Type to output.</td></tr>
14647 </table>
14648 </dd>
14649</dl>
14650<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014651
Jenkinsb3a371b2018-05-23 11:36:53 +010014652<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00115">115</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 +010014653
Jenkinsb3a371b2018-05-23 11:36:53 +010014654<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
14655<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">switch</span>(pattern)</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">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOX&quot;</span>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS&quot;</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DISK&quot;</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</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="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> os;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</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#l00260">Error.h:260</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014656</div><!-- fragment -->
14657</div>
14658</div>
14659<a class="anchor" id="a295edc9f8caf95838db2c5e251153514"></a>
14660<div class="memitem">
14661<div class="memproto">
14662 <table class="memname">
14663 <tr>
14664 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14665 <td>(</td>
14666 <td class="paramtype">::std::ostream &amp;&#160;</td>
14667 <td class="paramname"><em>os</em>, </td>
14668 </tr>
14669 <tr>
14670 <td class="paramkey"></td>
14671 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014672 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014673 <td class="paramname"><em>rounding_policy</em>&#160;</td>
14674 </tr>
14675 <tr>
14676 <td></td>
14677 <td>)</td>
14678 <td></td><td></td>
14679 </tr>
14680 </table>
14681</div><div class="memdoc">
14682
14683<p>Formatted output of the RoundingPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014684<dl class="params"><dt>Parameters</dt><dd>
14685 <table class="params">
14686 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14687 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Type to output.</td></tr>
14688 </table>
14689 </dd>
14690</dl>
14691<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014692
Jenkinsb3a371b2018-05-23 11:36:53 +010014693<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00158">158</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 +010014694
Jenkinsb3a371b2018-05-23 11:36:53 +010014695<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
14696<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;{</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</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="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">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_ZERO&quot;</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_UP&quot;</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_EVEN&quot;</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</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="l00173"></a><span class="lineno"> 173</span>&#160; }</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">return</span> os;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</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#l00260">Error.h:260</a></div></div>
14697<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#l00178">PixelWiseMultiplication.cpp:178</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014698</div><!-- fragment -->
14699</div>
14700</div>
14701<a class="anchor" id="a5972c7131d378f567af9c2961f088a0b"></a>
14702<div class="memitem">
14703<div class="memproto">
14704 <table class="memname">
14705 <tr>
14706 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14707 <td>(</td>
14708 <td class="paramtype">::std::ostream &amp;&#160;</td>
14709 <td class="paramname"><em>os</em>, </td>
14710 </tr>
14711 <tr>
14712 <td class="paramkey"></td>
14713 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014714 <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 +010014715 <td class="paramname"><em>weights_info</em>&#160;</td>
14716 </tr>
14717 <tr>
14718 <td></td>
14719 <td>)</td>
14720 <td></td><td></td>
14721 </tr>
14722 </table>
14723</div><div class="memdoc">
14724
14725<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 +010014726<dl class="params"><dt>Parameters</dt><dd>
14727 <table class="params">
14728 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14729 <tr><td class="paramdir">[in]</td><td class="paramname">weights_info</td><td>Type to output.</td></tr>
14730 </table>
14731 </dd>
14732</dl>
14733<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014734
Jenkinsb3a371b2018-05-23 11:36:53 +010014735<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00185">185</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014736
Jenkinsb3a371b2018-05-23 11:36:53 +010014737<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00967">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00983">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00975">WeightsInfo::num_kernels()</a>.</p>
14738<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; 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="l00188"></a><span class="lineno"> 188</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="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> os;</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_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#l00360">Winograd.cpp:360</a></div></div>
14739</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014740</div>
14741</div>
14742<a class="anchor" id="a352b805b77fde4f32f44af271580677b"></a>
14743<div class="memitem">
14744<div class="memproto">
14745 <table class="memname">
14746 <tr>
14747 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14748 <td>(</td>
14749 <td class="paramtype">::std::ostream &amp;&#160;</td>
14750 <td class="paramname"><em>os</em>, </td>
14751 </tr>
14752 <tr>
14753 <td class="paramkey"></td>
14754 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014755 <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 +010014756 <td class="paramname"><em>pool_info</em>&#160;</td>
14757 </tr>
14758 <tr>
14759 <td></td>
14760 <td>)</td>
14761 <td></td><td></td>
14762 </tr>
14763 </table>
14764</div><div class="memdoc">
14765
14766<p>Formatted output of the ROIPoolingInfo type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014767<dl class="params"><dt>Parameters</dt><dd>
14768 <table class="params">
14769 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14770 <tr><td class="paramdir">[in]</td><td class="paramname">pool_info</td><td>Type to output.</td></tr>
14771 </table>
14772 </dd>
14773</dl>
14774<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014775
Jenkinsb3a371b2018-05-23 11:36:53 +010014776<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00200">200</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014777
Jenkinsb3a371b2018-05-23 11:36:53 +010014778<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00792">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00787">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00797">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
14779<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</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="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014780</div>
14781</div>
14782<a class="anchor" id="a32a5556a927543fe57c0d7b82c20e9b4"></a>
14783<div class="memitem">
14784<div class="memproto">
14785 <table class="memname">
14786 <tr>
14787 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14788 <td>(</td>
14789 <td class="paramtype">::std::ostream &amp;&#160;</td>
14790 <td class="paramname"><em>os</em>, </td>
14791 </tr>
14792 <tr>
14793 <td class="paramkey"></td>
14794 <td></td>
14795 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;&#160;</td>
14796 <td class="paramname"><em>quantization_info</em>&#160;</td>
14797 </tr>
14798 <tr>
14799 <td></td>
14800 <td>)</td>
14801 <td></td><td></td>
14802 </tr>
14803 </table>
14804</div><div class="memdoc">
14805
14806<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 +010014807<dl class="params"><dt>Parameters</dt><dd>
14808 <table class="params">
14809 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14810 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
14811 </table>
14812 </dd>
14813</dl>
14814<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014815
Jenkinsb3a371b2018-05-23 11:36:53 +010014816<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00213">213</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 +000014817
Jenkinsb3a371b2018-05-23 11:36:53 +010014818<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00168">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00167">QuantizationInfo::scale</a>.</p>
14819<div class="fragment"><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; 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="l00216"></a><span class="lineno"> 216</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; quantization_info.offset;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010014820</div>
14821</div>
14822<a class="anchor" id="a2abb76fe917828983d666628badab08d"></a>
14823<div class="memitem">
14824<div class="memproto">
14825 <table class="memname">
14826 <tr>
14827 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14828 <td>(</td>
14829 <td class="paramtype">::std::ostream &amp;&#160;</td>
14830 <td class="paramname"><em>os</em>, </td>
14831 </tr>
14832 <tr>
14833 <td class="paramkey"></td>
14834 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014835 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;&#160;</td>
Kaizenbf8b01d2017-10-12 14:26:51 +010014836 <td class="paramname"><em>op</em>&#160;</td>
14837 </tr>
14838 <tr>
14839 <td></td>
14840 <td>)</td>
14841 <td></td><td></td>
14842 </tr>
14843 </table>
14844</div><div class="memdoc">
14845
Jenkinsb3a371b2018-05-23 11:36:53 +010014846<p>Formatted output of the FixedPointOp type. </p>
14847<dl class="params"><dt>Parameters</dt><dd>
14848 <table class="params">
14849 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14850 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
14851 </table>
14852 </dd>
14853</dl>
14854<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010014855
Jenkinsb3a371b2018-05-23 11:36:53 +010014856<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00240">240</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14857
14858<p>References <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>, and <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
14859<div class="fragment"><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">switch</span>(op)</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="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">FixedPointOp::ADD</a>:</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ADD&quot;</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">FixedPointOp::SUB</a>:</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUB&quot;</span>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">case</span> FixedPointOp::MUL:</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MUL&quot;</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">case</span> FixedPointOp::EXP:</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;EXP&quot;</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">case</span> FixedPointOp::LOG:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOG&quot;</span>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">case</span> FixedPointOp::INV_SQRT:</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;INV_SQRT&quot;</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">case</span> FixedPointOp::RECIPROCAL:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RECIPROCAL&quot;</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</span>&#160; }</div><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">return</span> os;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</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#l00260">Error.h:260</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010014860<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
14861<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014862</div><!-- fragment -->
14863</div>
14864</div>
14865<a class="anchor" id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
14866<div class="memitem">
14867<div class="memproto">
14868 <table class="memname">
14869 <tr>
14870 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14871 <td>(</td>
14872 <td class="paramtype">::std::ostream &amp;&#160;</td>
14873 <td class="paramname"><em>os</em>, </td>
14874 </tr>
14875 <tr>
14876 <td class="paramkey"></td>
14877 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014878 <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 +010014879 <td class="paramname"><em>act_function</em>&#160;</td>
14880 </tr>
14881 <tr>
14882 <td></td>
14883 <td>)</td>
14884 <td></td><td></td>
14885 </tr>
14886 </table>
14887</div><div class="memdoc">
14888
14889<p>Formatted output of the activation function type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014890<dl class="params"><dt>Parameters</dt><dd>
14891 <table class="params">
14892 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14893 <tr><td class="paramdir">[in]</td><td class="paramname">act_function</td><td>Type to output.</td></tr>
14894 </table>
14895 </dd>
14896</dl>
14897<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014898
Jenkinsb3a371b2018-05-23 11:36:53 +010014899<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00292">292</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014900
Jenkinsb3a371b2018-05-23 11:36:53 +010014901<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="_error_8h_source.xhtml#l00260">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>
14902<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">switch</span>(act_function)</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; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</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> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</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> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</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="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> os;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014903</div><!-- fragment -->
14904</div>
14905</div>
14906<a class="anchor" id="a2ab7370aab6e5698990c50c8871fa6fb"></a>
14907<div class="memitem">
14908<div class="memproto">
14909 <table class="memname">
14910 <tr>
14911 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14912 <td>(</td>
14913 <td class="paramtype">::std::ostream &amp;&#160;</td>
14914 <td class="paramname"><em>os</em>, </td>
14915 </tr>
14916 <tr>
14917 <td class="paramkey"></td>
14918 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014919 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014920 <td class="paramname"><em>norm_type</em>&#160;</td>
14921 </tr>
14922 <tr>
14923 <td></td>
14924 <td>)</td>
14925 <td></td><td></td>
14926 </tr>
14927 </table>
14928</div><div class="memdoc">
14929
14930<p>Formatted output of the NormType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014931<dl class="params"><dt>Parameters</dt><dd>
14932 <table class="params">
14933 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14934 <tr><td class="paramdir">[in]</td><td class="paramname">norm_type</td><td>Type to output.</td></tr>
14935 </table>
14936 </dd>
14937</dl>
14938<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014939
Jenkinsb3a371b2018-05-23 11:36:53 +010014940<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00372">372</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014941
Jenkinsb3a371b2018-05-23 11:36:53 +010014942<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
14943<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;{</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</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="l00387"></a><span class="lineno"> 387</span>&#160; }</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014944</div><!-- fragment -->
14945</div>
14946</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010014947<a class="anchor" id="a6e422c610c91f611590173cd595c94c5"></a>
14948<div class="memitem">
14949<div class="memproto">
14950 <table class="memname">
14951 <tr>
14952 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14953 <td>(</td>
14954 <td class="paramtype">::std::ostream &amp;&#160;</td>
14955 <td class="paramname"><em>os</em>, </td>
14956 </tr>
14957 <tr>
14958 <td class="paramkey"></td>
14959 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014960 <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 +010014961 <td class="paramname"><em>info</em>&#160;</td>
14962 </tr>
14963 <tr>
14964 <td></td>
14965 <td>)</td>
14966 <td></td><td></td>
14967 </tr>
14968 </table>
14969</div><div class="memdoc">
14970
14971<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 +010014972<dl class="params"><dt>Parameters</dt><dd>
14973 <table class="params">
14974 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14975 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
14976 </table>
14977 </dd>
14978</dl>
14979<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010014980
Jenkinsb3a371b2018-05-23 11:36:53 +010014981<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00412">412</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010014982
Jenkinsb3a371b2018-05-23 11:36:53 +010014983<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00892">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00887">NormalizationLayerInfo::type()</a>.</p>
14984<div class="fragment"><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; 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="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</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 +010014985</div><!-- fragment -->
14986</div>
14987</div>
Kaizen8938bd32017-09-28 14:38:23 +010014988<a class="anchor" id="a336cf1e870f467e44c184587a13feeec"></a>
14989<div class="memitem">
14990<div class="memproto">
14991 <table class="memname">
14992 <tr>
14993 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14994 <td>(</td>
14995 <td class="paramtype">::std::ostream &amp;&#160;</td>
14996 <td class="paramname"><em>os</em>, </td>
14997 </tr>
14998 <tr>
14999 <td class="paramkey"></td>
15000 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015001 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015002 <td class="paramname"><em>pool_type</em>&#160;</td>
15003 </tr>
15004 <tr>
15005 <td></td>
15006 <td>)</td>
15007 <td></td><td></td>
15008 </tr>
15009 </table>
15010</div><div class="memdoc">
15011
15012<p>Formatted output of the PoolingType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015013<dl class="params"><dt>Parameters</dt><dd>
15014 <table class="params">
15015 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15016 <tr><td class="paramdir">[in]</td><td class="paramname">pool_type</td><td>Type to output.</td></tr>
15017 </table>
15018 </dd>
15019</dl>
15020<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015021
Jenkinsb3a371b2018-05-23 11:36:53 +010015022<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00425">425</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015023
Jenkinsb3a371b2018-05-23 11:36:53 +010015024<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15025<div class="fragment"><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;{</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">switch</span>(pool_type)</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; <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</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="l00440"></a><span class="lineno"> 440</span>&#160; }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015026</div><!-- fragment -->
15027</div>
15028</div>
15029<a class="anchor" id="ae72a61a2ca5c962ab1d37065e5598060"></a>
15030<div class="memitem">
15031<div class="memproto">
15032 <table class="memname">
15033 <tr>
15034 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15035 <td>(</td>
15036 <td class="paramtype">::std::ostream &amp;&#160;</td>
15037 <td class="paramname"><em>os</em>, </td>
15038 </tr>
15039 <tr>
15040 <td class="paramkey"></td>
15041 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015042 <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 +010015043 <td class="paramname"><em>info</em>&#160;</td>
15044 </tr>
15045 <tr>
15046 <td></td>
15047 <td>)</td>
15048 <td></td><td></td>
15049 </tr>
15050 </table>
15051</div><div class="memdoc">
15052
15053<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 +010015054<dl class="params"><dt>Parameters</dt><dd>
15055 <table class="params">
15056 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15057 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
15058 </table>
15059 </dd>
15060</dl>
15061<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015062
Jenkinsb3a371b2018-05-23 11:36:53 +010015063<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00452">452</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015064
Jenkinsb3a371b2018-05-23 11:36:53 +010015065<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00739">PoolingLayerInfo::pool_type()</a>.</p>
15066<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;{</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; 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="l00455"></a><span class="lineno"> 455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</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>
15067</div><!-- fragment -->
15068</div>
15069</div>
15070<a class="anchor" id="a1698cb24508a2bc45962bc887f18a8d0"></a>
15071<div class="memitem">
15072<div class="memproto">
15073 <table class="memname">
15074 <tr>
15075 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15076 <td>(</td>
15077 <td class="paramtype">::std::ostream &amp;&#160;</td>
15078 <td class="paramname"><em>os</em>, </td>
15079 </tr>
15080 <tr>
15081 <td class="paramkey"></td>
15082 <td></td>
15083 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&#160;</td>
15084 <td class="paramname"><em>data_layout</em>&#160;</td>
15085 </tr>
15086 <tr>
15087 <td></td>
15088 <td>)</td>
15089 <td></td><td></td>
15090 </tr>
15091 </table>
15092</div><div class="memdoc">
15093
15094<p>Formatted output of the DataLayout type. </p>
15095<dl class="params"><dt>Parameters</dt><dd>
15096 <table class="params">
15097 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15098 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Type to output.</td></tr>
15099 </table>
15100 </dd>
15101</dl>
15102<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15103
15104<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00479">479</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
15105
15106<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15107<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;{</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">switch</span>(data_layout)</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NHWC&quot;</span>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NCHW&quot;</span>;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</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="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</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#l00260">Error.h:260</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015108</div><!-- fragment -->
15109</div>
15110</div>
15111<a class="anchor" id="a685af15532d70b8682bcc52f06f034f9"></a>
15112<div class="memitem">
15113<div class="memproto">
15114 <table class="memname">
15115 <tr>
15116 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15117 <td>(</td>
15118 <td class="paramtype">::std::ostream &amp;&#160;</td>
15119 <td class="paramname"><em>os</em>, </td>
15120 </tr>
15121 <tr>
15122 <td class="paramkey"></td>
15123 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015124 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015125 <td class="paramname"><em>data_type</em>&#160;</td>
15126 </tr>
15127 <tr>
15128 <td></td>
15129 <td>)</td>
15130 <td></td><td></td>
15131 </tr>
15132 </table>
15133</div><div class="memdoc">
15134
15135<p>Formatted output of the DataType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015136<dl class="params"><dt>Parameters</dt><dd>
15137 <table class="params">
15138 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15139 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Type to output.</td></tr>
15140 </table>
15141 </dd>
15142</dl>
15143<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015144
Jenkinsb3a371b2018-05-23 11:36:53 +010015145<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00519">519</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 +010015146
Jenkinsb3a371b2018-05-23 11:36:53 +010015147<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
15148<div class="fragment"><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;{</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</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="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QS8&quot;</span>;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QASYMM8&quot;</span>;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QS16&quot;</span>;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</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="l00573"></a><span class="lineno"> 573</span>&#160; }</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</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#l00260">Error.h:260</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000015149<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015150</div><!-- fragment -->
15151</div>
15152</div>
15153<a class="anchor" id="a3b22e54b0ac0204c3b89aebcd695fa03"></a>
15154<div class="memitem">
15155<div class="memproto">
15156 <table class="memname">
15157 <tr>
15158 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15159 <td>(</td>
15160 <td class="paramtype">::std::ostream &amp;&#160;</td>
15161 <td class="paramname"><em>os</em>, </td>
15162 </tr>
15163 <tr>
15164 <td class="paramkey"></td>
15165 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015166 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015167 <td class="paramname"><em>format</em>&#160;</td>
15168 </tr>
15169 <tr>
15170 <td></td>
15171 <td>)</td>
15172 <td></td><td></td>
15173 </tr>
15174 </table>
15175</div><div class="memdoc">
15176
15177<p>Formatted output of the Format type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015178<dl class="params"><dt>Parameters</dt><dd>
15179 <table class="params">
15180 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15181 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Type to output.</td></tr>
15182 </table>
15183 </dd>
15184</dl>
15185<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015186
Jenkinsb3a371b2018-05-23 11:36:53 +010015187<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00598">598</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 +010015188
Jenkinsb3a371b2018-05-23 11:36:53 +010015189<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15190<div class="fragment"><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;{</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; {</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</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="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="keywordflow">return</span> os;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</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#l00260">Error.h:260</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015191</div><!-- fragment -->
15192</div>
15193</div>
15194<a class="anchor" id="aa66be15c012986ebd4c1934b97e08a36"></a>
15195<div class="memitem">
15196<div class="memproto">
15197 <table class="memname">
15198 <tr>
15199 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15200 <td>(</td>
15201 <td class="paramtype">::std::ostream &amp;&#160;</td>
15202 <td class="paramname"><em>os</em>, </td>
15203 </tr>
15204 <tr>
15205 <td class="paramkey"></td>
15206 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015207 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015208 <td class="paramname"><em>channel</em>&#160;</td>
15209 </tr>
15210 <tr>
15211 <td></td>
15212 <td>)</td>
15213 <td></td><td></td>
15214 </tr>
15215 </table>
15216</div><div class="memdoc">
15217
15218<p>Formatted output of the Channel type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015219<dl class="params"><dt>Parameters</dt><dd>
15220 <table class="params">
15221 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15222 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Type to output.</td></tr>
15223 </table>
15224 </dd>
15225</dl>
15226<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015227
Jenkinsb3a371b2018-05-23 11:36:53 +010015228<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00680">680</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 +010015229
Jenkinsb3a371b2018-05-23 11:36:53 +010015230<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00260">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>
15231<div class="fragment"><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;{</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</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="l00722"></a><span class="lineno"> 722</span>&#160; }</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="keywordflow">return</span> os;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015232</div><!-- fragment -->
15233</div>
15234</div>
15235<a class="anchor" id="a7929032d41d5f23cd1778a70508d0219"></a>
15236<div class="memitem">
15237<div class="memproto">
15238 <table class="memname">
15239 <tr>
15240 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15241 <td>(</td>
15242 <td class="paramtype">::std::ostream &amp;&#160;</td>
15243 <td class="paramname"><em>os</em>, </td>
15244 </tr>
15245 <tr>
15246 <td class="paramkey"></td>
15247 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015248 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015249 <td class="paramname"><em>mode</em>&#160;</td>
15250 </tr>
15251 <tr>
15252 <td></td>
15253 <td>)</td>
15254 <td></td><td></td>
15255 </tr>
15256 </table>
15257</div><div class="memdoc">
15258
15259<p>Formatted output of the BorderMode type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015260<dl class="params"><dt>Parameters</dt><dd>
15261 <table class="params">
15262 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15263 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Type to output.</td></tr>
15264 </table>
15265 </dd>
15266</dl>
15267<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015268
Jenkinsb3a371b2018-05-23 11:36:53 +010015269<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00747">747</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015270
Jenkinsb3a371b2018-05-23 11:36:53 +010015271<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15272<div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;{</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">switch</span>(mode)</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">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</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="l00762"></a><span class="lineno"> 762</span>&#160; }</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</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#l00260">Error.h:260</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015273</div><!-- fragment -->
15274</div>
15275</div>
15276<a class="anchor" id="af32c4c5cdd0efde09774eb803bc8a0bd"></a>
15277<div class="memitem">
15278<div class="memproto">
15279 <table class="memname">
15280 <tr>
15281 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15282 <td>(</td>
15283 <td class="paramtype">::std::ostream &amp;&#160;</td>
15284 <td class="paramname"><em>os</em>, </td>
15285 </tr>
15286 <tr>
15287 <td class="paramkey"></td>
15288 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015289 <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 +010015290 <td class="paramname"><em>border</em>&#160;</td>
15291 </tr>
15292 <tr>
15293 <td></td>
15294 <td>)</td>
15295 <td></td><td></td>
15296 </tr>
15297 </table>
15298</div><div class="memdoc">
15299
15300<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 +010015301<dl class="params"><dt>Parameters</dt><dd>
15302 <table class="params">
15303 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15304 <tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
15305 </table>
15306 </dd>
15307</dl>
15308<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015309
Jenkinsb3a371b2018-05-23 11:36:53 +010015310<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00774">774</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 +010015311
Jenkinsb3a371b2018-05-23 11:36:53 +010015312<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00373">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00372">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00371">BorderSize::top</a>.</p>
15313<div class="fragment"><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; os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; &lt;&lt; border.left;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010015314</div>
15315</div>
15316<a class="anchor" id="a509047aefc691398f1bb60b1f967a98b"></a>
15317<div class="memitem">
15318<div class="memproto">
15319 <table class="memname">
15320 <tr>
15321 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15322 <td>(</td>
15323 <td class="paramtype">::std::ostream &amp;&#160;</td>
15324 <td class="paramname"><em>os</em>, </td>
15325 </tr>
15326 <tr>
15327 <td class="paramkey"></td>
15328 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015329 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015330 <td class="paramname"><em>policy</em>&#160;</td>
15331 </tr>
15332 <tr>
15333 <td></td>
15334 <td>)</td>
15335 <td></td><td></td>
15336 </tr>
15337 </table>
15338</div><div class="memdoc">
15339
15340<p>Formatted output of the InterpolationPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015341<dl class="params"><dt>Parameters</dt><dd>
15342 <table class="params">
15343 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15344 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
15345 </table>
15346 </dd>
15347</dl>
15348<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015349
Jenkinsb3a371b2018-05-23 11:36:53 +010015350<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00791">791</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015351
Jenkinsb3a371b2018-05-23 11:36:53 +010015352<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00260">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>
15353<div class="fragment"><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">switch</span>(policy)</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; {</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</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="l00806"></a><span class="lineno"> 806</span>&#160; }</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</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#l00260">Error.h:260</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015354</div><!-- fragment -->
15355</div>
15356</div>
15357<a class="anchor" id="aab8eb6dc1ba89bb8a69f1c3845988a2b"></a>
15358<div class="memitem">
15359<div class="memproto">
15360 <table class="memname">
15361 <tr>
15362 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15363 <td>(</td>
15364 <td class="paramtype">::std::ostream &amp;&#160;</td>
15365 <td class="paramname"><em>os</em>, </td>
15366 </tr>
15367 <tr>
15368 <td class="paramkey"></td>
15369 <td></td>
15370 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;&#160;</td>
15371 <td class="paramname"><em>policy</em>&#160;</td>
15372 </tr>
15373 <tr>
15374 <td></td>
15375 <td>)</td>
15376 <td></td><td></td>
15377 </tr>
15378 </table>
15379</div><div class="memdoc">
15380
15381<p>Formatted output of the SamplingPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015382<dl class="params"><dt>Parameters</dt><dd>
15383 <table class="params">
15384 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15385 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
15386 </table>
15387 </dd>
15388</dl>
15389<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015390
Jenkinsb3a371b2018-05-23 11:36:53 +010015391<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00818">818</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 +000015392
Jenkinsb3a371b2018-05-23 11:36:53 +010015393<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15394<div class="fragment"><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;{</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CENTER&quot;</span>;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TOP_LEFT&quot;</span>;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</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="l00830"></a><span class="lineno"> 830</span>&#160; }</div><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">return</span> os;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015395</div><!-- fragment -->
15396</div>
15397</div>
15398<a class="anchor" id="a17881750c427aedd95deba46a4366ace"></a>
15399<div class="memitem">
15400<div class="memproto">
15401 <table class="memname">
15402 <tr>
15403 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15404 <td>(</td>
15405 <td class="paramtype">::std::ostream &amp;&#160;</td>
15406 <td class="paramname"><em>os</em>, </td>
15407 </tr>
15408 <tr>
15409 <td class="paramkey"></td>
15410 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015411 <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 +010015412 <td class="paramname"><em>rect</em>&#160;</td>
15413 </tr>
15414 <tr>
15415 <td></td>
15416 <td>)</td>
15417 <td></td><td></td>
15418 </tr>
15419 </table>
15420</div><div class="memdoc">
15421
15422<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 +010015423<dl class="params"><dt>Parameters</dt><dd>
15424 <table class="params">
15425 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15426 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>Type to output.</td></tr>
15427 </table>
15428 </dd>
15429</dl>
15430<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015431
Jenkinsb3a371b2018-05-23 11:36:53 +010015432<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00911">911</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015433
Jenkinsb3a371b2018-05-23 11:36:53 +010015434<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00455">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00454">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00452">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00453">Rectangle::y</a>.</p>
15435<div class="fragment"><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; os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</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="l00915"></a><span class="lineno"> 915</span>&#160;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010015436</div>
15437</div>
15438<a class="anchor" id="a8af36ae3a3613112c3a95e57f606359a"></a>
15439<div class="memitem">
15440<div class="memproto">
15441 <table class="memname">
15442 <tr>
15443 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15444 <td>(</td>
15445 <td class="paramtype">::std::ostream &amp;&#160;</td>
15446 <td class="paramname"><em>os</em>, </td>
15447 </tr>
15448 <tr>
15449 <td class="paramkey"></td>
15450 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015451 <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 +010015452 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
15453 </tr>
15454 <tr>
15455 <td></td>
15456 <td>)</td>
15457 <td></td><td></td>
15458 </tr>
15459 </table>
15460</div><div class="memdoc">
15461
Jenkinsb3a371b2018-05-23 11:36:53 +010015462<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>
15463<dl class="params"><dt>Parameters</dt><dd>
15464 <table class="params">
15465 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15466 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
15467 </table>
15468 </dd>
15469</dl>
15470<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015471
Jenkinsb3a371b2018-05-23 11:36:53 +010015472<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00926">926</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015473
Jenkinsb3a371b2018-05-23 11:36:53 +010015474<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00660">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00645">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00650">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00655">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00619">PadStrideInfo::stride()</a>.</p>
15475<div class="fragment"><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; 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="l00929"></a><span class="lineno"> 929</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</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="l00931"></a><span class="lineno"> 931</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="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><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010015476</div>
15477</div>
15478<a class="anchor" id="a4287c6842a60e5f6bf309e55f8813527"></a>
15479<div class="memitem">
15480<div class="memproto">
15481 <table class="memname">
15482 <tr>
15483 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15484 <td>(</td>
15485 <td class="paramtype">::std::ostream &amp;&#160;</td>
15486 <td class="paramname"><em>os</em>, </td>
15487 </tr>
15488 <tr>
15489 <td class="paramkey"></td>
15490 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015491 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015492 <td class="paramname"><em>policy</em>&#160;</td>
15493 </tr>
15494 <tr>
15495 <td></td>
15496 <td>)</td>
15497 <td></td><td></td>
15498 </tr>
15499 </table>
15500</div><div class="memdoc">
15501
Jenkinsb3a371b2018-05-23 11:36:53 +010015502<p>Formatted output of the ConvertPolicy type. </p>
15503<dl class="params"><dt>Parameters</dt><dd>
15504 <table class="params">
15505 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15506 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
15507 </table>
15508 </dd>
15509</dl>
15510<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015511
Jenkinsb3a371b2018-05-23 11:36:53 +010015512<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01008">1008</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015513
Jenkinsb3a371b2018-05-23 11:36:53 +010015514<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15515<div class="fragment"><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; <span class="keywordflow">switch</span>(policy)</div><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; <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</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="l01020"></a><span class="lineno"> 1020</span>&#160; }</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015516</div><!-- fragment -->
15517</div>
15518</div>
15519<a class="anchor" id="a292505a0ec686541cfe0dcfd1d651ec5"></a>
15520<div class="memitem">
15521<div class="memproto">
15522 <table class="memname">
15523 <tr>
15524 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15525 <td>(</td>
15526 <td class="paramtype">::std::ostream &amp;&#160;</td>
15527 <td class="paramname"><em>os</em>, </td>
15528 </tr>
15529 <tr>
15530 <td class="paramkey"></td>
15531 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015532 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015533 <td class="paramname"><em>op</em>&#160;</td>
15534 </tr>
15535 <tr>
15536 <td></td>
15537 <td>)</td>
15538 <td></td><td></td>
15539 </tr>
15540 </table>
15541</div><div class="memdoc">
15542
15543<p>Formatted output of the Reduction Operations. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015544<dl class="params"><dt>Parameters</dt><dd>
15545 <table class="params">
15546 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
15547 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
15548 </table>
15549 </dd>
15550</dl>
15551<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015552
Jenkinsb3a371b2018-05-23 11:36:53 +010015553<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01039">1039</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015554
Jenkinsb3a371b2018-05-23 11:36:53 +010015555<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
15556<div class="fragment"><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;{</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; {</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</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="l01048"></a><span class="lineno"> 1048</span>&#160; }</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="_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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015557</div><!-- fragment -->
15558</div>
15559</div>
15560<a class="anchor" id="a9a2e48a508dc85b7280f955876bb4462"></a>
15561<div class="memitem">
15562<div class="memproto">
15563 <table class="memname">
15564 <tr>
15565 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15566 <td>(</td>
15567 <td class="paramtype">::std::ostream &amp;&#160;</td>
15568 <td class="paramname"><em>os</em>, </td>
15569 </tr>
15570 <tr>
15571 <td class="paramkey"></td>
15572 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015573 <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 +010015574 <td class="paramname"><em>point</em>&#160;</td>
15575 </tr>
15576 <tr>
15577 <td></td>
15578 <td>)</td>
15579 <td></td><td></td>
15580 </tr>
15581 </table>
15582</div><div class="memdoc">
15583
15584<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 +010015585<dl class="params"><dt>Parameters</dt><dd>
15586 <table class="params">
15587 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15588 <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>Type to output.</td></tr>
15589 </table>
15590 </dd>
15591</dl>
15592<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015593
Jenkinsb3a371b2018-05-23 11:36:53 +010015594<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01120">1120</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015595
Jenkinsb3a371b2018-05-23 11:36:53 +010015596<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00443">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00441">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00439">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00442">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00437">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00438">KeyPoint::y</a>.</p>
15597<div class="fragment"><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;{</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</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="l01123"></a><span class="lineno"> 1123</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="l01124"></a><span class="lineno"> 1124</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="l01125"></a><span class="lineno"> 1125</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="l01126"></a><span class="lineno"> 1126</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="l01127"></a><span class="lineno"> 1127</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="l01128"></a><span class="lineno"> 1128</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="l01129"></a><span class="lineno"> 1129</span>&#160;</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015598</div>
15599</div>
15600<a class="anchor" id="abe52a76af2aa88876d54ce8a5969e509"></a>
15601<div class="memitem">
15602<div class="memproto">
15603 <table class="memname">
15604 <tr>
15605 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15606 <td>(</td>
15607 <td class="paramtype">::std::ostream &amp;&#160;</td>
15608 <td class="paramname"><em>os</em>, </td>
15609 </tr>
15610 <tr>
15611 <td class="paramkey"></td>
15612 <td></td>
15613 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> &amp;&#160;</td>
15614 <td class="paramname"><em>phase_type</em>&#160;</td>
15615 </tr>
15616 <tr>
15617 <td></td>
15618 <td>)</td>
15619 <td></td><td></td>
15620 </tr>
15621 </table>
15622</div><div class="memdoc">
15623
15624<p>Formatted output of the PhaseType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015625<dl class="params"><dt>Parameters</dt><dd>
15626 <table class="params">
15627 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15628 <tr><td class="paramdir">[in]</td><td class="paramname">phase_type</td><td>Type to output.</td></tr>
15629 </table>
15630 </dd>
15631</dl>
15632<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015633
Jenkinsb3a371b2018-05-23 11:36:53 +010015634<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01140">1140</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 +000015635
Jenkinsb3a371b2018-05-23 11:36:53 +010015636<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15637<div class="fragment"><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;{</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; {</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIGNED&quot;</span>;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNSIGNED&quot;</span>;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</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="l01152"></a><span class="lineno"> 1152</span>&#160; }</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</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#l00260">Error.h:260</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015638</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010015639</div>
15640</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015641<a class="anchor" id="a530d86eec3dbd22cab6336ffdceb0d37"></a>
15642<div class="memitem">
15643<div class="memproto">
15644 <table class="memname">
15645 <tr>
15646 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15647 <td>(</td>
15648 <td class="paramtype">::std::ostream &amp;&#160;</td>
15649 <td class="paramname"><em>os</em>, </td>
15650 </tr>
15651 <tr>
15652 <td class="paramkey"></td>
15653 <td></td>
15654 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> &amp;&#160;</td>
15655 <td class="paramname"><em>magnitude_type</em>&#160;</td>
15656 </tr>
15657 <tr>
15658 <td></td>
15659 <td>)</td>
15660 <td></td><td></td>
15661 </tr>
15662 </table>
15663</div><div class="memdoc">
15664
15665<p>Formatted output of the MagnitudeType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015666<dl class="params"><dt>Parameters</dt><dd>
15667 <table class="params">
15668 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15669 <tr><td class="paramdir">[in]</td><td class="paramname">magnitude_type</td><td>Type to output.</td></tr>
15670 </table>
15671 </dd>
15672</dl>
15673<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015674
Jenkinsb3a371b2018-05-23 11:36:53 +010015675<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01177">1177</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 +000015676
Jenkinsb3a371b2018-05-23 11:36:53 +010015677<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15678<div class="fragment"><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;{</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; {</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L1NORM&quot;</span>;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2NORM&quot;</span>;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</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="l01189"></a><span class="lineno"> 1189</span>&#160; }</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</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#l00260">Error.h:260</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015679</div><!-- fragment -->
15680</div>
15681</div>
15682<a class="anchor" id="af3985189d478b45014e7dead9d002e2a"></a>
15683<div class="memitem">
15684<div class="memproto">
15685 <table class="memname">
15686 <tr>
15687 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15688 <td>(</td>
15689 <td class="paramtype">::std::ostream &amp;&#160;</td>
15690 <td class="paramname"><em>os</em>, </td>
15691 </tr>
15692 <tr>
15693 <td class="paramkey"></td>
15694 <td></td>
15695 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;&#160;</td>
15696 <td class="paramname"><em>dim</em>&#160;</td>
15697 </tr>
15698 <tr>
15699 <td></td>
15700 <td>)</td>
15701 <td></td><td></td>
15702 </tr>
15703 </table>
15704</div><div class="memdoc">
15705
15706<p>Formatted output of the GradientDimension type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015707<dl class="params"><dt>Parameters</dt><dd>
15708 <table class="params">
15709 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15710 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output</td></tr>
15711 </table>
15712 </dd>
15713</dl>
15714<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015715
Jenkinsb3a371b2018-05-23 11:36:53 +010015716<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01214">1214</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 +000015717
Jenkinsb3a371b2018-05-23 11:36:53 +010015718<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
15719<div class="fragment"><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;{</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; <span class="keywordflow">switch</span>(dim)</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; {</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GRAD_X&quot;</span>;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GRAD_Y&quot;</span>;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GRAD_XY&quot;</span>;</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</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="l01229"></a><span class="lineno"> 1229</span>&#160; }</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</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#l00260">Error.h:260</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015720</div><!-- fragment -->
15721</div>
15722</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015723<a class="anchor" id="a5e7a61df2b926347b42ecadf8bcc8969"></a>
15724<div class="memitem">
15725<div class="memproto">
15726 <table class="memname">
15727 <tr>
15728 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15729 <td>(</td>
15730 <td class="paramtype">::std::ostream &amp;&#160;</td>
15731 <td class="paramname"><em>os</em>, </td>
15732 </tr>
15733 <tr>
15734 <td class="paramkey"></td>
15735 <td></td>
15736 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;&#160;</td>
15737 <td class="paramname"><em>norm_type</em>&#160;</td>
15738 </tr>
15739 <tr>
15740 <td></td>
15741 <td>)</td>
15742 <td></td><td></td>
15743 </tr>
15744 </table>
15745</div><div class="memdoc">
15746
15747<p>Formatted output of the HOGNormType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015748<dl class="params"><dt>Parameters</dt><dd>
15749 <table class="params">
15750 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15751 <tr><td class="paramdir">[in]</td><td class="paramname">norm_type</td><td>Type to output</td></tr>
15752 </table>
15753 </dd>
15754</dl>
15755<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015756
Jenkinsb3a371b2018-05-23 11:36:53 +010015757<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01254">1254</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 +000015758
Jenkinsb3a371b2018-05-23 11:36:53 +010015759<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15760<div class="fragment"><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;{</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div><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; <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L1_NORM&quot;</span>;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2_NORM&quot;</span>;</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2HYS_NORM&quot;</span>;</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</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="l01269"></a><span class="lineno"> 1269</span>&#160; }</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</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#l00260">Error.h:260</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015761</div><!-- fragment -->
15762</div>
15763</div>
15764<a class="anchor" id="ab91d110e020f6ed987e05e82df3e350b"></a>
15765<div class="memitem">
15766<div class="memproto">
15767 <table class="memname">
15768 <tr>
15769 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15770 <td>(</td>
15771 <td class="paramtype">::std::ostream &amp;&#160;</td>
15772 <td class="paramname"><em>os</em>, </td>
15773 </tr>
15774 <tr>
15775 <td class="paramkey"></td>
15776 <td></td>
15777 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
15778 <td class="paramname"><em>size</em>&#160;</td>
15779 </tr>
15780 <tr>
15781 <td></td>
15782 <td>)</td>
15783 <td></td><td></td>
15784 </tr>
15785 </table>
15786</div><div class="memdoc">
15787
15788<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 +010015789<dl class="params"><dt>Parameters</dt><dd>
15790 <table class="params">
15791 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15792 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Type to output</td></tr>
15793 </table>
15794 </dd>
15795</dl>
15796<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015797
Jenkinsb3a371b2018-05-23 11:36:53 +010015798<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01294">1294</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 +000015799
Jenkinsb3a371b2018-05-23 11:36:53 +010015800<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
15801<div class="fragment"><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;{</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</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="l01297"></a><span class="lineno"> 1297</span>&#160;</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015802</div>
15803</div>
15804<a class="anchor" id="a4228b490e13b79a60737929d9d9e5957"></a>
15805<div class="memitem">
15806<div class="memproto">
15807 <table class="memname">
15808 <tr>
15809 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15810 <td>(</td>
15811 <td class="paramtype">::std::ostream &amp;&#160;</td>
15812 <td class="paramname"><em>os</em>, </td>
15813 </tr>
15814 <tr>
15815 <td class="paramkey"></td>
15816 <td></td>
15817 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;&#160;</td>
15818 <td class="paramname"><em>hog_info</em>&#160;</td>
15819 </tr>
15820 <tr>
15821 <td></td>
15822 <td>)</td>
15823 <td></td><td></td>
15824 </tr>
15825 </table>
15826</div><div class="memdoc">
15827
Jenkinsb3a371b2018-05-23 11:36:53 +010015828<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>
15829<dl class="params"><dt>Parameters</dt><dd>
15830 <table class="params">
15831 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15832 <tr><td class="paramdir">[in]</td><td class="paramname">hog_info</td><td>Type to output</td></tr>
15833 </table>
15834 </dd>
15835</dl>
15836<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015837
Jenkinsb3a371b2018-05-23 11:36:53 +010015838<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01321">1321</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 +000015839
15840<p>References <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a13a9a6f5cfa21b3ab15b1e4315311aeb">HOGInfo::block_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#aa9a69eade27460f843fcfba5abb7ae52">HOGInfo::block_stride()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a4b7434680a85c2ac14df737ac7cca91e">HOGInfo::cell_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a0279e383beb758e477ce0673c5db8d57">HOGInfo::detection_window_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a954d05635b1ff48daffdd70d8a1a6443">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#aed90de2ef57929727bb2159b66d04487">HOGInfo::normalization_type()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#ae3664b841732a09d7749953ca5b81373">HOGInfo::num_bins()</a>, and <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a96823b4d7dc642aa9f51a0077899d3f9">HOGInfo::phase_type()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015841<div class="fragment"><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;{</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</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="l01324"></a><span class="lineno"> 1324</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="l01325"></a><span class="lineno"> 1325</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="l01326"></a><span class="lineno"> 1326</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="l01327"></a><span class="lineno"> 1327</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="l01328"></a><span class="lineno"> 1328</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="l01329"></a><span class="lineno"> 1329</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="l01330"></a><span class="lineno"> 1330</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="l01331"></a><span class="lineno"> 1331</span>&#160;</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000015842</div>
15843</div>
15844<a class="anchor" id="abd35c1c3fb716078b1f4a25981defac4"></a>
15845<div class="memitem">
15846<div class="memproto">
15847 <table class="memname">
15848 <tr>
15849 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15850 <td>(</td>
15851 <td class="paramtype">::std::ostream &amp;&#160;</td>
15852 <td class="paramname"><em>os</em>, </td>
15853 </tr>
15854 <tr>
15855 <td class="paramkey"></td>
15856 <td></td>
15857 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;&#160;</td>
15858 <td class="paramname"><em>conv_method</em>&#160;</td>
15859 </tr>
15860 <tr>
15861 <td></td>
15862 <td>)</td>
15863 <td></td><td></td>
15864 </tr>
15865 </table>
15866</div><div class="memdoc">
15867
Jenkinsb3a371b2018-05-23 11:36:53 +010015868<p>Formatted output of the ConvolutionMethod type. </p>
15869<dl class="params"><dt>Parameters</dt><dd>
15870 <table class="params">
15871 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15872 <tr><td class="paramdir">[in]</td><td class="paramname">conv_method</td><td>Type to output</td></tr>
15873 </table>
15874 </dd>
15875</dl>
15876<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015877
Jenkinsb3a371b2018-05-23 11:36:53 +010015878<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01355">1355</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
15879
15880<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
15881<div class="fragment"><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;{</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; {</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GEMM&quot;</span>;</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DIRECT&quot;</span>;</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WINOGRAD&quot;</span>;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</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="l01370"></a><span class="lineno"> 1370</span>&#160; }</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</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#l00260">Error.h:260</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015882</div><!-- fragment -->
15883</div>
15884</div>
15885<a class="anchor" id="a1f4d95d65a62a085e929ab0a1a77add2"></a>
15886<div class="memitem">
15887<div class="memproto">
15888 <table class="memname">
15889 <tr>
15890 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15891 <td>(</td>
15892 <td class="paramtype">::std::ostream &amp;&#160;</td>
15893 <td class="paramname"><em>os</em>, </td>
15894 </tr>
15895 <tr>
15896 <td class="paramkey"></td>
15897 <td></td>
15898 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;&#160;</td>
15899 <td class="paramname"><em>gpu_target</em>&#160;</td>
15900 </tr>
15901 <tr>
15902 <td></td>
15903 <td>)</td>
15904 <td></td><td></td>
15905 </tr>
15906 </table>
15907</div><div class="memdoc">
15908
Jenkinsb3a371b2018-05-23 11:36:53 +010015909<p>Formatted output of the GPUTarget type. </p>
15910<dl class="params"><dt>Parameters</dt><dd>
15911 <table class="params">
15912 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15913 <tr><td class="paramdir">[in]</td><td class="paramname">gpu_target</td><td>Type to output</td></tr>
15914 </table>
15915 </dd>
15916</dl>
15917<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015918
Jenkinsb3a371b2018-05-23 11:36:53 +010015919<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01395">1395</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
15920
15921<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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#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>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">TNOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
15922<div class="fragment"><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;{</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; {</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GPU_ARCH_MASK&quot;</span>;</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIDGARD&quot;</span>;</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BIFROST&quot;</span>;</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T600&quot;</span>;</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T700&quot;</span>;</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T800&quot;</span>;</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G71&quot;</span>;</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G72&quot;</span>;</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51&quot;</span>;</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51BIG&quot;</span>;</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51LIT&quot;</span>;</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; <span class="keywordflow">case</span> GPUTarget::TNOX:</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TNOX&quot;</span>;</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TTRX&quot;</span>;</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TBOX&quot;</span>;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</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="l01443"></a><span class="lineno"> 1443</span>&#160; }</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; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</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#l00260">Error.h:260</a></div></div>
15923</div><!-- fragment -->
15924</div>
15925</div>
15926<a class="anchor" id="a907c93ba5daaabf6af7095f20340d024"></a>
15927<div class="memitem">
15928<div class="memproto">
15929 <table class="memname">
15930 <tr>
15931 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15932 <td>(</td>
15933 <td class="paramtype">::std::ostream &amp;&#160;</td>
15934 <td class="paramname"><em>os</em>, </td>
15935 </tr>
15936 <tr>
15937 <td class="paramkey"></td>
15938 <td></td>
15939 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;&#160;</td>
15940 <td class="paramname"><em>detection_window</em>&#160;</td>
15941 </tr>
15942 <tr>
15943 <td></td>
15944 <td>)</td>
15945 <td></td><td></td>
15946 </tr>
15947 </table>
15948</div><div class="memdoc">
15949
15950<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>
15951<dl class="params"><dt>Parameters</dt><dd>
15952 <table class="params">
15953 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15954 <tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
15955 </table>
15956 </dd>
15957</dl>
15958<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15959
15960<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01468">1468</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
15961
15962<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00548">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00549">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00550">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00547">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00545">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00546">DetectionWindow::y</a>.</p>
15963<div class="fragment"><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;{</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</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="l01471"></a><span class="lineno"> 1471</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="l01472"></a><span class="lineno"> 1472</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="l01473"></a><span class="lineno"> 1473</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="l01474"></a><span class="lineno"> 1474</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="l01475"></a><span class="lineno"> 1475</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="l01476"></a><span class="lineno"> 1476</span>&#160;</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;}</div><div class="ttc" id="struct_detection_window_xhtml_ad4f986571659dd822695ca58dda00e49"><div class="ttname"><a href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">DetectionWindow::idx_class</a></div><div class="ttdeci">ushort idx_class</div><div class="ttdoc">Index of the class. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00053">types.h:53</a></div></div>
15964<div class="ttc" id="struct_detection_window_xhtml_a45b45124e843a937c3e256edbce64eea"><div class="ttname"><a href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">DetectionWindow::y</a></div><div class="ttdeci">ushort y</div><div class="ttdoc">Top-left y coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00050">types.h:50</a></div></div>
15965<div class="ttc" id="struct_detection_window_xhtml_a8c5cd9b525ee73a24b1d9d8e34982d1c"><div class="ttname"><a href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">DetectionWindow::score</a></div><div class="ttdeci">float score</div><div class="ttdoc">Confidence value for the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00054">types.h:54</a></div></div>
15966<div class="ttc" id="struct_detection_window_xhtml_aa0fb54e3dbe6f7446157eb3f3c1f77f3"><div class="ttname"><a href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">DetectionWindow::height</a></div><div class="ttdeci">ushort height</div><div class="ttdoc">Height of the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00052">types.h:52</a></div></div>
15967<div class="ttc" id="struct_detection_window_xhtml_a0815db32ce16586f5e90a633735df930"><div class="ttname"><a href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">DetectionWindow::x</a></div><div class="ttdeci">ushort x</div><div class="ttdoc">Top-left x coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00049">types.h:49</a></div></div>
15968<div class="ttc" id="struct_detection_window_xhtml_a67fe5ca4d6c3f95bf649ef48fe3d221b"><div class="ttname"><a href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">DetectionWindow::width</a></div><div class="ttdeci">ushort width</div><div class="ttdoc">Width of the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00051">types.h:51</a></div></div>
15969</div><!-- fragment -->
15970</div>
15971</div>
15972<a class="anchor" id="a8cfa7d498e60be008d557d025fe62ff3"></a>
15973<div class="memitem">
15974<div class="memproto">
15975 <table class="memname">
15976 <tr>
15977 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15978 <td>(</td>
15979 <td class="paramtype">::std::ostream &amp;&#160;</td>
15980 <td class="paramname"><em>os</em>, </td>
15981 </tr>
15982 <tr>
15983 <td class="paramkey"></td>
15984 <td></td>
15985 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;&#160;</td>
15986 <td class="paramname"><em>termination</em>&#160;</td>
15987 </tr>
15988 <tr>
15989 <td></td>
15990 <td>)</td>
15991 <td></td><td></td>
15992 </tr>
15993 </table>
15994</div><div class="memdoc">
15995
15996<p>Formatted output of the Termination type. </p>
15997<dl class="params"><dt>Parameters</dt><dd>
15998 <table class="params">
15999 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
16000 <tr><td class="paramdir">[in]</td><td class="paramname">termination</td><td>Type to output</td></tr>
16001 </table>
16002 </dd>
16003</dl>
16004<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
16005
16006<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01500">1500</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16007
16008<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
16009<div class="fragment"><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;{</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; {</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_EPSILON&quot;</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_ITERATIONS&quot;</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_BOTH&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">default</span>:</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</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="l01515"></a><span class="lineno"> 1515</span>&#160; }</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</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#l00260">Error.h:260</a></div></div>
16010</div><!-- fragment -->
16011</div>
16012</div>
16013<a class="anchor" id="af3cba8a4493cee4c431d128eed565ffe"></a>
16014<div class="memitem">
16015<div class="memproto">
16016 <table class="memname">
16017 <tr>
16018 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
16019 <td>(</td>
16020 <td class="paramtype">::std::ostream &amp;&#160;</td>
16021 <td class="paramname"><em>os</em>, </td>
16022 </tr>
16023 <tr>
16024 <td class="paramkey"></td>
16025 <td></td>
16026 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;&#160;</td>
16027 <td class="paramname"><em>info</em>&#160;</td>
16028 </tr>
16029 <tr>
16030 <td></td>
16031 <td>)</td>
16032 <td></td><td></td>
16033 </tr>
16034 </table>
16035</div><div class="memdoc">
16036
16037<p>Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. </p>
16038
16039<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01534">1534</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16040
16041<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01158">WinogradInfo::convolution_info</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01156">WinogradInfo::kernel_size</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01159">WinogradInfo::output_data_layout</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01155">WinogradInfo::output_tile_size</a>.</p>
16042<div class="fragment"><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;{</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</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="l01537"></a><span class="lineno"> 1537</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="l01538"></a><span class="lineno"> 1538</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="l01539"></a><span class="lineno"> 1539</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="l01540"></a><span class="lineno"> 1540</span>&#160;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</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 +000016043</div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000016044</div>
16045</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016046<a class="anchor" id="a096590f2456b9e9bcb8db98175720b60"></a>
16047<div class="memitem">
16048<div class="memproto">
16049<table class="mlabels">
16050 <tr>
16051 <td class="mlabels-left">
16052 <table class="memname">
16053 <tr>
16054 <td class="memname">bool arm_compute::operator== </td>
16055 <td>(</td>
16056 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
16057 <td class="paramname"><em>lhs</em>, </td>
16058 </tr>
16059 <tr>
16060 <td class="paramkey"></td>
16061 <td></td>
16062 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
16063 <td class="paramname"><em>rhs</em>&#160;</td>
16064 </tr>
16065 <tr>
16066 <td></td>
16067 <td>)</td>
16068 <td></td><td></td>
16069 </tr>
16070 </table>
16071 </td>
16072 <td class="mlabels-right">
16073<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16074 </tr>
16075</table>
16076</div><div class="memdoc">
16077
Jenkinsb3a371b2018-05-23 11:36:53 +010016078<p>Check that given dimensions are equal. </p>
16079<dl class="params"><dt>Parameters</dt><dd>
16080 <table class="params">
16081 <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>
16082 <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>
16083 </table>
16084 </dd>
16085</dl>
16086<dl class="section return"><dt>Returns</dt><dd>True if the given dimensions are equal. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016087
Jenkinsb3a371b2018-05-23 11:36:53 +010016088<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00234">234</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
16089
16090<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00189">Dimensions&lt; T &gt;::cbegin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00213">Dimensions&lt; T &gt;::cend()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>.</p>
16091<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 +000016092</div>
16093</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016094<a class="anchor" id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
16095<div class="memitem">
16096<div class="memproto">
16097 <table class="memname">
16098 <tr>
16099 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
16100 <td>(</td>
16101 <td class="paramtype">::std::istream &amp;&#160;</td>
16102 <td class="paramname"><em>is</em>, </td>
16103 </tr>
16104 <tr>
16105 <td class="paramkey"></td>
16106 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016107 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016108 <td class="paramname"><em>mode</em>&#160;</td>
16109 </tr>
16110 <tr>
16111 <td></td>
16112 <td>)</td>
16113 <td></td><td></td>
16114 </tr>
16115 </table>
16116</div><div class="memdoc">
16117
16118<p>Formatted input of the BorderMode type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016119<dl class="params"><dt>Parameters</dt><dd>
16120 <table class="params">
16121 <tr><td class="paramdir">[out]</td><td class="paramname">is</td><td>Input stream. </td></tr>
16122 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Border mode.</td></tr>
16123 </table>
16124 </dd>
16125</dl>
16126<dl class="section return"><dt>Returns</dt><dd>the modified input stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016127
Jenkinsb3a371b2018-05-23 11:36:53 +010016128<p>Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016129
Jenkinsb3a371b2018-05-23 11:36:53 +010016130<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00123">arm_compute::test::validation::c</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
16131<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#l00123">GEMM.cpp:123</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016132</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016133</div>
16134</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016135<a class="anchor" id="a21c3e11887f3acf9284ca763372c7da0"></a>
16136<div class="memitem">
16137<div class="memproto">
16138<table class="mlabels">
16139 <tr>
16140 <td class="mlabels-left">
16141 <table class="memname">
16142 <tr>
16143 <td class="memname">void arm_compute::permute </td>
16144 <td>(</td>
16145 <td class="paramtype"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
16146 <td class="paramname"><em>dimensions</em>, </td>
16147 </tr>
16148 <tr>
16149 <td class="paramkey"></td>
16150 <td></td>
16151 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;&#160;</td>
16152 <td class="paramname"><em>perm</em>&#160;</td>
16153 </tr>
16154 <tr>
16155 <td></td>
16156 <td>)</td>
16157 <td></td><td></td>
16158 </tr>
16159 </table>
16160 </td>
16161 <td class="mlabels-right">
16162<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16163 </tr>
16164</table>
16165</div><div class="memdoc">
16166
16167<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>
16168<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
16169<dl class="params"><dt>Parameters</dt><dd>
16170 <table class="params">
16171 <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>
16172 <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
16173 </table>
16174 </dd>
16175</dl>
16176
Jenkinsb3a371b2018-05-23 11:36:53 +010016177<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00536">536</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016178
Jenkinsb3a371b2018-05-23 11:36:53 +010016179<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00173">Dimensions&lt; T &gt;::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00197">Dimensions&lt; T &gt;::end()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016180
Jenkinsb3a371b2018-05-23 11:36:53 +010016181<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00397">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00039">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="validation_2_c_l_2_batch_normalization_layer_8cpp_source.xhtml#l00065">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00453">AssetsLibrary::fill()</a>, <a class="el" href="_validation_8h_source.xhtml#l00382">arm_compute::test::validation::validate()</a>, and <a class="el" href="_validation_8h_source.xhtml#l00457">arm_compute::test::validation::validate_wrap()</a>.</p>
16182<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 +000016183</div>
16184</div>
16185<a class="anchor" id="a5045aaec85553032a782c44ab8d26341"></a>
16186<div class="memitem">
16187<div class="memproto">
16188<table class="mlabels">
16189 <tr>
16190 <td class="mlabels-left">
16191 <table class="memname">
16192 <tr>
16193 <td class="memname">void arm_compute::permute </td>
16194 <td>(</td>
16195 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
16196 <td class="paramname"><em>shape</em>, </td>
16197 </tr>
16198 <tr>
16199 <td class="paramkey"></td>
16200 <td></td>
16201 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;&#160;</td>
16202 <td class="paramname"><em>perm</em>&#160;</td>
16203 </tr>
16204 <tr>
16205 <td></td>
16206 <td>)</td>
16207 <td></td><td></td>
16208 </tr>
16209 </table>
16210 </td>
16211 <td class="mlabels-right">
16212<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16213 </tr>
16214</table>
16215</div><div class="memdoc">
16216
16217<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>
16218<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
16219<dl class="params"><dt>Parameters</dt><dd>
16220 <table class="params">
16221 <tr><td class="paramdir">[in,out]</td><td class="paramname">shape</td><td>Shape to permute </td></tr>
16222 <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
16223 </table>
16224 </dd>
16225</dl>
16226
Jenkinsb3a371b2018-05-23 11:36:53 +010016227<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">553</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000016228
Jenkinsb3a371b2018-05-23 11:36:53 +010016229<p>References <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="namespacearm__compute.xhtml#a4f83578a33b502bf6419ead091249423">calculate_valid_region_scale()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00322">coords2index()</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::data_type</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00340">get_data_layout_dimension_index()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00303">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#l00270">set_data_layout_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00259">set_data_type_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00281">set_fixed_point_position_if_zero()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00248">set_format_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00292">set_quantization_info_if_empty()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00237">set_shape_if_empty()</a>, and <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>.</p>
16230<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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000016231</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016232</div>
16233</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016234<a class="anchor" id="ab7b3af731907e85fcaf72555c446176b"></a>
16235<div class="memitem">
16236<div class="memproto">
16237<table class="mlabels">
16238 <tr>
16239 <td class="mlabels-left">
16240 <table class="memname">
16241 <tr>
16242 <td class="memname">uint8_t pixel_area_c1u8_clamp </td>
16243 <td>(</td>
16244 <td class="paramtype">const uint8_t *&#160;</td>
16245 <td class="paramname"><em>first_pixel_ptr</em>, </td>
16246 </tr>
16247 <tr>
16248 <td class="paramkey"></td>
16249 <td></td>
16250 <td class="paramtype">size_t&#160;</td>
16251 <td class="paramname"><em>stride</em>, </td>
16252 </tr>
16253 <tr>
16254 <td class="paramkey"></td>
16255 <td></td>
16256 <td class="paramtype">size_t&#160;</td>
16257 <td class="paramname"><em>width</em>, </td>
16258 </tr>
16259 <tr>
16260 <td class="paramkey"></td>
16261 <td></td>
16262 <td class="paramtype">size_t&#160;</td>
16263 <td class="paramname"><em>height</em>, </td>
16264 </tr>
16265 <tr>
16266 <td class="paramkey"></td>
16267 <td></td>
16268 <td class="paramtype">float&#160;</td>
16269 <td class="paramname"><em>wr</em>, </td>
16270 </tr>
16271 <tr>
16272 <td class="paramkey"></td>
16273 <td></td>
16274 <td class="paramtype">float&#160;</td>
16275 <td class="paramname"><em>hr</em>, </td>
16276 </tr>
16277 <tr>
16278 <td class="paramkey"></td>
16279 <td></td>
16280 <td class="paramtype">int&#160;</td>
16281 <td class="paramname"><em>x</em>, </td>
16282 </tr>
16283 <tr>
16284 <td class="paramkey"></td>
16285 <td></td>
16286 <td class="paramtype">int&#160;</td>
16287 <td class="paramname"><em>y</em>&#160;</td>
16288 </tr>
16289 <tr>
16290 <td></td>
16291 <td>)</td>
16292 <td></td><td></td>
16293 </tr>
16294 </table>
16295 </td>
16296 <td class="mlabels-right">
16297<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16298 </tr>
16299</table>
16300</div><div class="memdoc">
16301
16302<p>Return the pixel at (x,y) using area interpolation by clamping when out of borders. </p>
16303<p>The image must be single channel U8</p>
16304<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>
16305<dd>
16306Currently average of the contributing pixels is calculated</dd></dl>
16307<dl class="params"><dt>Parameters</dt><dd>
16308 <table class="params">
16309 <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>
16310 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
16311 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
16312 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
16313 <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>
16314 <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>
16315 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
16316 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
16317 </table>
16318 </dd>
16319</dl>
16320<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using area interpolation. </dd></dl>
16321
Kaizen8938bd32017-09-28 14:38:23 +010016322<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016323
Jenkinsb3a371b2018-05-23 11:36:53 +010016324<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</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 +000016325
Jenkinsb3a371b2018-05-23 11:36:53 +010016326<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
16327<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 = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; in_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_y, static_cast&lt;float&gt;(height)));</div><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="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016328<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>
Jenkinsb3a371b2018-05-23 11:36:53 +010016329<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#l00328">Error.h:328</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016330<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>
Jenkinsb3a371b2018-05-23 11:36:53 +010016331<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016332</div><!-- fragment -->
16333</div>
16334</div>
Kaizen8938bd32017-09-28 14:38:23 +010016335<a class="anchor" id="a1c8d639ec2b3086a9506e72605a32333"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016336<div class="memitem">
16337<div class="memproto">
16338<table class="mlabels">
16339 <tr>
16340 <td class="mlabels-left">
16341 <table class="memname">
16342 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010016343 <td class="memname">T arm_compute::pixel_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016344 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016345 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016346 <td class="paramname"><em>first_pixel_ptr</em>, </td>
16347 </tr>
16348 <tr>
16349 <td class="paramkey"></td>
16350 <td></td>
16351 <td class="paramtype">size_t&#160;</td>
16352 <td class="paramname"><em>stride</em>, </td>
16353 </tr>
16354 <tr>
16355 <td class="paramkey"></td>
16356 <td></td>
16357 <td class="paramtype">float&#160;</td>
16358 <td class="paramname"><em>x</em>, </td>
16359 </tr>
16360 <tr>
16361 <td class="paramkey"></td>
16362 <td></td>
16363 <td class="paramtype">float&#160;</td>
16364 <td class="paramname"><em>y</em>&#160;</td>
16365 </tr>
16366 <tr>
16367 <td></td>
16368 <td>)</td>
16369 <td></td><td></td>
16370 </tr>
16371 </table>
16372 </td>
16373 <td class="mlabels-right">
16374<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16375 </tr>
16376</table>
16377</div><div class="memdoc">
16378
16379<p>Return the pixel at (x,y) using bilinear interpolation. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016380<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
16381<dl class="params"><dt>Parameters</dt><dd>
16382 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010016383 <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 +010016384 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image; </td></tr>
16385 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
16386 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
16387 </table>
16388 </dd>
16389</dl>
16390<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
16391
Jenkinsb3a371b2018-05-23 11:36:53 +010016392<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">210</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016393
Jenkinsb3a371b2018-05-23 11:36:53 +010016394<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>.</p>
16395<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#l00328">Error.h:328</a></div></div>
16396<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 +010016397</div><!-- fragment -->
16398</div>
16399</div>
Kaizen8938bd32017-09-28 14:38:23 +010016400<a class="anchor" id="afa55519774605e5b840fb031fdd7b196"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016401<div class="memitem">
16402<div class="memproto">
16403<table class="mlabels">
16404 <tr>
16405 <td class="mlabels-left">
16406 <table class="memname">
16407 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010016408 <td class="memname">uint8_t arm_compute::pixel_bilinear_c1_clamp </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016409 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016410 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016411 <td class="paramname"><em>first_pixel_ptr</em>, </td>
16412 </tr>
16413 <tr>
16414 <td class="paramkey"></td>
16415 <td></td>
16416 <td class="paramtype">size_t&#160;</td>
16417 <td class="paramname"><em>stride</em>, </td>
16418 </tr>
16419 <tr>
16420 <td class="paramkey"></td>
16421 <td></td>
16422 <td class="paramtype">size_t&#160;</td>
16423 <td class="paramname"><em>width</em>, </td>
16424 </tr>
16425 <tr>
16426 <td class="paramkey"></td>
16427 <td></td>
16428 <td class="paramtype">size_t&#160;</td>
16429 <td class="paramname"><em>height</em>, </td>
16430 </tr>
16431 <tr>
16432 <td class="paramkey"></td>
16433 <td></td>
16434 <td class="paramtype">float&#160;</td>
16435 <td class="paramname"><em>x</em>, </td>
16436 </tr>
16437 <tr>
16438 <td class="paramkey"></td>
16439 <td></td>
16440 <td class="paramtype">float&#160;</td>
16441 <td class="paramname"><em>y</em>&#160;</td>
16442 </tr>
16443 <tr>
16444 <td></td>
16445 <td>)</td>
16446 <td></td><td></td>
16447 </tr>
16448 </table>
16449 </td>
16450 <td class="mlabels-right">
16451<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16452 </tr>
16453</table>
16454</div><div class="memdoc">
16455
16456<p>Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. </p>
Kaizen8938bd32017-09-28 14:38:23 +010016457<p>The image must be single channel input</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016458<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
16459<dl class="params"><dt>Parameters</dt><dd>
16460 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010016461 <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 +010016462 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
16463 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
16464 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
16465 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
16466 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
16467 </table>
16468 </dd>
16469</dl>
16470<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
16471
Jenkinsb3a371b2018-05-23 11:36:53 +010016472<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">237</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016473
Jenkinsb3a371b2018-05-23 11:36:53 +010016474<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00032">pixel_area_c1u8_clamp()</a>.</p>
16475<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 = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(y, static_cast&lt;float&gt;(height)));</div><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_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
16476<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>
16477<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#l00328">Error.h:328</a></div></div>
16478<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>
16479<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>
16480<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016481</div><!-- fragment -->
16482</div>
16483</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016484<a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
16485<div class="memitem">
16486<div class="memproto">
16487<table class="mlabels">
16488 <tr>
16489 <td class="mlabels-left">
16490 <table class="memname">
16491 <tr>
16492 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
16493 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016494 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016495 <td class="paramname"><em>format</em></td><td>)</td>
16496 <td></td>
16497 </tr>
16498 </table>
16499 </td>
16500 <td class="mlabels-right">
16501<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16502 </tr>
16503</table>
16504</div><div class="memdoc">
16505
16506<p>The size in bytes of the pixel format. </p>
16507<dl class="params"><dt>Parameters</dt><dd>
16508 <table class="params">
16509 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
16510 </table>
16511 </dd>
16512</dl>
16513<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
16514
Jenkinsb3a371b2018-05-23 11:36:53 +010016515<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00144">144</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 +000016516
Jenkinsb3a371b2018-05-23 11:36:53 +010016517<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>
16518<div class="fragment"><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">switch</span>(format)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</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="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</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#l00260">Error.h:260</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016519</div><!-- fragment -->
16520</div>
16521</div>
16522<a class="anchor" id="a4f6fe18760340bcec02d095b7099e923"></a>
16523<div class="memitem">
16524<div class="memproto">
16525<table class="mlabels">
16526 <tr>
16527 <td class="mlabels-left">
16528 <table class="memname">
16529 <tr>
16530 <td class="memname">int arm_compute::plane_idx_from_channel </td>
16531 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016532 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016533 <td class="paramname"><em>format</em>, </td>
16534 </tr>
16535 <tr>
16536 <td class="paramkey"></td>
16537 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016538 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016539 <td class="paramname"><em>channel</em>&#160;</td>
16540 </tr>
16541 <tr>
16542 <td></td>
16543 <td>)</td>
16544 <td></td><td></td>
16545 </tr>
16546 </table>
16547 </td>
16548 <td class="mlabels-right">
16549<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16550 </tr>
16551</table>
16552</div><div class="memdoc">
16553
16554<p>Return the plane index of a given channel given an input format. </p>
16555<dl class="params"><dt>Parameters</dt><dd>
16556 <table class="params">
16557 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
16558 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
16559 </table>
16560 </dd>
16561</dl>
16562<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
16563
Jenkinsb3a371b2018-05-23 11:36:53 +010016564<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00254">254</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 +000016565
Jenkinsb3a371b2018-05-23 11:36:53 +010016566<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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 +000016567
16568<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::channel_extract()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016569<div class="fragment"><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">switch</span>(format)</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="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">case</span> Format::NV21:</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="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</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="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> 2;</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 channel&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="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00260">Error.h:260</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016570</div><!-- fragment -->
16571</div>
16572</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010016573<a class="anchor" id="a51a0d2ae440bc8cab3fbbe84bfea8b1d"></a>
16574<div class="memitem">
16575<div class="memproto">
16576 <table class="memname">
16577 <tr>
16578 <td class="memname">void arm_compute::print_consecutive_elements </td>
16579 <td>(</td>
16580 <td class="paramtype">std::ostream &amp;&#160;</td>
16581 <td class="paramname"><em>s</em>, </td>
16582 </tr>
16583 <tr>
16584 <td class="paramkey"></td>
16585 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016586 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010016587 <td class="paramname"><em>dt</em>, </td>
16588 </tr>
16589 <tr>
16590 <td class="paramkey"></td>
16591 <td></td>
16592 <td class="paramtype">const uint8_t *&#160;</td>
16593 <td class="paramname"><em>ptr</em>, </td>
16594 </tr>
16595 <tr>
16596 <td class="paramkey"></td>
16597 <td></td>
16598 <td class="paramtype">unsigned int&#160;</td>
16599 <td class="paramname"><em>n</em>, </td>
16600 </tr>
16601 <tr>
16602 <td class="paramkey"></td>
16603 <td></td>
16604 <td class="paramtype">int&#160;</td>
16605 <td class="paramname"><em>stream_width</em>, </td>
16606 </tr>
16607 <tr>
16608 <td class="paramkey"></td>
16609 <td></td>
16610 <td class="paramtype">const std::string &amp;&#160;</td>
16611 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
16612 </tr>
16613 <tr>
16614 <td></td>
16615 <td>)</td>
16616 <td></td><td></td>
16617 </tr>
16618 </table>
16619</div><div class="memdoc">
16620
16621<p>Print consecutive elements to an output stream. </p>
16622<dl class="params"><dt>Parameters</dt><dd>
16623 <table class="params">
16624 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
16625 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
16626 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
16627 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
16628 <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>
16629 <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>
16630 </table>
16631 </dd>
16632</dl>
16633
Jenkinsb3a371b2018-05-23 11:36:53 +010016634<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01123">max_consecutive_elements_display_width_impl()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016635
Anthony Barbiera4376382017-04-12 15:12:46 +010016636</div>
16637</div>
16638<a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
16639<div class="memitem">
16640<div class="memproto">
16641 <table class="memname">
16642 <tr>
16643 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
16644 <td>(</td>
16645 <td class="paramtype">std::ostream &amp;&#160;</td>
16646 <td class="paramname"><em>s</em>, </td>
16647 </tr>
16648 <tr>
16649 <td class="paramkey"></td>
16650 <td></td>
16651 <td class="paramtype">const T *&#160;</td>
16652 <td class="paramname"><em>ptr</em>, </td>
16653 </tr>
16654 <tr>
16655 <td class="paramkey"></td>
16656 <td></td>
16657 <td class="paramtype">unsigned int&#160;</td>
16658 <td class="paramname"><em>n</em>, </td>
16659 </tr>
16660 <tr>
16661 <td class="paramkey"></td>
16662 <td></td>
16663 <td class="paramtype">int&#160;</td>
16664 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
16665 </tr>
16666 <tr>
16667 <td class="paramkey"></td>
16668 <td></td>
16669 <td class="paramtype">const std::string &amp;&#160;</td>
16670 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
16671 </tr>
16672 <tr>
16673 <td></td>
16674 <td>)</td>
16675 <td></td><td></td>
16676 </tr>
16677 </table>
16678</div><div class="memdoc">
16679
16680<p>Print consecutive elements to an output stream. </p>
16681<dl class="params"><dt>Parameters</dt><dd>
16682 <table class="params">
16683 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
16684 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
16685 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
16686 <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>
16687 <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>
16688 </table>
16689 </dd>
16690</dl>
16691
Jenkinsb3a371b2018-05-23 11:36:53 +010016692<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01090">1090</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
16693<div class="fragment"><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <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="l01093"></a><span class="lineno"> 1093</span>&#160;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</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="l01095"></a><span class="lineno"> 1095</span>&#160; {</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</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="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; s.width(stream_width);</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; }</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</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="l01103"></a><span class="lineno"> 1103</span>&#160; {</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</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="l01105"></a><span class="lineno"> 1105</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="l01106"></a><span class="lineno"> 1106</span>&#160; }</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; {</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</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="l01110"></a><span class="lineno"> 1110</span>&#160; }</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; }</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</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 +010016694</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010016695</div>
16696</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016697<a class="anchor" id="aefa4a4d3136d77b85cccfce344f9f37f"></a>
16698<div class="memitem">
16699<div class="memproto">
16700 <table class="memname">
16701 <tr>
16702 <td class="memname">std::string arm_compute::read_file </td>
16703 <td>(</td>
16704 <td class="paramtype">const std::string &amp;&#160;</td>
16705 <td class="paramname"><em>filename</em>, </td>
16706 </tr>
16707 <tr>
16708 <td class="paramkey"></td>
16709 <td></td>
16710 <td class="paramtype">bool&#160;</td>
16711 <td class="paramname"><em>binary</em>&#160;</td>
16712 </tr>
16713 <tr>
16714 <td></td>
16715 <td>)</td>
16716 <td></td><td></td>
16717 </tr>
16718 </table>
16719</div><div class="memdoc">
16720
16721<p>Load an entire file in memory. </p>
16722<dl class="params"><dt>Parameters</dt><dd>
16723 <table class="params">
16724 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
16725 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
16726 </table>
16727 </dd>
16728</dl>
16729<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
16730
Jenkinsb3a371b2018-05-23 11:36:53 +010016731<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">floor_to_multiple()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016732
16733</div>
16734</div>
16735<a class="anchor" id="a6452ac376d4adb94d93a93d678bb6757"></a>
16736<div class="memitem">
16737<div class="memproto">
16738 <table class="memname">
16739 <tr>
16740 <td class="memname">int arm_compute::round </td>
16741 <td>(</td>
16742 <td class="paramtype">float&#160;</td>
16743 <td class="paramname"><em>x</em>, </td>
16744 </tr>
16745 <tr>
16746 <td class="paramkey"></td>
16747 <td></td>
16748 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>&#160;</td>
16749 <td class="paramname"><em>rounding_policy</em>&#160;</td>
16750 </tr>
16751 <tr>
16752 <td></td>
16753 <td>)</td>
16754 <td></td><td></td>
16755 </tr>
16756 </table>
16757</div><div class="memdoc">
16758
16759<p>Return a rounded value of x. </p>
16760<p>Rounding is done according to the rounding_policy.</p>
16761<dl class="params"><dt>Parameters</dt><dd>
16762 <table class="params">
16763 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Float value to be rounded. </td></tr>
16764 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Policy determining how rounding is done.</td></tr>
16765 </table>
16766 </dd>
16767</dl>
16768<dl class="section return"><dt>Returns</dt><dd>Rounded value of the argument x. </dd></dl>
16769
Jenkinsb3a371b2018-05-23 11:36:53 +010016770<p>Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00063">DATA_TEST_CASE()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00157">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00166">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016771
16772</div>
16773</div>
16774<a class="anchor" id="a5e28a3911204ac952601f512c82b48f1"></a>
16775<div class="memitem">
16776<div class="memproto">
16777<table class="mlabels">
16778 <tr>
16779 <td class="mlabels-left">
16780 <table class="memname">
16781 <tr>
16782 <td class="memname">int32x4_t rounding_divide_by_pow2 </td>
16783 <td>(</td>
16784 <td class="paramtype">int32x4_t&#160;</td>
16785 <td class="paramname"><em>x</em>, </td>
16786 </tr>
16787 <tr>
16788 <td class="paramkey"></td>
16789 <td></td>
16790 <td class="paramtype">int&#160;</td>
16791 <td class="paramname"><em>exponent</em>&#160;</td>
16792 </tr>
16793 <tr>
16794 <td></td>
16795 <td>)</td>
16796 <td></td><td></td>
16797 </tr>
16798 </table>
16799 </td>
16800 <td class="mlabels-right">
16801<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16802 </tr>
16803</table>
16804</div><div class="memdoc">
16805
16806<p>Round to the nearest division by a power-of-two using exponent. </p>
16807<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>
16808<dl class="params"><dt>Parameters</dt><dd>
16809 <table class="params">
16810 <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>
16811 <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>
16812 </table>
16813 </dd>
16814</dl>
16815<dl class="section return"><dt>Returns</dt><dd>the nearest division by a power-of-two using exponent </dd></dl>
16816
16817<p>Definition at line <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">26</a> of file <a class="el" href="_n_e_asymm_8inl_source.xhtml">NEAsymm.inl</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000016818
16819<p>Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">finalize_quantization()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016820<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 +010016821</div>
16822</div>
16823<a class="anchor" id="a5d49ea329c81268d6e12031f6f13f1eb"></a>
16824<div class="memitem">
16825<div class="memproto">
16826<table class="mlabels">
16827 <tr>
16828 <td class="mlabels-left">
16829 <table class="memname">
16830 <tr>
16831 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sabs_qs16 </td>
16832 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016833 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016834 <td class="paramname"><em>a</em></td><td>)</td>
16835 <td></td>
16836 </tr>
16837 </table>
16838 </td>
16839 <td class="mlabels-right">
16840<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16841 </tr>
16842</table>
16843</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +000016844
Kaizen8938bd32017-09-28 14:38:23 +010016845<p>16 bit fixed point scalar absolute value </p>
16846<dl class="params"><dt>Parameters</dt><dd>
16847 <table class="params">
16848 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input</td></tr>
16849 </table>
16850 </dd>
16851</dl>
16852<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point absolute value </dd></dl>
16853
Anthony Barbier06ea0482018-02-22 15:45:35 +000016854<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00067">67</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016855
Jenkinsb3a371b2018-05-23 11:36:53 +010016856<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016857
Anthony Barbier06ea0482018-02-22 15:45:35 +000016858<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016859<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">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0) ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits&lt;int16_t&gt;::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int16_t&gt;::max</a>() : -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000016860<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010016861<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016862</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000016863</div>
16864</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016865<a class="anchor" id="a43315c66c4d00207f70143233b189085"></a>
16866<div class="memitem">
16867<div class="memproto">
16868<table class="mlabels">
16869 <tr>
16870 <td class="mlabels-left">
16871 <table class="memname">
16872 <tr>
16873 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sabs_qs8 </td>
16874 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016875 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016876 <td class="paramname"><em>a</em></td><td>)</td>
16877 <td></td>
16878 </tr>
16879 </table>
16880 </td>
16881 <td class="mlabels-right">
16882<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16883 </tr>
16884</table>
16885</div><div class="memdoc">
16886
16887<p>8 bit fixed point scalar absolute value </p>
16888<dl class="params"><dt>Parameters</dt><dd>
16889 <table class="params">
16890 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input</td></tr>
16891 </table>
16892 </dd>
16893</dl>
16894<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point absolute value </dd></dl>
16895
Anthony Barbier06ea0482018-02-22 15:45:35 +000016896<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00062">62</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016897
Jenkinsb3a371b2018-05-23 11:36:53 +010016898<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016899
Anthony Barbier06ea0482018-02-22 15:45:35 +000016900<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016901<div class="fragment"><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; <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0) ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits&lt;int8_t&gt;::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int8_t&gt;::max</a>() : -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000016902<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010016903<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016904</div><!-- fragment -->
16905</div>
16906</div>
16907<a class="anchor" id="ab30659aa2125bd5857547d424e601e34"></a>
16908<div class="memitem">
16909<div class="memproto">
16910<table class="mlabels">
16911 <tr>
16912 <td class="mlabels-left">
16913 <table class="memname">
16914 <tr>
16915 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sadd_qs16 </td>
16916 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016917 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016918 <td class="paramname"><em>a</em>, </td>
16919 </tr>
16920 <tr>
16921 <td class="paramkey"></td>
16922 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016923 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016924 <td class="paramname"><em>b</em>&#160;</td>
16925 </tr>
16926 <tr>
16927 <td></td>
16928 <td>)</td>
16929 <td></td><td></td>
16930 </tr>
16931 </table>
16932 </td>
16933 <td class="mlabels-right">
16934<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16935 </tr>
16936</table>
16937</div><div class="memdoc">
16938
16939<p>16 bit fixed point scalar add </p>
16940<dl class="params"><dt>Parameters</dt><dd>
16941 <table class="params">
16942 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
16943 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
16944 </table>
16945 </dd>
16946</dl>
16947<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition </dd></dl>
16948
Anthony Barbier06ea0482018-02-22 15:45:35 +000016949<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00077">77</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016950
Jenkinsc3f34a42018-03-02 12:38:09 +000016951<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016952
Anthony Barbier06ea0482018-02-22 15:45:35 +000016953<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000016954<div class="fragment"><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> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
16955<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016956</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016957</div>
16958</div>
16959<a class="anchor" id="aa8cee074ec68e2ae7830a9472efd8429"></a>
16960<div class="memitem">
16961<div class="memproto">
16962<table class="mlabels">
16963 <tr>
16964 <td class="mlabels-left">
16965 <table class="memname">
16966 <tr>
16967 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sadd_qs8 </td>
16968 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016969 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016970 <td class="paramname"><em>a</em>, </td>
16971 </tr>
16972 <tr>
16973 <td class="paramkey"></td>
16974 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016975 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016976 <td class="paramname"><em>b</em>&#160;</td>
16977 </tr>
16978 <tr>
16979 <td></td>
16980 <td>)</td>
16981 <td></td><td></td>
16982 </tr>
16983 </table>
16984 </td>
16985 <td class="mlabels-right">
16986<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16987 </tr>
16988</table>
16989</div><div class="memdoc">
16990
16991<p>8 bit fixed point scalar add </p>
16992<dl class="params"><dt>Parameters</dt><dd>
16993 <table class="params">
16994 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
16995 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
16996 </table>
16997 </dd>
16998</dl>
16999<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition </dd></dl>
17000
Anthony Barbier06ea0482018-02-22 15:45:35 +000017001<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00072">72</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017002
Jenkinsc3f34a42018-03-02 12:38:09 +000017003<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017004
Anthony Barbier06ea0482018-02-22 15:45:35 +000017005<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000017006<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
17007<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017008</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017009</div>
17010</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010017011<a class="anchor" id="ac78192301777700de24d8c75667baf35"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000017012<div class="memitem">
17013<div class="memproto">
17014 <table class="memname">
17015 <tr>
17016 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::scaled_dimensions </td>
17017 <td>(</td>
17018 <td class="paramtype">unsigned int&#160;</td>
17019 <td class="paramname"><em>width</em>, </td>
17020 </tr>
17021 <tr>
17022 <td class="paramkey"></td>
17023 <td></td>
17024 <td class="paramtype">unsigned int&#160;</td>
17025 <td class="paramname"><em>height</em>, </td>
17026 </tr>
17027 <tr>
17028 <td class="paramkey"></td>
17029 <td></td>
17030 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017031 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017032 </tr>
17033 <tr>
17034 <td class="paramkey"></td>
17035 <td></td>
17036 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017037 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017038 </tr>
17039 <tr>
17040 <td class="paramkey"></td>
17041 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017042 <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 +010017043 <td class="paramname"><em>pad_stride_info</em>, </td>
17044 </tr>
17045 <tr>
17046 <td class="paramkey"></td>
17047 <td></td>
17048 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
17049 <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 +000017050 </tr>
17051 <tr>
17052 <td></td>
17053 <td>)</td>
17054 <td></td><td></td>
17055 </tr>
17056 </table>
17057</div><div class="memdoc">
17058
17059<p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
17060<dl class="params"><dt>Parameters</dt><dd>
17061 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010017062 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
17063 <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 +010017064 <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>
17065 <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 +010017066 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Pad and stride information. </td></tr>
17067 <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 +000017068 </table>
17069 </dd>
17070</dl>
17071<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>
17072
Jenkinsb3a371b2018-05-23 11:36:53 +010017073<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00294">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00128">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00161">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00329">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00268">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="validation_2reference_2_convolution_layer_8cpp_source.xhtml#l00050">arm_compute::test::validation::reference::convolution_layer_nchw()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>, and <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017074
17075</div>
17076</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017077<a class="anchor" id="a55e8e161b9a16d750a6cff3fba6cd480"></a>
17078<div class="memitem">
17079<div class="memproto">
17080<table class="mlabels">
17081 <tr>
17082 <td class="mlabels-left">
17083 <table class="memname">
17084 <tr>
17085 <td class="memname">float scvt_f32_qs16 </td>
17086 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017087 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017088 <td class="paramname"><em>a</em>, </td>
17089 </tr>
17090 <tr>
17091 <td class="paramkey"></td>
17092 <td></td>
17093 <td class="paramtype">int&#160;</td>
17094 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17095 </tr>
17096 <tr>
17097 <td></td>
17098 <td>)</td>
17099 <td></td><td></td>
17100 </tr>
17101 </table>
17102 </td>
17103 <td class="mlabels-right">
17104<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17105 </tr>
17106</table>
17107</div><div class="memdoc">
17108
17109<p>Convert a 16 bit fixed point to float. </p>
17110<dl class="params"><dt>Parameters</dt><dd>
17111 <table class="params">
17112 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
17113 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17114 </table>
17115 </dd>
17116</dl>
17117<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float </dd></dl>
17118
Anthony Barbier06ea0482018-02-22 15:45:35 +000017119<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00384">384</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017120
Jenkinsc3f34a42018-03-02 12:38:09 +000017121<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
17122<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; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) / (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017123</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017124</div>
17125</div>
17126<a class="anchor" id="a62232512d049619479b670c58a607924"></a>
17127<div class="memitem">
17128<div class="memproto">
17129<table class="mlabels">
17130 <tr>
17131 <td class="mlabels-left">
17132 <table class="memname">
17133 <tr>
17134 <td class="memname">float scvt_f32_qs8 </td>
17135 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017136 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017137 <td class="paramname"><em>a</em>, </td>
17138 </tr>
17139 <tr>
17140 <td class="paramkey"></td>
17141 <td></td>
17142 <td class="paramtype">int&#160;</td>
17143 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17144 </tr>
17145 <tr>
17146 <td></td>
17147 <td>)</td>
17148 <td></td><td></td>
17149 </tr>
17150 </table>
17151 </td>
17152 <td class="mlabels-right">
17153<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17154 </tr>
17155</table>
17156</div><div class="memdoc">
17157
17158<p>Convert an 8 bit fixed point to float. </p>
17159<dl class="params"><dt>Parameters</dt><dd>
17160 <table class="params">
17161 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
17162 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17163 </table>
17164 </dd>
17165</dl>
17166<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float </dd></dl>
17167
Anthony Barbier06ea0482018-02-22 15:45:35 +000017168<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00373">373</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017169
Jenkinsc3f34a42018-03-02 12:38:09 +000017170<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
17171<div class="fragment"><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;{</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) / (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017172</div><!-- fragment -->
17173</div>
17174</div>
Kaizen8938bd32017-09-28 14:38:23 +010017175<a class="anchor" id="a62b21ae2dd27770147d5b7c265fa534c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017176<div class="memitem">
17177<div class="memproto">
17178<table class="mlabels">
17179 <tr>
17180 <td class="mlabels-left">
17181 <table class="memname">
17182 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017183 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sdiv_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017184 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017185 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017186 <td class="paramname"><em>a</em>, </td>
17187 </tr>
17188 <tr>
17189 <td class="paramkey"></td>
17190 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017191 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017192 <td class="paramname"><em>b</em>, </td>
17193 </tr>
17194 <tr>
17195 <td class="paramkey"></td>
17196 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017197 <td class="paramtype">int&#160;</td>
17198 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17199 </tr>
17200 <tr>
17201 <td></td>
17202 <td>)</td>
17203 <td></td><td></td>
17204 </tr>
17205 </table>
17206 </td>
17207 <td class="mlabels-right">
17208<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17209 </tr>
17210</table>
17211</div><div class="memdoc">
17212
Kaizen8938bd32017-09-28 14:38:23 +010017213<p>16 bit fixed point scalar division </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017214<dl class="params"><dt>Parameters</dt><dd>
17215 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017216 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
17217 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017218 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17219 </table>
17220 </dd>
17221</dl>
Kaizen8938bd32017-09-28 14:38:23 +010017222<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point division. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017223
Anthony Barbier06ea0482018-02-22 15:45:35 +000017224<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00255">255</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017225
Jenkinsc3f34a42018-03-02 12:38:09 +000017226<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017227
Anthony Barbier06ea0482018-02-22 15:45:35 +000017228<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000017229<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">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> temp = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; fixed_point_position;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(temp / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017230<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
17231<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000017232<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017233</div><!-- fragment -->
17234</div>
17235</div>
17236<a class="anchor" id="ae39636f0e83dd3b854b89181a230216f"></a>
17237<div class="memitem">
17238<div class="memproto">
17239<table class="mlabels">
17240 <tr>
17241 <td class="mlabels-left">
17242 <table class="memname">
17243 <tr>
17244 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sdiv_qs8 </td>
17245 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017246 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017247 <td class="paramname"><em>a</em>, </td>
17248 </tr>
17249 <tr>
17250 <td class="paramkey"></td>
17251 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017252 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017253 <td class="paramname"><em>b</em>, </td>
17254 </tr>
17255 <tr>
17256 <td class="paramkey"></td>
17257 <td></td>
17258 <td class="paramtype">int&#160;</td>
17259 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17260 </tr>
17261 <tr>
17262 <td></td>
17263 <td>)</td>
17264 <td></td><td></td>
17265 </tr>
17266 </table>
17267 </td>
17268 <td class="mlabels-right">
17269<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17270 </tr>
17271</table>
17272</div><div class="memdoc">
17273
17274<p>8 bit fixed point scalar division </p>
17275<dl class="params"><dt>Parameters</dt><dd>
17276 <table class="params">
17277 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
17278 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
17279 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17280 </table>
17281 </dd>
17282</dl>
17283<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point division. </dd></dl>
17284
Anthony Barbier06ea0482018-02-22 15:45:35 +000017285<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00249">249</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017286
Jenkinsc3f34a42018-03-02 12:38:09 +000017287<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017288
Anthony Barbier06ea0482018-02-22 15:45:35 +000017289<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000017290<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="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; fixed_point_position;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">&gt;</span>(temp / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017291<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017292<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000017293<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017294</div><!-- fragment -->
17295</div>
17296</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000017297<a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
17298<div class="memitem">
17299<div class="memproto">
17300<table class="mlabels">
17301 <tr>
17302 <td class="mlabels-left">
17303 <table class="memname">
17304 <tr>
17305 <td class="memname">bool arm_compute::separate_matrix </td>
17306 <td>(</td>
17307 <td class="paramtype">const int16_t *&#160;</td>
17308 <td class="paramname"><em>conv</em>, </td>
17309 </tr>
17310 <tr>
17311 <td class="paramkey"></td>
17312 <td></td>
17313 <td class="paramtype">int16_t *&#160;</td>
17314 <td class="paramname"><em>conv_col</em>, </td>
17315 </tr>
17316 <tr>
17317 <td class="paramkey"></td>
17318 <td></td>
17319 <td class="paramtype">int16_t *&#160;</td>
17320 <td class="paramname"><em>conv_row</em>, </td>
17321 </tr>
17322 <tr>
17323 <td class="paramkey"></td>
17324 <td></td>
17325 <td class="paramtype">uint8_t&#160;</td>
17326 <td class="paramname"><em>size</em>&#160;</td>
17327 </tr>
17328 <tr>
17329 <td></td>
17330 <td>)</td>
17331 <td></td><td></td>
17332 </tr>
17333 </table>
17334 </td>
17335 <td class="mlabels-right">
17336<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17337 </tr>
17338</table>
17339</div><div class="memdoc">
17340
17341<p>Separate a 2D convolution into two 1D convolutions. </p>
17342<dl class="params"><dt>Parameters</dt><dd>
17343 <table class="params">
17344 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
17345 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
17346 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
17347 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
17348 </table>
17349 </dd>
17350</dl>
17351<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
17352
Jenkinsb3a371b2018-05-23 11:36:53 +010017353<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00577">577</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017354
Jenkinsb3a371b2018-05-23 11:36:53 +010017355<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>.</p>
17356<div class="fragment"><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; int32_t min_col = -1;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; int16_t min_col_val = -1;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">for</span>(int32_t i = 0; i &lt; size; ++i)</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <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 || <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(min_col_val) &gt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i])))</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; min_col = i;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</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="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span>(min_col &lt; 0)</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">return</span> <span class="keyword">false</span>;</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;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; size; ++j)</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; 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="l00599"></a><span class="lineno"> 599</span>&#160; }</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 i = 0; i &lt; size; i++)</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>(static_cast&lt;int&gt;(i) == min_col)</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; conv_row[i] = 1;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; }</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">else</span></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; 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="l00610"></a><span class="lineno"> 610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; size; ++j)</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">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="l00614"></a><span class="lineno"> 614</span>&#160; {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; }</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; }</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; conv_row[i] = coeff;</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; }</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</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="_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
17357<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point&lt; T &gt; abs(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">FixedPoint.h:927</a></div></div>
17358</div><!-- fragment -->
17359</div>
17360</div>
17361<a class="anchor" id="aafd98bfd4651f36d691ddd2631a6e5a0"></a>
17362<div class="memitem">
17363<div class="memproto">
17364<table class="mlabels">
17365 <tr>
17366 <td class="mlabels-left">
17367 <table class="memname">
17368 <tr>
17369 <td class="memname">bool set_data_layout_if_unknown </td>
17370 <td>(</td>
17371 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
17372 <td class="paramname"><em>info</em>, </td>
17373 </tr>
17374 <tr>
17375 <td class="paramkey"></td>
17376 <td></td>
17377 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
17378 <td class="paramname"><em>data_layout</em>&#160;</td>
17379 </tr>
17380 <tr>
17381 <td></td>
17382 <td>)</td>
17383 <td></td><td></td>
17384 </tr>
17385 </table>
17386 </td>
17387 <td class="mlabels-right">
17388<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17389 </tr>
17390</table>
17391</div><div class="memdoc">
17392
17393<p>Set the data layout to the specified value if the current data layout is unknown. </p>
17394<dl class="params"><dt>Parameters</dt><dd>
17395 <table class="params">
17396 <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>
17397 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>New data layout.</td></tr>
17398 </table>
17399 </dd>
17400</dl>
17401<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
17402
17403<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00270">270</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
17404
17405<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
17406
17407<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
17408<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;{</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</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="l00273"></a><span class="lineno"> 273</span>&#160; {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_layout(data_layout);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</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 Barbierdbdab852017-06-23 15:42:00 +010017409</div><!-- fragment -->
17410</div>
17411</div>
17412<a class="anchor" id="ad19446be52c2c162fa678b9ae236f445"></a>
17413<div class="memitem">
17414<div class="memproto">
17415<table class="mlabels">
17416 <tr>
17417 <td class="mlabels-left">
17418 <table class="memname">
17419 <tr>
17420 <td class="memname">bool set_data_type_if_unknown </td>
17421 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017422 <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 +010017423 <td class="paramname"><em>info</em>, </td>
17424 </tr>
17425 <tr>
17426 <td class="paramkey"></td>
17427 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017428 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017429 <td class="paramname"><em>data_type</em>&#160;</td>
17430 </tr>
17431 <tr>
17432 <td></td>
17433 <td>)</td>
17434 <td></td><td></td>
17435 </tr>
17436 </table>
17437 </td>
17438 <td class="mlabels-right">
17439<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17440 </tr>
17441</table>
17442</div><div class="memdoc">
17443
Jenkinsb3a371b2018-05-23 11:36:53 +010017444<p>Set the data type and number of channels to the specified value if the current data type is unknown. </p>
17445<dl class="params"><dt>Parameters</dt><dd>
17446 <table class="params">
17447 <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>
17448 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type.</td></tr>
17449 </table>
17450 </dd>
17451</dl>
17452<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
17453
17454<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00259">259</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017455
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017456<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
17457
Jenkinsb3a371b2018-05-23 11:36:53 +010017458<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
17459<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">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="l00262"></a><span class="lineno"> 262</span>&#160; {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</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="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</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>
Jenkinsc3f34a42018-03-02 12:38:09 +000017460<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017461</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017462</div>
17463</div>
17464<a class="anchor" id="a0894ed18ca6f55d6053882676cc2c95c"></a>
17465<div class="memitem">
17466<div class="memproto">
17467<table class="mlabels">
17468 <tr>
17469 <td class="mlabels-left">
17470 <table class="memname">
17471 <tr>
17472 <td class="memname">bool set_fixed_point_position_if_zero </td>
17473 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017474 <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 +010017475 <td class="paramname"><em>info</em>, </td>
17476 </tr>
17477 <tr>
17478 <td class="paramkey"></td>
17479 <td></td>
17480 <td class="paramtype">int&#160;</td>
17481 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17482 </tr>
17483 <tr>
17484 <td></td>
17485 <td>)</td>
17486 <td></td><td></td>
17487 </tr>
17488 </table>
17489 </td>
17490 <td class="mlabels-right">
17491<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17492 </tr>
17493</table>
17494</div><div class="memdoc">
17495
Jenkinsb3a371b2018-05-23 11:36:53 +010017496<p>Set the fixed point position to the specified value if the current fixed point position is 0 and the data type is QS8 or QS16. </p>
17497<dl class="params"><dt>Parameters</dt><dd>
17498 <table class="params">
17499 <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>
17500 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>New fixed point position</td></tr>
17501 </table>
17502 </dd>
17503</dl>
17504<dl class="section return"><dt>Returns</dt><dd>True if the fixed point position has been changed. </dd></dl>
17505
17506<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00281">281</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017507
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017508<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>.</p>
17509
Jenkinsb3a371b2018-05-23 11:36:53 +010017510<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
17511<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; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() == 0 &amp;&amp; (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS8 || <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS16))</div><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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</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 +010017512</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017513</div>
17514</div>
17515<a class="anchor" id="a8076ba239b6681067b6cfea7f773a39f"></a>
17516<div class="memitem">
17517<div class="memproto">
17518<table class="mlabels">
17519 <tr>
17520 <td class="mlabels-left">
17521 <table class="memname">
17522 <tr>
17523 <td class="memname">bool set_format_if_unknown </td>
17524 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017525 <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 +010017526 <td class="paramname"><em>info</em>, </td>
17527 </tr>
17528 <tr>
17529 <td class="paramkey"></td>
17530 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017531 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017532 <td class="paramname"><em>format</em>&#160;</td>
17533 </tr>
17534 <tr>
17535 <td></td>
17536 <td>)</td>
17537 <td></td><td></td>
17538 </tr>
17539 </table>
17540 </td>
17541 <td class="mlabels-right">
17542<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17543 </tr>
17544</table>
17545</div><div class="memdoc">
17546
Jenkinsb3a371b2018-05-23 11:36:53 +010017547<p>Set the format, data type and number of channels to the specified value if the current data type is unknown. </p>
17548<dl class="params"><dt>Parameters</dt><dd>
17549 <table class="params">
17550 <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>
17551 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>New format.</td></tr>
17552 </table>
17553 </dd>
17554</dl>
17555<dl class="section return"><dt>Returns</dt><dd>True if the format has been changed. </dd></dl>
17556
17557<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00248">248</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017558
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017559<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a17394f0f7aea22d9b2d4c6f33bfa69ca">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
17560
Jenkinsb3a371b2018-05-23 11:36:53 +010017561<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
17562<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">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="l00251"></a><span class="lineno"> 251</span>&#160; {</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#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</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 +000017563</div><!-- fragment -->
17564</div>
17565</div>
17566<a class="anchor" id="a75509469ec2689ec143f4a37bbcb4437"></a>
17567<div class="memitem">
17568<div class="memproto">
17569<table class="mlabels">
17570 <tr>
17571 <td class="mlabels-left">
17572 <table class="memname">
17573 <tr>
17574 <td class="memname">bool set_quantization_info_if_empty </td>
17575 <td>(</td>
17576 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
17577 <td class="paramname"><em>info</em>, </td>
17578 </tr>
17579 <tr>
17580 <td class="paramkey"></td>
17581 <td></td>
17582 <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
17583 <td class="paramname"><em>quantization_info</em>&#160;</td>
17584 </tr>
17585 <tr>
17586 <td></td>
17587 <td>)</td>
17588 <td></td><td></td>
17589 </tr>
17590 </table>
17591 </td>
17592 <td class="mlabels-right">
17593<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17594 </tr>
17595</table>
17596</div><div class="memdoc">
17597
Jenkinsb3a371b2018-05-23 11:36:53 +010017598<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>
17599<dl class="params"><dt>Parameters</dt><dd>
17600 <table class="params">
17601 <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>
17602 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Quantization info</td></tr>
17603 </table>
17604 </dd>
17605</dl>
17606<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 +000017607
Jenkinsb3a371b2018-05-23 11:36:53 +010017608<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00292">292</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017609
Jenkinsb3a371b2018-05-23 11:36:53 +010017610<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00199">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01056">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>
17611
17612<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
17613<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</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="l00295"></a><span class="lineno"> 295</span>&#160; {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</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="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</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>
17614<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#l01056">Utils.h:1056</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017615</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017616</div>
17617</div>
17618<a class="anchor" id="a9d1a839c51134b2ae171a2264c541b6f"></a>
17619<div class="memitem">
17620<div class="memproto">
17621<table class="mlabels">
17622 <tr>
17623 <td class="mlabels-left">
17624 <table class="memname">
17625 <tr>
17626 <td class="memname">bool set_shape_if_empty </td>
17627 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017628 <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 +010017629 <td class="paramname"><em>info</em>, </td>
17630 </tr>
17631 <tr>
17632 <td class="paramkey"></td>
17633 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017634 <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 +010017635 <td class="paramname"><em>shape</em>&#160;</td>
17636 </tr>
17637 <tr>
17638 <td></td>
17639 <td>)</td>
17640 <td></td><td></td>
17641 </tr>
17642 </table>
17643 </td>
17644 <td class="mlabels-right">
17645<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17646 </tr>
17647</table>
17648</div><div class="memdoc">
17649
Jenkinsb3a371b2018-05-23 11:36:53 +010017650<p>Set the shape to the specified value if the current assignment is empty. </p>
17651<dl class="params"><dt>Parameters</dt><dd>
17652 <table class="params">
17653 <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>
17654 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape.</td></tr>
17655 </table>
17656 </dd>
17657</dl>
17658<dl class="section return"><dt>Returns</dt><dd>True if the shape has been changed. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017659
Jenkinsb3a371b2018-05-23 11:36:53 +010017660<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00237">237</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017661
Jenkinsb3a371b2018-05-23 11:36:53 +010017662<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00157">TensorShape::total_size()</a>.</p>
17663
17664<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
17665<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; <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="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</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="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017666<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>
17667</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017668</div>
17669</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010017670<a class="anchor" id="abd2bf5c0522dab806fa7981c9bc4d38e"></a>
17671<div class="memitem">
17672<div class="memproto">
17673<table class="mlabels">
17674 <tr>
17675 <td class="mlabels-left">
17676 <table class="memname">
17677 <tr>
17678 <td class="memname">bool arm_compute::setup_assembly_kernel </td>
17679 <td>(</td>
17680 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
17681 <td class="paramname"><em>a</em>, </td>
17682 </tr>
17683 <tr>
17684 <td class="paramkey"></td>
17685 <td></td>
17686 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
17687 <td class="paramname"><em>b</em>, </td>
17688 </tr>
17689 <tr>
17690 <td class="paramkey"></td>
17691 <td></td>
17692 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
17693 <td class="paramname"><em>d</em>, </td>
17694 </tr>
17695 <tr>
17696 <td class="paramkey"></td>
17697 <td></td>
17698 <td class="paramtype">float&#160;</td>
17699 <td class="paramname"><em>alpha</em>, </td>
17700 </tr>
17701 <tr>
17702 <td class="paramkey"></td>
17703 <td></td>
17704 <td class="paramtype">float&#160;</td>
17705 <td class="paramname"><em>beta</em>, </td>
17706 </tr>
17707 <tr>
17708 <td class="paramkey"></td>
17709 <td></td>
17710 <td class="paramtype">bool&#160;</td>
17711 <td class="paramname"><em>pretranspose_hint</em>, </td>
17712 </tr>
17713 <tr>
17714 <td class="paramkey"></td>
17715 <td></td>
17716 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;&#160;</td>
17717 <td class="paramname"><em>workspace</em>, </td>
17718 </tr>
17719 <tr>
17720 <td class="paramkey"></td>
17721 <td></td>
17722 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;&#160;</td>
17723 <td class="paramname"><em>B_pretranspose</em>, </td>
17724 </tr>
17725 <tr>
17726 <td class="paramkey"></td>
17727 <td></td>
17728 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> &amp;&#160;</td>
17729 <td class="paramname"><em>memory_group</em>, </td>
17730 </tr>
17731 <tr>
17732 <td class="paramkey"></td>
17733 <td></td>
17734 <td class="paramtype">T &amp;&#160;</td>
17735 <td class="paramname"><em>asm_glue</em>&#160;</td>
17736 </tr>
17737 <tr>
17738 <td></td>
17739 <td>)</td>
17740 <td></td><td></td>
17741 </tr>
17742 </table>
17743 </td>
17744 <td class="mlabels-right">
17745<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17746 </tr>
17747</table>
17748</div><div class="memdoc">
17749
17750<p>Create a wrapper kernel. </p>
17751<dl class="params"><dt>Parameters</dt><dd>
17752 <table class="params">
17753 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input tensor A. </td></tr>
17754 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Input tensor B. </td></tr>
17755 <tr><td class="paramdir">[out]</td><td class="paramname">d</td><td>Output tensor. </td></tr>
17756 <tr><td class="paramdir">[in]</td><td class="paramname">alpha</td><td>Alpha value. </td></tr>
17757 <tr><td class="paramdir">[in]</td><td class="paramname">beta</td><td>Beta value. </td></tr>
17758 <tr><td class="paramdir">[in]</td><td class="paramname">pretranspose_hint</td><td>Pre-transpose hint in case matrix b should be pre-transposed </td></tr>
17759 <tr><td class="paramdir">[out]</td><td class="paramname">workspace</td><td>Workspace tensor </td></tr>
17760 <tr><td class="paramdir">[out]</td><td class="paramname">B_pretranspose</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to hold the pre-transposed B </td></tr>
17761 <tr><td class="paramdir">[in]</td><td class="paramname">memory_group</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> memory group. </td></tr>
17762 <tr><td class="paramdir">[out]</td><td class="paramname">asm_glue</td><td>Assembly glue kernel.</td></tr>
17763 </table>
17764 </dd>
17765</dl>
17766<dl class="section return"><dt>Returns</dt><dd>the wrapper kernel. </dd></dl>
17767
17768<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00159">159</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
17769
17770<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="_assembly_helper_8h_source.xhtml#l00135">allocate_workspace()</a>, <a class="el" href="_validate_8h_source.xhtml#l00161">ARM_COMPUTE_ERROR_ON_NULLPTR</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>, <a class="el" href="classarm__compute_1_1_tensor.xhtml#ace7b855e3c647d29cc37a1ce147901dc">Tensor::buffer()</a>, <a class="el" href="classarm__compute_1_1_i_scheduler.xhtml#a95f26c7763b9472437a8da8aa6089c9b">IScheduler::cpu_info()</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#acb4f87f1831680d8d1b70e1bef06bb81">Scheduler::get()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="classarm__compute_1_1_i_scheduler.xhtml#ac24584a63e484123e3756d1b2a1c9e2f">IScheduler::num_threads()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00167">TensorShape::total_size_upper()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions&lt; T &gt;::z()</a>.</p>
17771<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="keyword">const</span> CPUInfo &amp;ci = NEScheduler::get().cpu_info();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> M = d-&gt;info()-&gt;tensor_shape().y();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> N = d-&gt;info()-&gt;tensor_shape().x();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> K = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">tensor_shape</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#afb5cd37bb08f1029691590372e6330f0">x</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> batches = d-&gt;info()-&gt;tensor_shape().total_size_upper(2);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> multis = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">tensor_shape</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a336121cb63ed79fa0a072eed03d694ac">z</a>();</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_threads = NEScheduler::get().num_threads();</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; <span class="comment">// unique_ptr to a Gemm object</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; std::unique_ptr&lt;typename T::AssemblyGemm&gt;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; asm_gemm(arm_gemm::gemm&lt;typename T::TypeOperator, typename T::TypeResult&gt;(ci, M, N, K, batches, multis, <span class="keyword">false</span>, <span class="keyword">false</span>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ab146b9cbab6e73e7588b240dc709fe01">beta</a>, num_threads, pretranspose_hint));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// arm_compute wrapper for the Gemm object (see above)</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; std::unique_ptr&lt;NEGEMMAssemblyWrapper&lt;typename T::AssemblyGemm&gt;&gt;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; acl_gemm_wrapper = support::cpp14::make_unique&lt;NEGEMMAssemblyWrapper&lt;typename T::AssemblyGemm&gt;&gt;();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">if</span>(acl_gemm_wrapper != <span class="keyword">nullptr</span> &amp;&amp; asm_gemm != <span class="keyword">nullptr</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; acl_gemm_wrapper-&gt;configure(asm_gemm.get());</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> workspace_size = asm_gemm-&gt;get_working_size();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span>(workspace_size)</div><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="comment">// Allocate workspace</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> alignment = 4096;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">allocate_workspace</a>(workspace_size, workspace, &amp;memory_group, alignment, num_threads);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a>(workspace.buffer());</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; asm_gemm-&gt;set_working_space(reinterpret_cast&lt;typename T::TypeResult *&gt;(workspace.buffer()));</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;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="comment">//if we disable this code below in brackets then ConvLayer deadlocks when threads &gt; 1 and</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">//the shapes are In=1x1x1024 Weights=1x1x1024x1001 Biases=1001 Out=1x1x1001</span></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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> window_size = asm_gemm-&gt;get_window_size();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span>(window_size &lt; num_threads)</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; num_threads = window_size;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; asm_gemm-&gt;set_nthreads(num_threads);</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; }</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; <span class="comment">// Check for pre-transposed support</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span>(asm_gemm-&gt;B_pretranspose_required())</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; <span class="comment">// Forcing 128-byte alignment (required by 32-bit kernels)</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> alignment = 128;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> B_pretranspose_size = asm_gemm-&gt;get_B_pretransposed_array_size();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">allocate_workspace</a>(B_pretranspose_size, B_pretranspose, <span class="keyword">nullptr</span>, alignment, 1);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a>(B_pretranspose.buffer());</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; asm_glue._pretranspose = &amp;B_pretranspose;</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;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; asm_glue._gemm_kernel_asm = std::move(asm_gemm);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; asm_glue._optimised_kernel = std::move(acl_gemm_wrapper);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="comment">// We need to setup the ptrs in the run() method</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; asm_glue._a = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; asm_glue._b = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; asm_glue._d = d;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a336121cb63ed79fa0a072eed03d694ac"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a336121cb63ed79fa0a072eed03d694ac">arm_compute::Dimensions::z</a></div><div class="ttdeci">T z() const </div><div class="ttdoc">Alias to access the size of the third dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00091">Dimensions.h:91</a></div></div>
17772<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ab146b9cbab6e73e7588b240dc709fe01"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ab146b9cbab6e73e7588b240dc709fe01">arm_compute::test::validation::beta</a></div><div class="ttdeci">beta</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
17773<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
17774<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
17775<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_afb5cd37bb08f1029691590372e6330f0"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#afb5cd37bb08f1029691590372e6330f0">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>
17776<div class="ttc" id="namespacearm__compute_xhtml_aa63c4dc1d1e43b7e57fadcb3e3e93580"><div class="ttname"><a href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">arm_compute::allocate_workspace</a></div><div class="ttdeci">void allocate_workspace(size_t workspace_size, Tensor &amp;workspace, MemoryGroup *memory_group, size_t alignment, unsigned int num_threads)</div><div class="ttdoc">Allocate a workspace tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_assembly_helper_8h_source.xhtml#l00135">AssemblyHelper.h:135</a></div></div>
17777<div class="ttc" id="_validate_8h_xhtml_a921b705e9e3e0fe928928447869e62a5"><div class="ttname"><a href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00161">Validate.h:161</a></div></div>
17778<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#l00115">GEMM.cpp:115</a></div></div>
17779<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a269b19ce3f357ac65f41f9951906e38e"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">arm_compute::TensorInfo::tensor_shape</a></div><div class="ttdeci">const TensorShape &amp; tensor_shape() const override</div><div class="ttdoc">Size for each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00263">TensorInfo.h:263</a></div></div>
17780<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#l00122">GEMM.cpp:122</a></div></div>
17781</div><!-- fragment -->
17782</div>
17783</div>
Kaizen8938bd32017-09-28 14:38:23 +010017784<a class="anchor" id="acc38b787d0451ec4a3e632ed919ac298"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017785<div class="memitem">
17786<div class="memproto">
17787 <table class="memname">
17788 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017789 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> arm_compute::sexp_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017790 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017791 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017792 <td class="paramname"><em>a</em>, </td>
17793 </tr>
17794 <tr>
17795 <td class="paramkey"></td>
17796 <td></td>
17797 <td class="paramtype">int&#160;</td>
17798 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17799 </tr>
17800 <tr>
17801 <td></td>
17802 <td>)</td>
17803 <td></td><td></td>
17804 </tr>
17805 </table>
17806</div><div class="memdoc">
17807
Kaizen8938bd32017-09-28 14:38:23 +010017808<p>16 bit fixed point scalar exponential </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017809<dl class="params"><dt>Parameters</dt><dd>
17810 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017811 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017812 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17813 </table>
17814 </dd>
17815</dl>
Kaizen8938bd32017-09-28 14:38:23 +010017816<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017817
17818</div>
17819</div>
Kaizen8938bd32017-09-28 14:38:23 +010017820<a class="anchor" id="a162390097e05ddc016310bad881c461c"></a>
17821<div class="memitem">
17822<div class="memproto">
17823<table class="mlabels">
17824 <tr>
17825 <td class="mlabels-left">
17826 <table class="memname">
17827 <tr>
17828 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sinvsqrt_qs16 </td>
17829 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017830 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017831 <td class="paramname"><em>a</em>, </td>
17832 </tr>
17833 <tr>
17834 <td class="paramkey"></td>
17835 <td></td>
17836 <td class="paramtype">int&#160;</td>
17837 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17838 </tr>
17839 <tr>
17840 <td></td>
17841 <td>)</td>
17842 <td></td><td></td>
17843 </tr>
17844 </table>
17845 </td>
17846 <td class="mlabels-right">
17847<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17848 </tr>
17849</table>
17850</div><div class="memdoc">
17851
17852<p>16 bit fixed point scalar inverse square root </p>
17853<dl class="params"><dt>Parameters</dt><dd>
17854 <table class="params">
17855 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
17856 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17857 </table>
17858 </dd>
17859</dl>
17860<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point inverse square root. </dd></dl>
17861
Anthony Barbier06ea0482018-02-22 15:45:35 +000017862<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00229">229</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017863
Anthony Barbier06ea0482018-02-22 15:45:35 +000017864<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00149">smul_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00114">ssub_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000017865<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; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift = 16 - (fixed_point_position + (__builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - 16));</div><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">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_three = (3 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = shift &lt; 0 ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; -shift) : (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; shift);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> x2 = temp;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="comment">// We need three iterations to find the result</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, x2, fixed_point_position), fixed_point_position));</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; x2 = <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, three_minus_dx, fixed_point_position) &gt;&gt; 1;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; temp = shift &lt; 0 ? (x2 &lt;&lt; ((-shift) &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</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; <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017866<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00149">FixedPoint.inl:149</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017867<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017868<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00114">FixedPoint.inl:114</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017869</div><!-- fragment -->
17870</div>
17871</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017872<a class="anchor" id="ab768d7001612a149c0bf695b773d659b"></a>
17873<div class="memitem">
17874<div class="memproto">
17875<table class="mlabels">
17876 <tr>
17877 <td class="mlabels-left">
17878 <table class="memname">
17879 <tr>
17880 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sinvsqrt_qs8 </td>
17881 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017882 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017883 <td class="paramname"><em>a</em>, </td>
17884 </tr>
17885 <tr>
17886 <td class="paramkey"></td>
17887 <td></td>
17888 <td class="paramtype">int&#160;</td>
17889 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17890 </tr>
17891 <tr>
17892 <td></td>
17893 <td>)</td>
17894 <td></td><td></td>
17895 </tr>
17896 </table>
17897 </td>
17898 <td class="mlabels-right">
17899<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17900 </tr>
17901</table>
17902</div><div class="memdoc">
17903
17904<p>8 bit fixed point scalar inverse square root </p>
17905<dl class="params"><dt>Parameters</dt><dd>
17906 <table class="params">
17907 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
17908 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17909 </table>
17910 </dd>
17911</dl>
17912<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point inverse square root. </dd></dl>
17913
Anthony Barbier06ea0482018-02-22 15:45:35 +000017914<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00209">209</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017915
Anthony Barbier06ea0482018-02-22 15:45:35 +000017916<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00137">smul_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00109">ssub_qs8()</a>.</p>
17917<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift = 8 - (fixed_point_position + (__builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - 24));</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_three = (3 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> temp = shift &lt; 0 ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; -shift) : (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; shift);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> x2 = temp;</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="comment">// We need three iterations to find the result</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</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; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, x2, fixed_point_position), fixed_point_position));</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; x2 = (<a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, three_minus_dx, fixed_point_position) &gt;&gt; 1);</div><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;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; temp = shift &lt; 0 ? (x2 &lt;&lt; (-shift &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</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> temp;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00137">FixedPoint.inl:137</a></div></div>
17918<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00109">FixedPoint.inl:109</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000017919<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017920<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
17921</div><!-- fragment -->
17922</div>
17923</div>
Kaizen8938bd32017-09-28 14:38:23 +010017924<a class="anchor" id="ad45601a3c0f1d9f6210041651f4e2f4b"></a>
17925<div class="memitem">
17926<div class="memproto">
17927<table class="mlabels">
17928 <tr>
17929 <td class="mlabels-left">
17930 <table class="memname">
17931 <tr>
17932 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> slog_qs16 </td>
17933 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017934 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017935 <td class="paramname"><em>a</em>, </td>
17936 </tr>
17937 <tr>
17938 <td class="paramkey"></td>
17939 <td></td>
17940 <td class="paramtype">int&#160;</td>
17941 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17942 </tr>
17943 <tr>
17944 <td></td>
17945 <td>)</td>
17946 <td></td><td></td>
17947 </tr>
17948 </table>
17949 </td>
17950 <td class="mlabels-right">
17951<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17952 </tr>
17953</table>
17954</div><div class="memdoc">
17955
17956<p>16 bit fixed point scalar logarithm </p>
17957<dl class="params"><dt>Parameters</dt><dd>
17958 <table class="params">
17959 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
17960 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17961 </table>
17962 </dd>
17963</dl>
17964<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point logarithm. </dd></dl>
17965
Anthony Barbier06ea0482018-02-22 15:45:35 +000017966<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">340</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017967
Anthony Barbier06ea0482018-02-22 15:45:35 +000017968<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00077">sadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00255">sdiv_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00149">smul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00173">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00114">ssub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
17969<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;{</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="comment">// Constants</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = (0x58B9 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C0F &gt;&gt; (7 - fixed_point_position - 1));</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56AE &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = (0x2933 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = -(0x0AA7 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">if</span>((const_one == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) || (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0))</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> 0;</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">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; const_one)</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="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a>(const_one, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</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; <span class="comment">// Remove even powers of 2</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift_val = 31 - __builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt;= shift_val;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</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="comment">// Polynomial expansion</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), B);</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), A);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a>(sum, shift_val &lt;&lt; fixed_point_position), ln2, fixed_point_position);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</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>
Jenkinsc3f34a42018-03-02 12:38:09 +000017970<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017971<div class="ttc" id="namespacearm__compute_xhtml_a62b21ae2dd27770147d5b7c265fa534c"><div class="ttname"><a href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">arm_compute::sdiv_qs16</a></div><div class="ttdeci">qint16_t sdiv_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00255">FixedPoint.inl:255</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017972<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>
17973<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017974<div class="ttc" id="namespacearm__compute_xhtml_ad45601a3c0f1d9f6210041651f4e2f4b"><div class="ttname"><a href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">arm_compute::slog_qs16</a></div><div class="ttdeci">qint16_t slog_qs16(qint16_t a, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar logarithm </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00340">FixedPoint.inl:340</a></div></div>
17975<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00149">FixedPoint.inl:149</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017976<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017977<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00091">FixedPoint.inl:91</a></div></div>
17978<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00114">FixedPoint.inl:114</a></div></div>
17979<div class="ttc" id="namespacearm__compute_xhtml_ab30659aa2125bd5857547d424e601e34"><div class="ttname"><a href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">arm_compute::sadd_qs16</a></div><div class="ttdeci">qint16_t sadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00077">FixedPoint.inl:77</a></div></div>
17980<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00173">FixedPoint.inl:173</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017981</div><!-- fragment -->
17982</div>
17983</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017984<a class="anchor" id="a596a7e3c63f80e67ea7cb713e8fc9992"></a>
17985<div class="memitem">
17986<div class="memproto">
17987<table class="mlabels">
17988 <tr>
17989 <td class="mlabels-left">
17990 <table class="memname">
17991 <tr>
17992 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> slog_qs8 </td>
17993 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017994 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017995 <td class="paramname"><em>a</em>, </td>
17996 </tr>
17997 <tr>
17998 <td class="paramkey"></td>
17999 <td></td>
18000 <td class="paramtype">int&#160;</td>
18001 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18002 </tr>
18003 <tr>
18004 <td></td>
18005 <td>)</td>
18006 <td></td><td></td>
18007 </tr>
18008 </table>
18009 </td>
18010 <td class="mlabels-right">
18011<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18012 </tr>
18013</table>
18014</div><div class="memdoc">
18015
18016<p>8 bit fixed point scalar logarithm </p>
18017<dl class="params"><dt>Parameters</dt><dd>
18018 <table class="params">
18019 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
18020 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18021 </table>
18022 </dd>
18023</dl>
18024<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point logarithm. </dd></dl>
18025
Anthony Barbier06ea0482018-02-22 15:45:35 +000018026<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">307</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018027
Anthony Barbier06ea0482018-02-22 15:45:35 +000018028<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00072">sadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00249">sdiv_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00137">smul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00161">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00109">ssub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
18029<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// Constants</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = (0x58 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C &gt;&gt; (7 - fixed_point_position - 1));</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = (0x29 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = -(0x0A &gt;&gt; (7 - fixed_point_position));</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">if</span>((const_one == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) || (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0))</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">return</span> 0;</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">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; const_one)</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> -<a class="code" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a>(const_one, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="comment">// Remove even powers of 2</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift_val = 31 - __builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt;= shift_val;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), B);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), A);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position);</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">return</span> <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a>(sum, shift_val &lt;&lt; fixed_point_position), ln2, fixed_point_position);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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>
18030<div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00137">FixedPoint.inl:137</a></div></div>
18031<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00109">FixedPoint.inl:109</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018032<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018033<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018034<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018035<div class="ttc" id="namespacearm__compute_xhtml_aa8cee074ec68e2ae7830a9472efd8429"><div class="ttname"><a href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">arm_compute::sadd_qs8</a></div><div class="ttdeci">qint8_t sadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00072">FixedPoint.inl:72</a></div></div>
18036<div class="ttc" id="namespacearm__compute_xhtml_ae39636f0e83dd3b854b89181a230216f"><div class="ttname"><a href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">arm_compute::sdiv_qs8</a></div><div class="ttdeci">qint8_t sdiv_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00249">FixedPoint.inl:249</a></div></div>
18037<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00161">FixedPoint.inl:161</a></div></div>
18038<div class="ttc" id="namespacearm__compute_xhtml_a596a7e3c63f80e67ea7cb713e8fc9992"><div class="ttname"><a href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">arm_compute::slog_qs8</a></div><div class="ttdeci">qint8_t slog_qs8(qint8_t a, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar logarithm </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00307">FixedPoint.inl:307</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018039<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018040<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00082">FixedPoint.inl:82</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018041</div><!-- fragment -->
18042</div>
18043</div>
18044<a class="anchor" id="a7e6eff2c8b93f18002c06059b7e5b79a"></a>
18045<div class="memitem">
18046<div class="memproto">
18047<table class="mlabels">
18048 <tr>
18049 <td class="mlabels-left">
18050 <table class="memname">
18051 <tr>
18052 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> smul_qs16 </td>
18053 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018054 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018055 <td class="paramname"><em>a</em>, </td>
18056 </tr>
18057 <tr>
18058 <td class="paramkey"></td>
18059 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018060 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018061 <td class="paramname"><em>b</em>, </td>
18062 </tr>
18063 <tr>
18064 <td class="paramkey"></td>
18065 <td></td>
18066 <td class="paramtype">int&#160;</td>
18067 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18068 </tr>
18069 <tr>
18070 <td></td>
18071 <td>)</td>
18072 <td></td><td></td>
18073 </tr>
18074 </table>
18075 </td>
18076 <td class="mlabels-right">
18077<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18078 </tr>
18079</table>
18080</div><div class="memdoc">
18081
18082<p>16 bit fixed point scalar multiply </p>
18083<dl class="params"><dt>Parameters</dt><dd>
18084 <table class="params">
18085 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
18086 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
18087 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18088 </table>
18089 </dd>
18090</dl>
18091<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. </dd></dl>
18092
Anthony Barbier06ea0482018-02-22 15:45:35 +000018093<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00149">149</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018094
Jenkinsc3f34a42018-03-02 12:38:09 +000018095<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018096
Anthony Barbier06ea0482018-02-22 15:45:35 +000018097<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00229">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018098<div class="fragment"><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="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><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; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</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; <span class="comment">// Rounding up</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; tmp += round_up_const;</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; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018099<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
18100<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018101<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018102</div><!-- fragment -->
18103</div>
18104</div>
18105<a class="anchor" id="aec48f137adc904d648dd7eba0d828fab"></a>
18106<div class="memitem">
18107<div class="memproto">
18108<table class="mlabels">
18109 <tr>
18110 <td class="mlabels-left">
18111 <table class="memname">
18112 <tr>
18113 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> smul_qs8 </td>
18114 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018115 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018116 <td class="paramname"><em>a</em>, </td>
18117 </tr>
18118 <tr>
18119 <td class="paramkey"></td>
18120 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018121 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018122 <td class="paramname"><em>b</em>, </td>
18123 </tr>
18124 <tr>
18125 <td class="paramkey"></td>
18126 <td></td>
18127 <td class="paramtype">int&#160;</td>
18128 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18129 </tr>
18130 <tr>
18131 <td></td>
18132 <td>)</td>
18133 <td></td><td></td>
18134 </tr>
18135 </table>
18136 </td>
18137 <td class="mlabels-right">
18138<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18139 </tr>
18140</table>
18141</div><div class="memdoc">
18142
18143<p>8 bit fixed point scalar multiply </p>
18144<dl class="params"><dt>Parameters</dt><dd>
18145 <table class="params">
18146 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
18147 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
18148 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18149 </table>
18150 </dd>
18151</dl>
18152<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. </dd></dl>
18153
Anthony Barbier06ea0482018-02-22 15:45:35 +000018154<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00137">137</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018155
Jenkinsc3f34a42018-03-02 12:38:09 +000018156<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018157
Anthony Barbier06ea0482018-02-22 15:45:35 +000018158<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00209">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018159<div class="fragment"><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> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</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; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</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; <span class="comment">// Rounding up</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; tmp += round_up_const;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">&gt;</span>(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018160<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018161<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018162<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018163</div><!-- fragment -->
18164</div>
18165</div>
18166<a class="anchor" id="a45669fcc0f31fce521179510e85dcb62"></a>
18167<div class="memitem">
18168<div class="memproto">
18169<table class="mlabels">
18170 <tr>
18171 <td class="mlabels-left">
18172 <table class="memname">
18173 <tr>
18174 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqadd_qs16 </td>
18175 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018176 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018177 <td class="paramname"><em>a</em>, </td>
18178 </tr>
18179 <tr>
18180 <td class="paramkey"></td>
18181 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018182 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018183 <td class="paramname"><em>b</em>&#160;</td>
18184 </tr>
18185 <tr>
18186 <td></td>
18187 <td>)</td>
18188 <td></td><td></td>
18189 </tr>
18190 </table>
18191 </td>
18192 <td class="mlabels-right">
18193<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18194 </tr>
18195</table>
18196</div><div class="memdoc">
18197
18198<p>16 bit fixed point scalar saturating add </p>
18199<dl class="params"><dt>Parameters</dt><dd>
18200 <table class="params">
18201 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
18202 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
18203 </table>
18204 </dd>
18205</dl>
18206<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
18207
Anthony Barbier06ea0482018-02-22 15:45:35 +000018208<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">91</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018209
Jenkinsb3a371b2018-05-23 11:36:53 +010018210<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018211
Anthony Barbier06ea0482018-02-22 15:45:35 +000018212<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00055">sshr_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018213<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</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="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018214<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018215<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018216<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018217<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018218</div><!-- fragment -->
18219</div>
18220</div>
18221<a class="anchor" id="af1a4a8b0eeee4d2d1c14774e2417f3de"></a>
18222<div class="memitem">
18223<div class="memproto">
18224<table class="mlabels">
18225 <tr>
18226 <td class="mlabels-left">
18227 <table class="memname">
18228 <tr>
18229 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqadd_qs32 </td>
18230 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018231 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018232 <td class="paramname"><em>a</em>, </td>
18233 </tr>
18234 <tr>
18235 <td class="paramkey"></td>
18236 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018237 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018238 <td class="paramname"><em>b</em>&#160;</td>
18239 </tr>
18240 <tr>
18241 <td></td>
18242 <td>)</td>
18243 <td></td><td></td>
18244 </tr>
18245 </table>
18246 </td>
18247 <td class="mlabels-right">
18248<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18249 </tr>
18250</table>
18251</div><div class="memdoc">
18252
18253<p>32 bit fixed point scalar saturating add </p>
18254<dl class="params"><dt>Parameters</dt><dd>
18255 <table class="params">
18256 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input </td></tr>
18257 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 32 bit fixed point input</td></tr>
18258 </table>
18259 </dd>
18260</dl>
18261<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
18262
Anthony Barbier06ea0482018-02-22 15:45:35 +000018263<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00100">100</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018264
Jenkinsb3a371b2018-05-23 11:36:53 +010018265<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018266<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="comment">// We need to store the temporary result in qint64_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast&lt;qint64_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><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="comment">// Saturate the result in case of overflow and cast to qint32_t</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&gt;(tmp);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_adc3be0bc3741b081217b2609abcf0333"><div class="ttname"><a href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">arm_compute::qint64_t</a></div><div class="ttdeci">int64_t qint64_t</div><div class="ttdoc">64 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">FixedPoint.h:32</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018267<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018268<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018269<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018270<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018271</div><!-- fragment -->
18272</div>
18273</div>
18274<a class="anchor" id="a532d90e007d0cb6f3d43107229c40c32"></a>
18275<div class="memitem">
18276<div class="memproto">
18277<table class="mlabels">
18278 <tr>
18279 <td class="mlabels-left">
18280 <table class="memname">
18281 <tr>
18282 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqadd_qs8 </td>
18283 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018284 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018285 <td class="paramname"><em>a</em>, </td>
18286 </tr>
18287 <tr>
18288 <td class="paramkey"></td>
18289 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018290 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018291 <td class="paramname"><em>b</em>&#160;</td>
18292 </tr>
18293 <tr>
18294 <td></td>
18295 <td>)</td>
18296 <td></td><td></td>
18297 </tr>
18298 </table>
18299 </td>
18300 <td class="mlabels-right">
18301<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18302 </tr>
18303</table>
18304</div><div class="memdoc">
18305
18306<p>8 bit fixed point scalar saturating add </p>
18307<dl class="params"><dt>Parameters</dt><dd>
18308 <table class="params">
18309 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
18310 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
18311 </table>
18312 </dd>
18313</dl>
18314<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
18315
Anthony Barbier06ea0482018-02-22 15:45:35 +000018316<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">82</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018317
Jenkinsb3a371b2018-05-23 11:36:53 +010018318<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018319
Anthony Barbier06ea0482018-02-22 15:45:35 +000018320<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">sshr_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018321<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="comment">// We need to store the temporary result in qint16_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</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; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018322<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018323<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018324<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018325<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018326</div><!-- fragment -->
18327</div>
18328</div>
Kaizen8938bd32017-09-28 14:38:23 +010018329<a class="anchor" id="a790df824287a4f498e648dbbb481906b"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018330<div class="memitem">
18331<div class="memproto">
18332<table class="mlabels">
18333 <tr>
18334 <td class="mlabels-left">
18335 <table class="memname">
18336 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010018337 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqcvt_qs16_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018338 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018339 <td class="paramtype">float&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018340 <td class="paramname"><em>a</em>, </td>
18341 </tr>
18342 <tr>
18343 <td class="paramkey"></td>
18344 <td></td>
18345 <td class="paramtype">int&#160;</td>
18346 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18347 </tr>
18348 <tr>
18349 <td></td>
18350 <td>)</td>
18351 <td></td><td></td>
18352 </tr>
18353 </table>
18354 </td>
18355 <td class="mlabels-right">
18356<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18357 </tr>
18358</table>
18359</div><div class="memdoc">
18360
Kaizen8938bd32017-09-28 14:38:23 +010018361<p>Convert a float to 16 bit fixed point. </p>
18362<dl class="params"><dt>Parameters</dt><dd>
18363 <table class="params">
18364 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
18365 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18366 </table>
18367 </dd>
18368</dl>
18369<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018370
Anthony Barbier06ea0482018-02-22 15:45:35 +000018371<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
18372
Jenkinsb3a371b2018-05-23 11:36:53 +010018373<p>References <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018374<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> * (1 &lt;&lt; fixed_point_position) + ((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;= 0) ? 0.5 : -0.5));</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018375<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018376<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018377</div><!-- fragment -->
18378</div>
18379</div>
18380<a class="anchor" id="a4f425447c1efb8d2b48cb50b110f4739"></a>
18381<div class="memitem">
18382<div class="memproto">
18383<table class="mlabels">
18384 <tr>
18385 <td class="mlabels-left">
18386 <table class="memname">
18387 <tr>
18388 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqcvt_qs8_f32 </td>
18389 <td>(</td>
18390 <td class="paramtype">float&#160;</td>
18391 <td class="paramname"><em>a</em>, </td>
18392 </tr>
18393 <tr>
18394 <td class="paramkey"></td>
18395 <td></td>
18396 <td class="paramtype">int&#160;</td>
18397 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18398 </tr>
18399 <tr>
18400 <td></td>
18401 <td>)</td>
18402 <td></td><td></td>
18403 </tr>
18404 </table>
18405 </td>
18406 <td class="mlabels-right">
18407<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18408 </tr>
18409</table>
18410</div><div class="memdoc">
18411
18412<p>Convert a float to 8 bit fixed point. </p>
18413<dl class="params"><dt>Parameters</dt><dd>
18414 <table class="params">
18415 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
18416 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18417 </table>
18418 </dd>
18419</dl>
18420<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point </dd></dl>
18421
Anthony Barbier06ea0482018-02-22 15:45:35 +000018422<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00378">378</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
18423
Jenkinsb3a371b2018-05-23 11:36:53 +010018424<p>References <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018425<div class="fragment"><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;{</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> * (1 &lt;&lt; fixed_point_position) + ((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;= 0) ? 0.5 : -0.5));</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018426<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018427<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018428</div><!-- fragment -->
18429</div>
18430</div>
18431<a class="anchor" id="aba5b39758733711eaf3015d17839feb5"></a>
18432<div class="memitem">
18433<div class="memproto">
18434<table class="mlabels">
18435 <tr>
18436 <td class="mlabels-left">
18437 <table class="memname">
18438 <tr>
18439 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqexp_qs16 </td>
18440 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018441 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018442 <td class="paramname"><em>a</em>, </td>
18443 </tr>
18444 <tr>
18445 <td class="paramkey"></td>
18446 <td></td>
18447 <td class="paramtype">int&#160;</td>
18448 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18449 </tr>
18450 <tr>
18451 <td></td>
18452 <td>)</td>
18453 <td></td><td></td>
18454 </tr>
18455 </table>
18456 </td>
18457 <td class="mlabels-right">
18458<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18459 </tr>
18460</table>
18461</div><div class="memdoc">
18462
18463<p>16 bit fixed point scalar exponential </p>
18464<dl class="params"><dt>Parameters</dt><dd>
18465 <table class="params">
18466 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
18467 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18468 </table>
18469 </dd>
18470</dl>
18471<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
18472
Anthony Barbier06ea0482018-02-22 15:45:35 +000018473<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">284</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018474
Jenkinsc3f34a42018-03-02 12:38:09 +000018475<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00067">sabs_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00173">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00040">sqshl_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00128">sqsub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018476<div class="fragment"><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="comment">// Constants</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = ((0x58B9 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> inv_ln2 = (((0x38AA &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1) | const_one;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7FBA &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3FE9 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = ((0x1693 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = ((0x0592 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(dec_a, fixed_point_position), fixed_point_position)));</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, D, fixed_point_position), C);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), B);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), A);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(sum, const_one);</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; <span class="keywordflow">return</span> (dec_a &lt; 0) ? (sum &gt;&gt; -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(sum, dec_a);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</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>
18477<div class="ttc" id="namespacearm__compute_xhtml_a5d49ea329c81268d6e12031f6f13f1eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">arm_compute::sabs_qs16</a></div><div class="ttdeci">qint16_t sabs_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00067">FixedPoint.inl:67</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018478<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018479<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018480<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018481<div class="ttc" id="namespacearm__compute_xhtml_a383b9d12f86c35ceed6dd5922439aa4c"><div class="ttname"><a href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">arm_compute::sqshl_qs16</a></div><div class="ttdeci">qint16_t sqshl_qs16(qint16_t a, int shift)</div><div class="ttdoc">16 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00040">FixedPoint.inl:40</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018482<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018483<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00091">FixedPoint.inl:91</a></div></div>
18484<div class="ttc" id="namespacearm__compute_xhtml_a217e5c603560d6f73971983c6d1572a1"><div class="ttname"><a href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">arm_compute::sqsub_qs16</a></div><div class="ttdeci">qint16_t sqsub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00128">FixedPoint.inl:128</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018485<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018486<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00173">FixedPoint.inl:173</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018487</div><!-- fragment -->
18488</div>
18489</div>
18490<a class="anchor" id="a20724c7cb556b1ff4fd9d01c7020d762"></a>
18491<div class="memitem">
18492<div class="memproto">
18493<table class="mlabels">
18494 <tr>
18495 <td class="mlabels-left">
18496 <table class="memname">
18497 <tr>
18498 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqexp_qs8 </td>
18499 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018500 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018501 <td class="paramname"><em>a</em>, </td>
18502 </tr>
18503 <tr>
18504 <td class="paramkey"></td>
18505 <td></td>
18506 <td class="paramtype">int&#160;</td>
18507 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18508 </tr>
18509 <tr>
18510 <td></td>
18511 <td>)</td>
18512 <td></td><td></td>
18513 </tr>
18514 </table>
18515 </td>
18516 <td class="mlabels-right">
18517<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18518 </tr>
18519</table>
18520</div><div class="memdoc">
18521
18522<p>8 bit fixed point scalar exponential </p>
18523<dl class="params"><dt>Parameters</dt><dd>
18524 <table class="params">
18525 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
18526 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18527 </table>
18528 </dd>
18529</dl>
18530<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point exponential. </dd></dl>
18531
Anthony Barbier06ea0482018-02-22 15:45:35 +000018532<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">261</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018533
Jenkinsc3f34a42018-03-02 12:38:09 +000018534<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00062">sabs_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00161">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00032">sqshl_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00119">sqsub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018535<div class="fragment"><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; <span class="comment">// Constants</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = ((0x58 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> inv_ln2 = (((0x38 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1) | const_one;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7F &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3F &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = ((0x16 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = ((0x05 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(dec_a, fixed_point_position), fixed_point_position)));</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, D, fixed_point_position), C);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), B);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), A);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(sum, const_one);</div><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> (dec_a &lt; 0) ? (sum &gt;&gt; -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(sum, dec_a);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</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>
Jenkinsc3f34a42018-03-02 12:38:09 +000018536<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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018537<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>
18538<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018539<div class="ttc" id="namespacearm__compute_xhtml_a203882febb616f5468d1b63b60ffb331"><div class="ttname"><a href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">arm_compute::sqshl_qs8</a></div><div class="ttdeci">qint8_t sqshl_qs8(qint8_t a, int shift)</div><div class="ttdoc">8 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00032">FixedPoint.inl:32</a></div></div>
18540<div class="ttc" id="namespacearm__compute_xhtml_ae74bbb6e25cc1b774428722b2faad00c"><div class="ttname"><a href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">arm_compute::sqsub_qs8</a></div><div class="ttdeci">qint8_t sqsub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00119">FixedPoint.inl:119</a></div></div>
18541<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00161">FixedPoint.inl:161</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018542<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018543<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#l00115">GEMM.cpp:115</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018544<div class="ttc" id="namespacearm__compute_xhtml_a43315c66c4d00207f70143233b189085"><div class="ttname"><a href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">arm_compute::sabs_qs8</a></div><div class="ttdeci">qint8_t sabs_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00062">FixedPoint.inl:62</a></div></div>
18545<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00082">FixedPoint.inl:82</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018546</div><!-- fragment -->
18547</div>
18548</div>
18549<a class="anchor" id="ad555b251940cba2ca1c6eb168f0bbea4"></a>
18550<div class="memitem">
18551<div class="memproto">
18552<table class="mlabels">
18553 <tr>
18554 <td class="mlabels-left">
18555 <table class="memname">
18556 <tr>
18557 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmovn_qs16 </td>
18558 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018559 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018560 <td class="paramname"><em>a</em></td><td>)</td>
18561 <td></td>
18562 </tr>
18563 </table>
18564 </td>
18565 <td class="mlabels-right">
18566<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18567 </tr>
18568</table>
18569</div><div class="memdoc">
18570
18571<p>Scalar saturating move and narrow. </p>
18572<dl class="params"><dt>Parameters</dt><dd>
18573 <table class="params">
18574 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 8 bit fixed point</td></tr>
18575 </table>
18576 </dd>
18577</dl>
18578<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 8 bit </dd></dl>
18579
Anthony Barbier06ea0482018-02-22 15:45:35 +000018580<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00395">395</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018581
Jenkinsb3a371b2018-05-23 11:36:53 +010018582<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018583<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;{</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018584<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018585<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018586</div><!-- fragment -->
18587</div>
18588</div>
18589<a class="anchor" id="a4a4859f4f212d3824e70a36aed901b5b"></a>
18590<div class="memitem">
18591<div class="memproto">
18592<table class="mlabels">
18593 <tr>
18594 <td class="mlabels-left">
18595 <table class="memname">
18596 <tr>
18597 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmovn_qs32 </td>
18598 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018599 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018600 <td class="paramname"><em>a</em></td><td>)</td>
18601 <td></td>
18602 </tr>
18603 </table>
18604 </td>
18605 <td class="mlabels-right">
18606<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18607 </tr>
18608</table>
18609</div><div class="memdoc">
18610
18611<p>Scalar saturating move and narrow. </p>
18612<dl class="params"><dt>Parameters</dt><dd>
18613 <table class="params">
18614 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 16 bit fixed point</td></tr>
18615 </table>
18616 </dd>
18617</dl>
18618<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 16 bit </dd></dl>
18619
Anthony Barbier06ea0482018-02-22 15:45:35 +000018620<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00401">401</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018621
Jenkinsb3a371b2018-05-23 11:36:53 +010018622<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018623<div class="fragment"><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;{</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</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_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018624<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018625<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018626</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018627</div>
18628</div>
18629<a class="anchor" id="a55c8a365b4242664f8c0f19e91bcee92"></a>
18630<div class="memitem">
18631<div class="memproto">
18632<table class="mlabels">
18633 <tr>
18634 <td class="mlabels-left">
18635 <table class="memname">
18636 <tr>
18637 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmul_qs16 </td>
18638 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018639 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018640 <td class="paramname"><em>a</em>, </td>
18641 </tr>
18642 <tr>
18643 <td class="paramkey"></td>
18644 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018645 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018646 <td class="paramname"><em>b</em>, </td>
18647 </tr>
18648 <tr>
18649 <td class="paramkey"></td>
18650 <td></td>
18651 <td class="paramtype">int&#160;</td>
18652 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18653 </tr>
18654 <tr>
18655 <td></td>
18656 <td>)</td>
18657 <td></td><td></td>
18658 </tr>
18659 </table>
18660 </td>
18661 <td class="mlabels-right">
18662<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18663 </tr>
18664</table>
18665</div><div class="memdoc">
18666
18667<p>16 bit fixed point scalar saturating multiply </p>
18668<dl class="params"><dt>Parameters</dt><dd>
18669 <table class="params">
18670 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
18671 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
18672 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18673 </table>
18674 </dd>
18675</dl>
18676<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. The result is saturated in case of overflow </dd></dl>
18677
Anthony Barbier06ea0482018-02-22 15:45:35 +000018678<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018679
Jenkinsb3a371b2018-05-23 11:36:53 +010018680<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018681
Anthony Barbier06ea0482018-02-22 15:45:35 +000018682<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018683<div class="fragment"><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="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</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="comment">// Rounding up</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; tmp += round_up_const;</div><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">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018684<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018685<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018686<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018687<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018688</div><!-- fragment -->
18689</div>
18690</div>
18691<a class="anchor" id="af0b73b0c4980a551d7cd4edec43ffd92"></a>
18692<div class="memitem">
18693<div class="memproto">
18694<table class="mlabels">
18695 <tr>
18696 <td class="mlabels-left">
18697 <table class="memname">
18698 <tr>
18699 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmul_qs8 </td>
18700 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018701 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018702 <td class="paramname"><em>a</em>, </td>
18703 </tr>
18704 <tr>
18705 <td class="paramkey"></td>
18706 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018707 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018708 <td class="paramname"><em>b</em>, </td>
18709 </tr>
18710 <tr>
18711 <td class="paramkey"></td>
18712 <td></td>
18713 <td class="paramtype">int&#160;</td>
18714 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18715 </tr>
18716 <tr>
18717 <td></td>
18718 <td>)</td>
18719 <td></td><td></td>
18720 </tr>
18721 </table>
18722 </td>
18723 <td class="mlabels-right">
18724<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18725 </tr>
18726</table>
18727</div><div class="memdoc">
18728
18729<p>8 bit fixed point scalar saturating multiply </p>
18730<dl class="params"><dt>Parameters</dt><dd>
18731 <table class="params">
18732 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
18733 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
18734 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18735 </table>
18736 </dd>
18737</dl>
18738<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. The result is saturated in case of overflow </dd></dl>
18739
Anthony Barbier06ea0482018-02-22 15:45:35 +000018740<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00161">161</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018741
Jenkinsb3a371b2018-05-23 11:36:53 +010018742<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018743
Anthony Barbier06ea0482018-02-22 15:45:35 +000018744<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018745<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; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</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="comment">// Rounding up</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; tmp += round_up_const;</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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018746<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018747<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018748<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018749<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018750</div><!-- fragment -->
18751</div>
18752</div>
18753<a class="anchor" id="a7f9fcf8e60c300e602327f8ff67800cb"></a>
18754<div class="memitem">
18755<div class="memproto">
18756<table class="mlabels">
18757 <tr>
18758 <td class="mlabels-left">
18759 <table class="memname">
18760 <tr>
18761 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqmull_qs16 </td>
18762 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018763 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018764 <td class="paramname"><em>a</em>, </td>
18765 </tr>
18766 <tr>
18767 <td class="paramkey"></td>
18768 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018769 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018770 <td class="paramname"><em>b</em>, </td>
18771 </tr>
18772 <tr>
18773 <td class="paramkey"></td>
18774 <td></td>
18775 <td class="paramtype">int&#160;</td>
18776 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18777 </tr>
18778 <tr>
18779 <td></td>
18780 <td>)</td>
18781 <td></td><td></td>
18782 </tr>
18783 </table>
18784 </td>
18785 <td class="mlabels-right">
18786<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18787 </tr>
18788</table>
18789</div><div class="memdoc">
18790
18791<p>16 bit fixed point scalar multiply long </p>
18792<dl class="params"><dt>Parameters</dt><dd>
18793 <table class="params">
18794 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
18795 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
18796 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18797 </table>
18798 </dd>
18799</dl>
18800<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
18801
Anthony Barbier06ea0482018-02-22 15:45:35 +000018802<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00197">197</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018803
Jenkinsc3f34a42018-03-02 12:38:09 +000018804<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
18805<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</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; <span class="comment">// Rounding up</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; tmp += round_up_const;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018806<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018807<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018808</div><!-- fragment -->
18809</div>
18810</div>
18811<a class="anchor" id="a0721e062e6d7a90f07fd08aeda5e7eda"></a>
18812<div class="memitem">
18813<div class="memproto">
18814<table class="mlabels">
18815 <tr>
18816 <td class="mlabels-left">
18817 <table class="memname">
18818 <tr>
18819 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmull_qs8 </td>
18820 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018821 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018822 <td class="paramname"><em>a</em>, </td>
18823 </tr>
18824 <tr>
18825 <td class="paramkey"></td>
18826 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018827 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018828 <td class="paramname"><em>b</em>, </td>
18829 </tr>
18830 <tr>
18831 <td class="paramkey"></td>
18832 <td></td>
18833 <td class="paramtype">int&#160;</td>
18834 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18835 </tr>
18836 <tr>
18837 <td></td>
18838 <td>)</td>
18839 <td></td><td></td>
18840 </tr>
18841 </table>
18842 </td>
18843 <td class="mlabels-right">
18844<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18845 </tr>
18846</table>
18847</div><div class="memdoc">
18848
18849<p>8 bit fixed point scalar multiply long </p>
18850<dl class="params"><dt>Parameters</dt><dd>
18851 <table class="params">
18852 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
18853 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
18854 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18855 </table>
18856 </dd>
18857</dl>
18858<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
18859
Anthony Barbier06ea0482018-02-22 15:45:35 +000018860<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00185">185</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018861
Jenkinsc3f34a42018-03-02 12:38:09 +000018862<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
18863<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#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</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="comment">// Rounding up</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; tmp += round_up_const;</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="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018864<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000018865<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018866</div><!-- fragment -->
18867</div>
18868</div>
18869<a class="anchor" id="a383b9d12f86c35ceed6dd5922439aa4c"></a>
18870<div class="memitem">
18871<div class="memproto">
18872<table class="mlabels">
18873 <tr>
18874 <td class="mlabels-left">
18875 <table class="memname">
18876 <tr>
18877 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqshl_qs16 </td>
18878 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018879 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018880 <td class="paramname"><em>a</em>, </td>
18881 </tr>
18882 <tr>
18883 <td class="paramkey"></td>
18884 <td></td>
18885 <td class="paramtype">int&#160;</td>
18886 <td class="paramname"><em>shift</em>&#160;</td>
18887 </tr>
18888 <tr>
18889 <td></td>
18890 <td>)</td>
18891 <td></td><td></td>
18892 </tr>
18893 </table>
18894 </td>
18895 <td class="mlabels-right">
18896<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18897 </tr>
18898</table>
18899</div><div class="memdoc">
18900
18901<p>16 bit fixed point scalar saturating shift left </p>
18902<dl class="params"><dt>Parameters</dt><dd>
18903 <table class="params">
18904 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
18905 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
18906 </table>
18907 </dd>
18908</dl>
18909<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift. The result is saturated in case of overflow </dd></dl>
18910
Anthony Barbier06ea0482018-02-22 15:45:35 +000018911<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00040">40</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018912
Jenkinsb3a371b2018-05-23 11:36:53 +010018913<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018914
Anthony Barbier06ea0482018-02-22 15:45:35 +000018915<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018916<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#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) &lt;&lt; shift;</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; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018917<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018918<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018919<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018920</div><!-- fragment -->
18921</div>
18922</div>
18923<a class="anchor" id="a203882febb616f5468d1b63b60ffb331"></a>
18924<div class="memitem">
18925<div class="memproto">
18926<table class="mlabels">
18927 <tr>
18928 <td class="mlabels-left">
18929 <table class="memname">
18930 <tr>
18931 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqshl_qs8 </td>
18932 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018933 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018934 <td class="paramname"><em>a</em>, </td>
18935 </tr>
18936 <tr>
18937 <td class="paramkey"></td>
18938 <td></td>
18939 <td class="paramtype">int&#160;</td>
18940 <td class="paramname"><em>shift</em>&#160;</td>
18941 </tr>
18942 <tr>
18943 <td></td>
18944 <td>)</td>
18945 <td></td><td></td>
18946 </tr>
18947 </table>
18948 </td>
18949 <td class="mlabels-right">
18950<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18951 </tr>
18952</table>
18953</div><div class="memdoc">
18954
18955<p>8 bit fixed point scalar saturating shift left </p>
18956<dl class="params"><dt>Parameters</dt><dd>
18957 <table class="params">
18958 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010018959 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018960 </table>
18961 </dd>
18962</dl>
18963<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift. The result is saturated in case of overflow </dd></dl>
18964
Anthony Barbier06ea0482018-02-22 15:45:35 +000018965<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018966
Jenkinsb3a371b2018-05-23 11:36:53 +010018967<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018968
Anthony Barbier06ea0482018-02-22 15:45:35 +000018969<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000018970<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) &lt;&lt; shift;</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">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018971<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018972<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018973<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018974</div><!-- fragment -->
18975</div>
18976</div>
18977<a class="anchor" id="a217e5c603560d6f73971983c6d1572a1"></a>
18978<div class="memitem">
18979<div class="memproto">
18980<table class="mlabels">
18981 <tr>
18982 <td class="mlabels-left">
18983 <table class="memname">
18984 <tr>
18985 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqsub_qs16 </td>
18986 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018987 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018988 <td class="paramname"><em>a</em>, </td>
18989 </tr>
18990 <tr>
18991 <td class="paramkey"></td>
18992 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018993 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018994 <td class="paramname"><em>b</em>&#160;</td>
18995 </tr>
18996 <tr>
18997 <td></td>
18998 <td>)</td>
18999 <td></td><td></td>
19000 </tr>
19001 </table>
19002 </td>
19003 <td class="mlabels-right">
19004<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19005 </tr>
19006</table>
19007</div><div class="memdoc">
19008
19009<p>16 bit fixed point scalar saturating subtraction </p>
19010<dl class="params"><dt>Parameters</dt><dd>
19011 <table class="params">
19012 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
19013 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
19014 </table>
19015 </dd>
19016</dl>
19017<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction. The result is saturated in case of overflow </dd></dl>
19018
Anthony Barbier06ea0482018-02-22 15:45:35 +000019019<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00128">128</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010019020
Jenkinsb3a371b2018-05-23 11:36:53 +010019021<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019022
Anthony Barbier06ea0482018-02-22 15:45:35 +000019023<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000019024<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</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="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019025<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019026<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000019027<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000019028<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019029</div><!-- fragment -->
19030</div>
19031</div>
19032<a class="anchor" id="ae74bbb6e25cc1b774428722b2faad00c"></a>
19033<div class="memitem">
19034<div class="memproto">
19035<table class="mlabels">
19036 <tr>
19037 <td class="mlabels-left">
19038 <table class="memname">
19039 <tr>
19040 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqsub_qs8 </td>
19041 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019042 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019043 <td class="paramname"><em>a</em>, </td>
19044 </tr>
19045 <tr>
19046 <td class="paramkey"></td>
19047 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019048 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019049 <td class="paramname"><em>b</em>&#160;</td>
19050 </tr>
19051 <tr>
19052 <td></td>
19053 <td>)</td>
19054 <td></td><td></td>
19055 </tr>
19056 </table>
19057 </td>
19058 <td class="mlabels-right">
19059<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19060 </tr>
19061</table>
19062</div><div class="memdoc">
19063
19064<p>8 bit fixed point scalar saturating subtraction </p>
19065<dl class="params"><dt>Parameters</dt><dd>
19066 <table class="params">
19067 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
19068 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
19069 </table>
19070 </dd>
19071</dl>
19072<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction. The result is saturated in case of overflow </dd></dl>
19073
Anthony Barbier06ea0482018-02-22 15:45:35 +000019074<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00119">119</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019075
Jenkinsb3a371b2018-05-23 11:36:53 +010019076<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019077
Anthony Barbier06ea0482018-02-22 15:45:35 +000019078<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000019079<div class="fragment"><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="comment">// We need to store the temporary result in uint16_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019080<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019081<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000019082<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Jenkinsc3f34a42018-03-02 12:38:09 +000019083<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019084</div><!-- fragment -->
19085</div>
19086</div>
19087<a class="anchor" id="a1dfcf4fd912cbd9853c0f7ddfcf3a163"></a>
19088<div class="memitem">
19089<div class="memproto">
19090<table class="mlabels">
19091 <tr>
19092 <td class="mlabels-left">
19093 <table class="memname">
19094 <tr>
19095 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sshr_qs16 </td>
19096 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019097 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019098 <td class="paramname"><em>a</em>, </td>
19099 </tr>
19100 <tr>
19101 <td class="paramkey"></td>
19102 <td></td>
19103 <td class="paramtype">int&#160;</td>
19104 <td class="paramname"><em>shift</em>&#160;</td>
19105 </tr>
19106 <tr>
19107 <td></td>
19108 <td>)</td>
19109 <td></td><td></td>
19110 </tr>
19111 </table>
19112 </td>
19113 <td class="mlabels-right">
19114<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19115 </tr>
19116</table>
19117</div><div class="memdoc">
19118
19119<p>16 bit fixed point scalar shift right </p>
19120<dl class="params"><dt>Parameters</dt><dd>
19121 <table class="params">
19122 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
19123 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
19124 </table>
19125 </dd>
19126</dl>
19127<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift </dd></dl>
19128
Anthony Barbier06ea0482018-02-22 15:45:35 +000019129<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00055">55</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010019130
Jenkinsb3a371b2018-05-23 11:36:53 +010019131<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">sqadd_qs16()</a>.</p>
19132<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">&quot;Shift should not be zero&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_val = 1 &lt;&lt; (shift - 1);</div><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#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, round_val) &gt;&gt; shift;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019133<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000019134<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00091">FixedPoint.inl:91</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019135<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#l00319">Error.h:319</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019136</div><!-- fragment -->
19137</div>
19138</div>
19139<a class="anchor" id="a3e4f9ff20167e78399975ec02c009c95"></a>
19140<div class="memitem">
19141<div class="memproto">
19142<table class="mlabels">
19143 <tr>
19144 <td class="mlabels-left">
19145 <table class="memname">
19146 <tr>
19147 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sshr_qs8 </td>
19148 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019149 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019150 <td class="paramname"><em>a</em>, </td>
19151 </tr>
19152 <tr>
19153 <td class="paramkey"></td>
19154 <td></td>
19155 <td class="paramtype">int&#160;</td>
19156 <td class="paramname"><em>shift</em>&#160;</td>
19157 </tr>
19158 <tr>
19159 <td></td>
19160 <td>)</td>
19161 <td></td><td></td>
19162 </tr>
19163 </table>
19164 </td>
19165 <td class="mlabels-right">
19166<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19167 </tr>
19168</table>
19169</div><div class="memdoc">
19170
19171<p>8 bit fixed point scalar shift right </p>
19172<dl class="params"><dt>Parameters</dt><dd>
19173 <table class="params">
19174 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
19175 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
19176 </table>
19177 </dd>
19178</dl>
19179<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift </dd></dl>
19180
Anthony Barbier06ea0482018-02-22 15:45:35 +000019181<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">48</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010019182
Jenkinsb3a371b2018-05-23 11:36:53 +010019183<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">sqadd_qs8()</a>.</p>
19184<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; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">&quot;Shift should not be zero&quot;</span>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> round_val = 1 &lt;&lt; (shift - 1);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, round_val) &gt;&gt; shift;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019185<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000019186<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00082">FixedPoint.inl:82</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019187<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#l00319">Error.h:319</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019188</div><!-- fragment -->
19189</div>
19190</div>
19191<a class="anchor" id="a70476eda2d46c943d572362fe2fc9d14"></a>
19192<div class="memitem">
19193<div class="memproto">
19194<table class="mlabels">
19195 <tr>
19196 <td class="mlabels-left">
19197 <table class="memname">
19198 <tr>
19199 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ssub_qs16 </td>
19200 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019201 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019202 <td class="paramname"><em>a</em>, </td>
19203 </tr>
19204 <tr>
19205 <td class="paramkey"></td>
19206 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019207 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019208 <td class="paramname"><em>b</em>&#160;</td>
19209 </tr>
19210 <tr>
19211 <td></td>
19212 <td>)</td>
19213 <td></td><td></td>
19214 </tr>
19215 </table>
19216 </td>
19217 <td class="mlabels-right">
19218<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19219 </tr>
19220</table>
19221</div><div class="memdoc">
19222
19223<p>16 bit fixed point scalar subtraction </p>
19224<dl class="params"><dt>Parameters</dt><dd>
19225 <table class="params">
19226 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
19227 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
19228 </table>
19229 </dd>
19230</dl>
19231<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction </dd></dl>
19232
Anthony Barbier06ea0482018-02-22 15:45:35 +000019233<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00114">114</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010019234
Jenkinsc3f34a42018-03-02 12:38:09 +000019235<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019236
Anthony Barbier06ea0482018-02-22 15:45:35 +000019237<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00229">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000019238<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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
19239<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#l00122">GEMM.cpp:122</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019240</div><!-- fragment -->
19241</div>
19242</div>
19243<a class="anchor" id="ab97841950d268532e51f28a208ddafd4"></a>
19244<div class="memitem">
19245<div class="memproto">
19246<table class="mlabels">
19247 <tr>
19248 <td class="mlabels-left">
19249 <table class="memname">
19250 <tr>
19251 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ssub_qs8 </td>
19252 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019253 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019254 <td class="paramname"><em>a</em>, </td>
19255 </tr>
19256 <tr>
19257 <td class="paramkey"></td>
19258 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019259 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019260 <td class="paramname"><em>b</em>&#160;</td>
19261 </tr>
19262 <tr>
19263 <td></td>
19264 <td>)</td>
19265 <td></td><td></td>
19266 </tr>
19267 </table>
19268 </td>
19269 <td class="mlabels-right">
19270<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19271 </tr>
19272</table>
19273</div><div class="memdoc">
19274
19275<p>8 bit fixed point scalar subtraction </p>
19276<dl class="params"><dt>Parameters</dt><dd>
19277 <table class="params">
19278 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
19279 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
19280 </table>
19281 </dd>
19282</dl>
19283<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction </dd></dl>
19284
Anthony Barbier06ea0482018-02-22 15:45:35 +000019285<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00109">109</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019286
Jenkinsc3f34a42018-03-02 12:38:09 +000019287<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019288
Anthony Barbier06ea0482018-02-22 15:45:35 +000019289<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00209">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
Jenkinsc3f34a42018-03-02 12:38:09 +000019290<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</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">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
19291<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#l00122">GEMM.cpp:122</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019292</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019293</div>
19294</div>
19295<a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
19296<div class="memitem">
19297<div class="memproto">
19298 <table class="memname">
19299 <tr>
19300 <td class="memname">const std::string&amp; arm_compute::string_from_activation_func </td>
19301 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019302 <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 +000019303 <td class="paramname"><em>act</em></td><td>)</td>
19304 <td></td>
19305 </tr>
19306 </table>
19307</div><div class="memdoc">
19308
19309<p>Translates a given activation function to a string. </p>
19310<dl class="params"><dt>Parameters</dt><dd>
19311 <table class="params">
19312 <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>
19313 </table>
19314 </dd>
19315</dl>
19316<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
19317
Jenkinsb3a371b2018-05-23 11:36:53 +010019318<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019319
Anthony Barbier871448e2017-03-24 14:54:29 +000019320</div>
19321</div>
19322<a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
19323<div class="memitem">
19324<div class="memproto">
19325 <table class="memname">
19326 <tr>
19327 <td class="memname">const std::string&amp; arm_compute::string_from_border_mode </td>
19328 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019329 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019330 <td class="paramname"><em>border_mode</em></td><td>)</td>
19331 <td></td>
19332 </tr>
19333 </table>
19334</div><div class="memdoc">
19335
19336<p>Translates a given border mode policy to a string. </p>
19337<dl class="params"><dt>Parameters</dt><dd>
19338 <table class="params">
19339 <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>
19340 </table>
19341 </dd>
19342</dl>
19343<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
19344
Jenkinsb3a371b2018-05-23 11:36:53 +010019345<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019346
Anthony Barbier871448e2017-03-24 14:54:29 +000019347</div>
19348</div>
19349<a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
19350<div class="memitem">
19351<div class="memproto">
19352 <table class="memname">
19353 <tr>
19354 <td class="memname">const std::string&amp; arm_compute::string_from_channel </td>
19355 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019356 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019357 <td class="paramname"><em>channel</em></td><td>)</td>
19358 <td></td>
19359 </tr>
19360 </table>
19361</div><div class="memdoc">
19362
19363<p>Convert a channel identity into a string. </p>
19364<dl class="params"><dt>Parameters</dt><dd>
19365 <table class="params">
19366 <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>
19367 </table>
19368 </dd>
19369</dl>
19370<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
19371
Jenkinsb3a371b2018-05-23 11:36:53 +010019372<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
19373
19374</div>
19375</div>
19376<a class="anchor" id="aa7755f939796ad7076886813ff89ed77"></a>
19377<div class="memitem">
19378<div class="memproto">
19379 <table class="memname">
19380 <tr>
19381 <td class="memname">const std::string&amp; arm_compute::string_from_data_layout </td>
19382 <td>(</td>
19383 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
19384 <td class="paramname"><em>dl</em></td><td>)</td>
19385 <td></td>
19386 </tr>
19387 </table>
19388</div><div class="memdoc">
19389
19390<p>Convert a data layout identity into a string. </p>
19391<dl class="params"><dt>Parameters</dt><dd>
19392 <table class="params">
19393 <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>
19394 </table>
19395 </dd>
19396</dl>
19397<dl class="section return"><dt>Returns</dt><dd>The string describing the data layout. </dd></dl>
19398
19399<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019400
Anthony Barbier871448e2017-03-24 14:54:29 +000019401</div>
19402</div>
19403<a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
19404<div class="memitem">
19405<div class="memproto">
19406 <table class="memname">
19407 <tr>
19408 <td class="memname">const std::string&amp; arm_compute::string_from_data_type </td>
19409 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019410 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019411 <td class="paramname"><em>dt</em></td><td>)</td>
19412 <td></td>
19413 </tr>
19414 </table>
19415</div><div class="memdoc">
19416
19417<p>Convert a data type identity into a string. </p>
19418<dl class="params"><dt>Parameters</dt><dd>
19419 <table class="params">
19420 <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>
19421 </table>
19422 </dd>
19423</dl>
19424<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
19425
Jenkinsb3a371b2018-05-23 11:36:53 +010019426<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>, <a class="el" href="_validate_8h_source.xhtml#l00721">error_on_data_type_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l01000">error_on_value_not_representable_in_fixed_point()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019427
19428</div>
19429</div>
19430<a class="anchor" id="a9c92c867fc64454545668d87b20979eb"></a>
19431<div class="memitem">
19432<div class="memproto">
19433 <table class="memname">
19434 <tr>
19435 <td class="memname">const std::string&amp; arm_compute::string_from_format </td>
19436 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019437 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019438 <td class="paramname"><em>format</em></td><td>)</td>
19439 <td></td>
19440 </tr>
19441 </table>
19442</div><div class="memdoc">
19443
19444<p>Convert a tensor format into a string. </p>
19445<dl class="params"><dt>Parameters</dt><dd>
19446 <table class="params">
19447 <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>
19448 </table>
19449 </dd>
19450</dl>
19451<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
19452
Jenkinsb3a371b2018-05-23 11:36:53 +010019453<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00688">error_on_format_not_in()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019454
19455</div>
19456</div>
19457<a class="anchor" id="ade34f5e72f050fd3665f3294dfb15850"></a>
19458<div class="memitem">
19459<div class="memproto">
19460 <table class="memname">
19461 <tr>
19462 <td class="memname">const std::string&amp; arm_compute::string_from_interpolation_policy </td>
19463 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019464 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019465 <td class="paramname"><em>policy</em></td><td>)</td>
19466 <td></td>
19467 </tr>
19468 </table>
19469</div><div class="memdoc">
19470
19471<p>Translates a given interpolation policy to 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">policy</td><td><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</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 interpolation policy. </dd></dl>
19479
Jenkinsb3a371b2018-05-23 11:36:53 +010019480<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019481
Anthony Barbier871448e2017-03-24 14:54:29 +000019482</div>
19483</div>
19484<a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
19485<div class="memitem">
19486<div class="memproto">
19487 <table class="memname">
19488 <tr>
19489 <td class="memname">const std::string&amp; arm_compute::string_from_matrix_pattern </td>
19490 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019491 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019492 <td class="paramname"><em>pattern</em></td><td>)</td>
19493 <td></td>
19494 </tr>
19495 </table>
19496</div><div class="memdoc">
19497
19498<p>Convert a matrix pattern into a string. </p>
19499<dl class="params"><dt>Parameters</dt><dd>
19500 <table class="params">
19501 <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>
19502 </table>
19503 </dd>
19504</dl>
19505<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
19506
Jenkinsb3a371b2018-05-23 11:36:53 +010019507<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019508
Anthony Barbier871448e2017-03-24 14:54:29 +000019509</div>
19510</div>
19511<a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
19512<div class="memitem">
19513<div class="memproto">
19514 <table class="memname">
19515 <tr>
19516 <td class="memname">const std::string&amp; arm_compute::string_from_non_linear_filter_function </td>
19517 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019518 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019519 <td class="paramname"><em>function</em></td><td>)</td>
19520 <td></td>
19521 </tr>
19522 </table>
19523</div><div class="memdoc">
19524
19525<p>Translates a given non linear function to a string. </p>
19526<dl class="params"><dt>Parameters</dt><dd>
19527 <table class="params">
19528 <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>
19529 </table>
19530 </dd>
19531</dl>
19532<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
19533
Jenkinsb3a371b2018-05-23 11:36:53 +010019534<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019535
Anthony Barbierdbdab852017-06-23 15:42:00 +010019536</div>
19537</div>
19538<a class="anchor" id="afb5698af5404d5d11e3516c87b6e7041"></a>
19539<div class="memitem">
19540<div class="memproto">
19541 <table class="memname">
19542 <tr>
19543 <td class="memname">const std::string&amp; arm_compute::string_from_norm_type </td>
19544 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019545 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019546 <td class="paramname"><em>type</em></td><td>)</td>
19547 <td></td>
19548 </tr>
19549 </table>
19550</div><div class="memdoc">
19551
19552<p>Translates a given normalization type to a string. </p>
19553<dl class="params"><dt>Parameters</dt><dd>
19554 <table class="params">
19555 <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>
19556 </table>
19557 </dd>
19558</dl>
19559<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
19560
Jenkinsb3a371b2018-05-23 11:36:53 +010019561<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019562
Kaizen8938bd32017-09-28 14:38:23 +010019563</div>
19564</div>
19565<a class="anchor" id="a84a03e85d2c40bf54ec8cdd5e3715c58"></a>
19566<div class="memitem">
19567<div class="memproto">
19568 <table class="memname">
19569 <tr>
19570 <td class="memname">const std::string&amp; arm_compute::string_from_pooling_type </td>
19571 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019572 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019573 <td class="paramname"><em>type</em></td><td>)</td>
19574 <td></td>
19575 </tr>
19576 </table>
19577</div><div class="memdoc">
19578
19579<p>Translates a given pooling type to a string. </p>
19580<dl class="params"><dt>Parameters</dt><dd>
19581 <table class="params">
19582 <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>
19583 </table>
19584 </dd>
19585</dl>
19586<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019587
Jenkinsb3a371b2018-05-23 11:36:53 +010019588<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019589
Anthony Barbierdbdab852017-06-23 15:42:00 +010019590</div>
19591</div>
19592<a class="anchor" id="aa5191117dc677a74552769b87131b1b6"></a>
19593<div class="memitem">
19594<div class="memproto">
19595 <table class="memname">
19596 <tr>
19597 <td class="memname">const std::string&amp; arm_compute::string_from_scheduler_type </td>
19598 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019599 <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 +010019600 <td class="paramname"><em>t</em></td><td>)</td>
19601 <td></td>
19602 </tr>
19603 </table>
19604</div><div class="memdoc">
19605
Jenkinsb3a371b2018-05-23 11:36:53 +010019606<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 +010019607<dl class="params"><dt>Parameters</dt><dd>
19608 <table class="params">
19609 <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>
19610 </table>
19611 </dd>
19612</dl>
19613<dl class="section return"><dt>Returns</dt><dd>The string describing the scheduler type. </dd></dl>
19614
19615</div>
19616</div>
19617<a class="anchor" id="afab814721e78cbfc34e7e7fe2874fa56"></a>
19618<div class="memitem">
19619<div class="memproto">
19620 <table class="memname">
19621 <tr>
19622 <td class="memname">const std::string&amp; arm_compute::string_from_target </td>
19623 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019624 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019625 <td class="paramname"><em>target</em></td><td>)</td>
19626 <td></td>
19627 </tr>
19628 </table>
19629</div><div class="memdoc">
19630
19631<p>Translates a given gpu device target to string. </p>
19632<dl class="params"><dt>Parameters</dt><dd>
19633 <table class="params">
19634 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Given gpu target.</td></tr>
19635 </table>
19636 </dd>
19637</dl>
19638<dl class="section return"><dt>Returns</dt><dd>The string describing the target. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000019639
19640</div>
19641</div>
Kaizen8938bd32017-09-28 14:38:23 +010019642<a class="anchor" id="aabe16be22edb41656e66ed9eae3b69e6"></a>
19643<div class="memitem">
19644<div class="memproto">
19645<table class="mlabels">
19646 <tr>
19647 <td class="mlabels-left">
19648 <table class="memname">
19649 <tr>
19650 <td class="memname">std::string arm_compute::to_string </td>
19651 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019652 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019653 <td class="paramname"><em>function</em></td><td>)</td>
19654 <td></td>
19655 </tr>
19656 </table>
19657 </td>
19658 <td class="mlabels-right">
19659<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19660 </tr>
19661</table>
19662</div><div class="memdoc">
19663
Jenkinsb3a371b2018-05-23 11:36:53 +010019664<p>Formatted output of the NonLinearFilterFunction type. </p>
19665<dl class="params"><dt>Parameters</dt><dd>
19666 <table class="params">
19667 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
19668 </table>
19669 </dd>
19670</dl>
19671<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010019672
Jenkinsb3a371b2018-05-23 11:36:53 +010019673<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00101">101</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 +000019674
Anthony Barbierf45d5a92018-01-24 16:23:15 +000019675<p>Referenced by <a class="el" href="_u_n_i_t_2_fixed_point_8cpp_source.xhtml#l00067">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010019676<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010019677</div>
19678</div>
19679<a class="anchor" id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
19680<div class="memitem">
19681<div class="memproto">
19682<table class="mlabels">
19683 <tr>
19684 <td class="mlabels-left">
19685 <table class="memname">
19686 <tr>
19687 <td class="memname">std::string arm_compute::to_string </td>
19688 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019689 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010019690 <td class="paramname"><em>pattern</em></td><td>)</td>
19691 <td></td>
19692 </tr>
19693 </table>
19694 </td>
19695 <td class="mlabels-right">
19696<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19697 </tr>
19698</table>
19699</div><div class="memdoc">
19700
Jenkinsb3a371b2018-05-23 11:36:53 +010019701<p>Formatted output of the MatrixPattern type. </p>
19702<dl class="params"><dt>Parameters</dt><dd>
19703 <table class="params">
19704 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td>Type to output.</td></tr>
19705 </table>
19706 </dd>
19707</dl>
19708<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019709
Jenkinsb3a371b2018-05-23 11:36:53 +010019710<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00144">144</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19711<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; str &lt;&lt; pattern;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019712</div>
19713</div>
19714<a class="anchor" id="ad9fd48b3c01116b217a684aaeaf8b24f"></a>
19715<div class="memitem">
19716<div class="memproto">
19717<table class="mlabels">
19718 <tr>
19719 <td class="mlabels-left">
19720 <table class="memname">
19721 <tr>
19722 <td class="memname">std::string arm_compute::to_string </td>
19723 <td>(</td>
19724 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;&#160;</td>
19725 <td class="paramname"><em>quantization_info</em></td><td>)</td>
19726 <td></td>
19727 </tr>
19728 </table>
19729 </td>
19730 <td class="mlabels-right">
19731<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19732 </tr>
19733</table>
19734</div><div class="memdoc">
19735
Jenkinsb3a371b2018-05-23 11:36:53 +010019736<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>
19737<dl class="params"><dt>Parameters</dt><dd>
19738 <table class="params">
19739 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
19740 </table>
19741 </dd>
19742</dl>
19743<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019744
Jenkinsb3a371b2018-05-23 11:36:53 +010019745<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00226">226</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19746<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; str &lt;&lt; quantization_info;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010019747</div>
19748</div>
19749<a class="anchor" id="a3d4684c886b4d13ce004cd6d7fcea9b1"></a>
19750<div class="memitem">
19751<div class="memproto">
19752<table class="mlabels">
19753 <tr>
19754 <td class="mlabels-left">
19755 <table class="memname">
19756 <tr>
19757 <td class="memname">std::string arm_compute::to_string </td>
19758 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019759 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;&#160;</td>
Kaizenbf8b01d2017-10-12 14:26:51 +010019760 <td class="paramname"><em>op</em></td><td>)</td>
19761 <td></td>
19762 </tr>
19763 </table>
19764 </td>
19765 <td class="mlabels-right">
19766<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19767 </tr>
19768</table>
19769</div><div class="memdoc">
19770
Jenkinsb3a371b2018-05-23 11:36:53 +010019771<p>Formatted output of the FixedPointOp type. </p>
19772<dl class="params"><dt>Parameters</dt><dd>
19773 <table class="params">
19774 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
19775 </table>
19776 </dd>
19777</dl>
19778<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019779
Jenkinsb3a371b2018-05-23 11:36:53 +010019780<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00278">278</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19781<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; std::stringstream str;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; str &lt;&lt; op;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010019782</div>
19783</div>
19784<a class="anchor" id="a72626d2cca3922127c41526e37e9e623"></a>
19785<div class="memitem">
19786<div class="memproto">
19787<table class="mlabels">
19788 <tr>
19789 <td class="mlabels-left">
19790 <table class="memname">
19791 <tr>
19792 <td class="memname">std::string arm_compute::to_string </td>
19793 <td>(</td>
19794 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;&#160;</td>
19795 <td class="paramname"><em>info</em></td><td>)</td>
19796 <td></td>
19797 </tr>
19798 </table>
19799 </td>
19800 <td class="mlabels-right">
19801<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19802 </tr>
19803</table>
19804</div><div class="memdoc">
19805
Jenkinsb3a371b2018-05-23 11:36:53 +010019806<p>Formatted output of the activation function info type. </p>
19807<dl class="params"><dt>Parameters</dt><dd>
19808 <table class="params">
19809 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
19810 </table>
19811 </dd>
19812</dl>
19813<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010019814
Jenkinsb3a371b2018-05-23 11:36:53 +010019815<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00342">342</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19816
19817<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00841">ActivationLayerInfo::activation()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00856">ActivationLayerInfo::enabled()</a>.</p>
19818<div class="fragment"><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;{</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; std::stringstream str;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span>(info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">enabled</a>())</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div><div class="line"><a name="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> str.str();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdoc">Get the type of activation function. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00841">Types.h:841</a></div></div>
19819<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a1d79980f25d38aba3d6777d0afe544f3"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">arm_compute::ActivationLayerInfo::enabled</a></div><div class="ttdeci">bool enabled() const </div><div class="ttdoc">Check if initialised. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00856">Types.h:856</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019820</div><!-- fragment -->
19821</div>
19822</div>
19823<a class="anchor" id="a8a18c453150ab547c1add44b3ed3bc56"></a>
19824<div class="memitem">
19825<div class="memproto">
19826<table class="mlabels">
19827 <tr>
19828 <td class="mlabels-left">
19829 <table class="memname">
19830 <tr>
19831 <td class="memname">std::string arm_compute::to_string </td>
19832 <td>(</td>
19833 <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>
19834 <td class="paramname"><em>function</em></td><td>)</td>
19835 <td></td>
19836 </tr>
19837 </table>
19838 </td>
19839 <td class="mlabels-right">
19840<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19841 </tr>
19842</table>
19843</div><div class="memdoc">
19844
Jenkinsb3a371b2018-05-23 11:36:53 +010019845<p>Formatted output of the activation function type. </p>
19846<dl class="params"><dt>Parameters</dt><dd>
19847 <table class="params">
19848 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
19849 </table>
19850 </dd>
19851</dl>
19852<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019853
Jenkinsb3a371b2018-05-23 11:36:53 +010019854<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00358">358</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19855<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;{</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; std::stringstream str;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010019856</div>
19857</div>
19858<a class="anchor" id="a45dd771bdecbafb975fd267c2ae320a7"></a>
19859<div class="memitem">
19860<div class="memproto">
19861<table class="mlabels">
19862 <tr>
19863 <td class="mlabels-left">
19864 <table class="memname">
19865 <tr>
19866 <td class="memname">std::string arm_compute::to_string </td>
19867 <td>(</td>
19868 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;&#160;</td>
19869 <td class="paramname"><em>info</em></td><td>)</td>
19870 <td></td>
19871 </tr>
19872 </table>
19873 </td>
19874 <td class="mlabels-right">
19875<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19876 </tr>
19877</table>
19878</div><div class="memdoc">
19879
Jenkinsb3a371b2018-05-23 11:36:53 +010019880<p>Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. </p>
19881<dl class="params"><dt>Parameters</dt><dd>
19882 <table class="params">
19883 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
19884 </table>
19885 </dd>
19886</dl>
19887<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010019888
Jenkinsb3a371b2018-05-23 11:36:53 +010019889<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00398">398</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19890
19891<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00892">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00887">NormalizationLayerInfo::type()</a>.</p>
19892<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">norm_size</a>();</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdoc">Get the normalization type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00887">Types.h:887</a></div></div>
19893<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a0549be3702c05e6ec1ada69a6d08e349"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">arm_compute::NormalizationLayerInfo::norm_size</a></div><div class="ttdeci">uint32_t norm_size() const </div><div class="ttdoc">Get the normalization size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00892">Types.h:892</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019894</div><!-- fragment -->
19895</div>
19896</div>
19897<a class="anchor" id="a25dac68b6321b9e53027e79222a0eb7f"></a>
19898<div class="memitem">
19899<div class="memproto">
19900<table class="mlabels">
19901 <tr>
19902 <td class="mlabels-left">
19903 <table class="memname">
19904 <tr>
19905 <td class="memname">std::string arm_compute::to_string </td>
19906 <td>(</td>
19907 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;&#160;</td>
19908 <td class="paramname"><em>rounding_policy</em></td><td>)</td>
19909 <td></td>
19910 </tr>
19911 </table>
19912 </td>
19913 <td class="mlabels-right">
19914<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19915 </tr>
19916</table>
19917</div><div class="memdoc">
19918
Jenkinsb3a371b2018-05-23 11:36:53 +010019919<p>Formatted output of <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>. </p>
19920<dl class="params"><dt>Parameters</dt><dd>
19921 <table class="params">
19922 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Type to output.</td></tr>
19923 </table>
19924 </dd>
19925</dl>
19926<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019927
Jenkinsb3a371b2018-05-23 11:36:53 +010019928<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00465">465</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19929
19930<p>References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00178">arm_compute::test::validation::rounding_policy</a>.</p>
19931<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</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="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</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#l00178">PixelWiseMultiplication.cpp:178</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019932</div><!-- fragment -->
19933</div>
19934</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019935<a class="anchor" id="ae1240e4698e8a901179e519102b5e033"></a>
19936<div class="memitem">
19937<div class="memproto">
19938<table class="mlabels">
19939 <tr>
19940 <td class="mlabels-left">
19941 <table class="memname">
19942 <tr>
19943 <td class="memname">std::string arm_compute::to_string </td>
19944 <td>(</td>
19945 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;&#160;</td>
19946 <td class="paramname"><em>data_layout</em></td><td>)</td>
19947 <td></td>
19948 </tr>
19949 </table>
19950 </td>
19951 <td class="mlabels-right">
19952<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19953 </tr>
19954</table>
19955</div><div class="memdoc">
19956
19957<p>Formatted output of the DataLayout type. </p>
19958<dl class="params"><dt>Parameters</dt><dd>
19959 <table class="params">
19960 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Type to output.</td></tr>
19961 </table>
19962 </dd>
19963</dl>
19964<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
19965
19966<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00505">505</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
19967<div class="fragment"><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;{</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; std::stringstream str;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; str &lt;&lt; data_layout;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;}</div></div><!-- fragment -->
19968</div>
19969</div>
Kaizen8938bd32017-09-28 14:38:23 +010019970<a class="anchor" id="a96b47511b549b48d2ead05b5c757ccc9"></a>
19971<div class="memitem">
19972<div class="memproto">
19973<table class="mlabels">
19974 <tr>
19975 <td class="mlabels-left">
19976 <table class="memname">
19977 <tr>
19978 <td class="memname">std::string arm_compute::to_string </td>
19979 <td>(</td>
19980 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
19981 <td class="paramname"><em>data_type</em></td><td>)</td>
19982 <td></td>
19983 </tr>
19984 </table>
19985 </td>
19986 <td class="mlabels-right">
19987<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19988 </tr>
19989</table>
19990</div><div class="memdoc">
19991
Jenkinsb3a371b2018-05-23 11:36:53 +010019992<p>Formatted output of the DataType type. </p>
19993<dl class="params"><dt>Parameters</dt><dd>
19994 <table class="params">
19995 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Type to output.</td></tr>
19996 </table>
19997 </dd>
19998</dl>
19999<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020000
Jenkinsb3a371b2018-05-23 11:36:53 +010020001<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00584">584</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20002
20003<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::data_type</a>.</p>
20004<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</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="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020005</div><!-- fragment -->
20006</div>
20007</div>
20008<a class="anchor" id="ab0e6381843dc9901bb59285ec846dc5d"></a>
20009<div class="memitem">
20010<div class="memproto">
20011<table class="mlabels">
20012 <tr>
20013 <td class="mlabels-left">
20014 <table class="memname">
20015 <tr>
20016 <td class="memname">std::string arm_compute::to_string </td>
20017 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020018 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020019 <td class="paramname"><em>format</em></td><td>)</td>
20020 <td></td>
20021 </tr>
20022 </table>
20023 </td>
20024 <td class="mlabels-right">
20025<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20026 </tr>
20027</table>
20028</div><div class="memdoc">
20029
Jenkinsb3a371b2018-05-23 11:36:53 +010020030<p>Formatted output of the Format type. </p>
20031<dl class="params"><dt>Parameters</dt><dd>
20032 <table class="params">
20033 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Type to output.</td></tr>
20034 </table>
20035 </dd>
20036</dl>
20037<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020038
Jenkinsb3a371b2018-05-23 11:36:53 +010020039<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00666">666</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20040<div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;{</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; std::stringstream str;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; str &lt;&lt; format;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000020041</div>
20042</div>
20043<a class="anchor" id="a813e71cd70c2bbcbf0743fa83a3608b9"></a>
20044<div class="memitem">
20045<div class="memproto">
20046<table class="mlabels">
20047 <tr>
20048 <td class="mlabels-left">
20049 <table class="memname">
20050 <tr>
20051 <td class="memname">std::string arm_compute::to_string </td>
20052 <td>(</td>
20053 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;&#160;</td>
20054 <td class="paramname"><em>channel</em></td><td>)</td>
20055 <td></td>
20056 </tr>
20057 </table>
20058 </td>
20059 <td class="mlabels-right">
20060<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20061 </tr>
20062</table>
20063</div><div class="memdoc">
20064
Jenkinsb3a371b2018-05-23 11:36:53 +010020065<p>Formatted output of the Channel type. </p>
20066<dl class="params"><dt>Parameters</dt><dd>
20067 <table class="params">
20068 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Type to output.</td></tr>
20069 </table>
20070 </dd>
20071</dl>
20072<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000020073
Jenkinsb3a371b2018-05-23 11:36:53 +010020074<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00733">733</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20075<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; str &lt;&lt; channel;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020076</div>
20077</div>
20078<a class="anchor" id="a48fd5e28bdb4975c141841f0b96f8707"></a>
20079<div class="memitem">
20080<div class="memproto">
20081<table class="mlabels">
20082 <tr>
20083 <td class="mlabels-left">
20084 <table class="memname">
20085 <tr>
20086 <td class="memname">std::string arm_compute::to_string </td>
20087 <td>(</td>
20088 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
20089 <td class="paramname"><em>info</em></td><td>)</td>
20090 <td></td>
20091 </tr>
20092 </table>
20093 </td>
20094 <td class="mlabels-right">
20095<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20096 </tr>
20097</table>
20098</div><div class="memdoc">
20099
20100<p>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 +010020101<dl class="params"><dt>Parameters</dt><dd>
20102 <table class="params">
20103 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20104 </table>
20105 </dd>
20106</dl>
20107<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020108
Jenkinsb3a371b2018-05-23 11:36:53 +010020109<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00841">841</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 +000020110
Jenkinsb3a371b2018-05-23 11:36:53 +010020111<p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00267">TensorInfo::data_type()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00247">TensorInfo::fixed_point_position()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00259">TensorInfo::num_channels()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00263">TensorInfo::tensor_shape()</a>.</p>
20112<div class="fragment"><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;{</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; std::stringstream str;</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; str &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="l00845"></a><span class="lineno"> 845</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="l00846"></a><span class="lineno"> 846</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="l00847"></a><span class="lineno"> 847</span>&#160; &lt;&lt; <span class="stringliteral">&quot;FixedPointPos=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</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 +010020113</div><!-- fragment -->
20114</div>
20115</div>
20116<a class="anchor" id="aa32488ee1dd78e0464ed23e8cc2b6e49"></a>
20117<div class="memitem">
20118<div class="memproto">
20119<table class="mlabels">
20120 <tr>
20121 <td class="mlabels-left">
20122 <table class="memname">
20123 <tr>
20124 <td class="memname">std::string arm_compute::to_string </td>
20125 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020126 <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 +010020127 <td class="paramname"><em>dimensions</em></td><td>)</td>
20128 <td></td>
20129 </tr>
20130 </table>
20131 </td>
20132 <td class="mlabels-right">
20133<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20134 </tr>
20135</table>
20136</div><div class="memdoc">
20137
Jenkinsb3a371b2018-05-23 11:36:53 +010020138<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
20139<dl class="params"><dt>Parameters</dt><dd>
20140 <table class="params">
20141 <tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
20142 </table>
20143 </dd>
20144</dl>
20145<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020146
Jenkinsb3a371b2018-05-23 11:36:53 +010020147<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00858">858</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20148<div class="fragment"><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;{</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; std::stringstream str;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; str &lt;&lt; dimensions;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010020149</div>
20150</div>
20151<a class="anchor" id="a1c4486f45128be7156e38e6dea345a16"></a>
20152<div class="memitem">
20153<div class="memproto">
20154<table class="mlabels">
20155 <tr>
20156 <td class="mlabels-left">
20157 <table class="memname">
20158 <tr>
20159 <td class="memname">std::string arm_compute::to_string </td>
20160 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020161 <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 +010020162 <td class="paramname"><em>stride</em></td><td>)</td>
20163 <td></td>
20164 </tr>
20165 </table>
20166 </td>
20167 <td class="mlabels-right">
20168<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20169 </tr>
20170</table>
20171</div><div class="memdoc">
20172
Jenkinsb3a371b2018-05-23 11:36:53 +010020173<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>
20174<dl class="params"><dt>Parameters</dt><dd>
20175 <table class="params">
20176 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Type to output.</td></tr>
20177 </table>
20178 </dd>
20179</dl>
20180<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020181
Jenkinsb3a371b2018-05-23 11:36:53 +010020182<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00871">871</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20183<div class="fragment"><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;{</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; std::stringstream str;</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; str &lt;&lt; stride;</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020184</div>
20185</div>
20186<a class="anchor" id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
20187<div class="memitem">
20188<div class="memproto">
20189<table class="mlabels">
20190 <tr>
20191 <td class="mlabels-left">
20192 <table class="memname">
20193 <tr>
20194 <td class="memname">std::string arm_compute::to_string </td>
20195 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020196 <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 +010020197 <td class="paramname"><em>shape</em></td><td>)</td>
20198 <td></td>
20199 </tr>
20200 </table>
20201 </td>
20202 <td class="mlabels-right">
20203<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20204 </tr>
20205</table>
20206</div><div class="memdoc">
20207
20208<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 +010020209<dl class="params"><dt>Parameters</dt><dd>
20210 <table class="params">
20211 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Type to output.</td></tr>
20212 </table>
20213 </dd>
20214</dl>
20215<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020216
Jenkinsb3a371b2018-05-23 11:36:53 +010020217<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00884">884</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010020218
Jenkinsb3a371b2018-05-23 11:36:53 +010020219<p>References <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>.</p>
20220<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</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="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020221</div><!-- fragment -->
20222</div>
20223</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010020224<a class="anchor" id="a805a74997e303d29108845956a674387"></a>
20225<div class="memitem">
20226<div class="memproto">
20227<table class="mlabels">
20228 <tr>
20229 <td class="mlabels-left">
20230 <table class="memname">
20231 <tr>
20232 <td class="memname">std::string arm_compute::to_string </td>
20233 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020234 <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 +010020235 <td class="paramname"><em>coord</em></td><td>)</td>
20236 <td></td>
20237 </tr>
20238 </table>
20239 </td>
20240 <td class="mlabels-right">
20241<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20242 </tr>
20243</table>
20244</div><div class="memdoc">
20245
20246<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 +010020247<dl class="params"><dt>Parameters</dt><dd>
20248 <table class="params">
20249 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>Type to output.</td></tr>
20250 </table>
20251 </dd>
20252</dl>
20253<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010020254
Jenkinsb3a371b2018-05-23 11:36:53 +010020255<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00897">897</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20256<div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; std::stringstream str;</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; str &lt;&lt; coord;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010020257</div>
20258</div>
Kaizen8938bd32017-09-28 14:38:23 +010020259<a class="anchor" id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
20260<div class="memitem">
20261<div class="memproto">
20262<table class="mlabels">
20263 <tr>
20264 <td class="mlabels-left">
20265 <table class="memname">
20266 <tr>
20267 <td class="memname">std::string arm_compute::to_string </td>
20268 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020269 <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 +010020270 <td class="paramname"><em>pad_stride_info</em></td><td>)</td>
20271 <td></td>
20272 </tr>
20273 </table>
20274 </td>
20275 <td class="mlabels-right">
20276<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20277 </tr>
20278</table>
20279</div><div class="memdoc">
20280
Jenkinsb3a371b2018-05-23 11:36:53 +010020281<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>
20282<dl class="params"><dt>Parameters</dt><dd>
20283 <table class="params">
20284 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
20285 </table>
20286 </dd>
20287</dl>
20288<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020289
Jenkinsb3a371b2018-05-23 11:36:53 +010020290<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00942">942</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20291<div class="fragment"><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;{</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; std::stringstream str;</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; str &lt;&lt; pad_stride_info;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020292</div>
20293</div>
20294<a class="anchor" id="a0604106dd269acd58152a81ba87cc265"></a>
20295<div class="memitem">
20296<div class="memproto">
20297<table class="mlabels">
20298 <tr>
20299 <td class="mlabels-left">
20300 <table class="memname">
20301 <tr>
20302 <td class="memname">std::string arm_compute::to_string </td>
20303 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020304 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020305 <td class="paramname"><em>mode</em></td><td>)</td>
20306 <td></td>
20307 </tr>
20308 </table>
20309 </td>
20310 <td class="mlabels-right">
20311<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20312 </tr>
20313</table>
20314</div><div class="memdoc">
20315
Jenkinsb3a371b2018-05-23 11:36:53 +010020316<p>Formatted output of the BorderMode type. </p>
20317<dl class="params"><dt>Parameters</dt><dd>
20318 <table class="params">
20319 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Type to output.</td></tr>
20320 </table>
20321 </dd>
20322</dl>
20323<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020324
Jenkinsb3a371b2018-05-23 11:36:53 +010020325<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00955">955</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20326<div class="fragment"><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;{</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; std::stringstream str;</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; str &lt;&lt; mode;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010020327</div>
20328</div>
20329<a class="anchor" id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
20330<div class="memitem">
20331<div class="memproto">
20332<table class="mlabels">
20333 <tr>
20334 <td class="mlabels-left">
20335 <table class="memname">
20336 <tr>
20337 <td class="memname">std::string arm_compute::to_string </td>
20338 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020339 <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 +010020340 <td class="paramname"><em>border</em></td><td>)</td>
20341 <td></td>
20342 </tr>
20343 </table>
20344 </td>
20345 <td class="mlabels-right">
20346<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20347 </tr>
20348</table>
20349</div><div class="memdoc">
20350
Jenkinsb3a371b2018-05-23 11:36:53 +010020351<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>
20352<dl class="params"><dt>Parameters</dt><dd>
20353 <table class="params">
20354 <tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
20355 </table>
20356 </dd>
20357</dl>
20358<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020359
Jenkinsb3a371b2018-05-23 11:36:53 +010020360<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00968">968</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20361<div class="fragment"><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;{</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; std::stringstream str;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; str &lt;&lt; border;</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020362</div>
20363</div>
20364<a class="anchor" id="a94bd78942b683c05cba85048537d3ee7"></a>
20365<div class="memitem">
20366<div class="memproto">
20367<table class="mlabels">
20368 <tr>
20369 <td class="mlabels-left">
20370 <table class="memname">
20371 <tr>
20372 <td class="memname">std::string arm_compute::to_string </td>
20373 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020374 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020375 <td class="paramname"><em>policy</em></td><td>)</td>
20376 <td></td>
20377 </tr>
20378 </table>
20379 </td>
20380 <td class="mlabels-right">
20381<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20382 </tr>
20383</table>
20384</div><div class="memdoc">
20385
Jenkinsb3a371b2018-05-23 11:36:53 +010020386<p>Formatted output of the InterpolationPolicy type. </p>
20387<dl class="params"><dt>Parameters</dt><dd>
20388 <table class="params">
20389 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
20390 </table>
20391 </dd>
20392</dl>
20393<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020394
Jenkinsb3a371b2018-05-23 11:36:53 +010020395<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00981">981</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20396<div class="fragment"><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;{</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; std::stringstream str;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; str &lt;&lt; policy;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020397</div>
20398</div>
20399<a class="anchor" id="a5b8e815072ae54278cb1c91e254be4d3"></a>
20400<div class="memitem">
20401<div class="memproto">
20402<table class="mlabels">
20403 <tr>
20404 <td class="mlabels-left">
20405 <table class="memname">
20406 <tr>
20407 <td class="memname">std::string arm_compute::to_string </td>
20408 <td>(</td>
20409 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;&#160;</td>
20410 <td class="paramname"><em>policy</em></td><td>)</td>
20411 <td></td>
20412 </tr>
20413 </table>
20414 </td>
20415 <td class="mlabels-right">
20416<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20417 </tr>
20418</table>
20419</div><div class="memdoc">
20420
Jenkinsb3a371b2018-05-23 11:36:53 +010020421<p>Formatted output of the SamplingPolicy type. </p>
20422<dl class="params"><dt>Parameters</dt><dd>
20423 <table class="params">
20424 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
20425 </table>
20426 </dd>
20427</dl>
20428<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020429
Jenkinsb3a371b2018-05-23 11:36:53 +010020430<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00994">994</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20431<div class="fragment"><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160;{</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; std::stringstream str;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; str &lt;&lt; policy;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020432</div>
20433</div>
20434<a class="anchor" id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
20435<div class="memitem">
20436<div class="memproto">
20437<table class="mlabels">
20438 <tr>
20439 <td class="mlabels-left">
20440 <table class="memname">
20441 <tr>
20442 <td class="memname">std::string arm_compute::to_string </td>
20443 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020444 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020445 <td class="paramname"><em>policy</em></td><td>)</td>
20446 <td></td>
20447 </tr>
20448 </table>
20449 </td>
20450 <td class="mlabels-right">
20451<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20452 </tr>
20453</table>
20454</div><div class="memdoc">
20455
Jenkinsb3a371b2018-05-23 11:36:53 +010020456<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01025">1025</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20457<div class="fragment"><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;{</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; std::stringstream str;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; str &lt;&lt; policy;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020458</div>
20459</div>
20460<a class="anchor" id="aae534105c7ea67999ccbb34a0ed567cd"></a>
20461<div class="memitem">
20462<div class="memproto">
20463<table class="mlabels">
20464 <tr>
20465 <td class="mlabels-left">
20466 <table class="memname">
20467 <tr>
20468 <td class="memname">std::string arm_compute::to_string </td>
20469 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020470 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020471 <td class="paramname"><em>op</em></td><td>)</td>
20472 <td></td>
20473 </tr>
20474 </table>
20475 </td>
20476 <td class="mlabels-right">
20477<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20478 </tr>
20479</table>
20480</div><div class="memdoc">
20481
Jenkinsb3a371b2018-05-23 11:36:53 +010020482<p>Formatted output of the Reduction Operations. </p>
20483<dl class="params"><dt>Parameters</dt><dd>
20484 <table class="params">
20485 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
20486 </table>
20487 </dd>
20488</dl>
20489<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020490
Jenkinsb3a371b2018-05-23 11:36:53 +010020491<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01059">1059</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20492<div class="fragment"><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;{</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; std::stringstream str;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; str &lt;&lt; op;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020493</div>
20494</div>
20495<a class="anchor" id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
20496<div class="memitem">
20497<div class="memproto">
20498<table class="mlabels">
20499 <tr>
20500 <td class="mlabels-left">
20501 <table class="memname">
20502 <tr>
20503 <td class="memname">std::string arm_compute::to_string </td>
20504 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020505 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020506 <td class="paramname"><em>type</em></td><td>)</td>
20507 <td></td>
20508 </tr>
20509 </table>
20510 </td>
20511 <td class="mlabels-right">
20512<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20513 </tr>
20514</table>
20515</div><div class="memdoc">
20516
Jenkinsb3a371b2018-05-23 11:36:53 +010020517<p>Formatted output of the Norm Type. </p>
20518<dl class="params"><dt>Parameters</dt><dd>
20519 <table class="params">
20520 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
20521 </table>
20522 </dd>
20523</dl>
20524<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020525
Jenkinsb3a371b2018-05-23 11:36:53 +010020526<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01072">1072</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20527<div class="fragment"><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;{</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; std::stringstream str;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020528</div>
20529</div>
20530<a class="anchor" id="a2872d19dd10dc3117813d291c08e0383"></a>
20531<div class="memitem">
20532<div class="memproto">
20533<table class="mlabels">
20534 <tr>
20535 <td class="mlabels-left">
20536 <table class="memname">
20537 <tr>
20538 <td class="memname">std::string arm_compute::to_string </td>
20539 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020540 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010020541 <td class="paramname"><em>type</em></td><td>)</td>
20542 <td></td>
20543 </tr>
20544 </table>
20545 </td>
20546 <td class="mlabels-right">
20547<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20548 </tr>
20549</table>
20550</div><div class="memdoc">
20551
Jenkinsb3a371b2018-05-23 11:36:53 +010020552<p>Formatted output of the Pooling Type. </p>
20553<dl class="params"><dt>Parameters</dt><dd>
20554 <table class="params">
20555 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
20556 </table>
20557 </dd>
20558</dl>
20559<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020560
Jenkinsb3a371b2018-05-23 11:36:53 +010020561<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01085">1085</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20562<div class="fragment"><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;{</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; std::stringstream str;</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020563</div>
20564</div>
20565<a class="anchor" id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
20566<div class="memitem">
20567<div class="memproto">
20568<table class="mlabels">
20569 <tr>
20570 <td class="mlabels-left">
20571 <table class="memname">
20572 <tr>
20573 <td class="memname">std::string arm_compute::to_string </td>
20574 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020575 <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 +010020576 <td class="paramname"><em>info</em></td><td>)</td>
20577 <td></td>
20578 </tr>
20579 </table>
20580 </td>
20581 <td class="mlabels-right">
20582<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20583 </tr>
20584</table>
20585</div><div class="memdoc">
20586
Jenkinsb3a371b2018-05-23 11:36:53 +010020587<p>Formatted output of the Pooling Layer Info. </p>
20588<dl class="params"><dt>Parameters</dt><dd>
20589 <table class="params">
20590 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
20591 </table>
20592 </dd>
20593</dl>
20594<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010020595
Jenkinsb3a371b2018-05-23 11:36:53 +010020596<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01098">1098</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20597
20598<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00749">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00744">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00739">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
20599<div class="fragment"><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;{</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; std::stringstream str;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</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="l01102"></a><span class="lineno"> 1102</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="l01103"></a><span class="lineno"> 1103</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="l01104"></a><span class="lineno"> 1104</span>&#160; {</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</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="l01107"></a><span class="lineno"> 1107</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="l01108"></a><span class="lineno"> 1108</span>&#160; }</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</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 +000020600</div><!-- fragment -->
20601</div>
20602</div>
20603<a class="anchor" id="ae4ead564f3c96ea5f1ec7fe035b941f3"></a>
20604<div class="memitem">
20605<div class="memproto">
20606<table class="mlabels">
20607 <tr>
20608 <td class="mlabels-left">
20609 <table class="memname">
20610 <tr>
20611 <td class="memname">std::string arm_compute::to_string </td>
20612 <td>(</td>
20613 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">arm_compute::PhaseType</a> &amp;&#160;</td>
20614 <td class="paramname"><em>type</em></td><td>)</td>
20615 <td></td>
20616 </tr>
20617 </table>
20618 </td>
20619 <td class="mlabels-right">
20620<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20621 </tr>
20622</table>
20623</div><div class="memdoc">
20624
Jenkinsb3a371b2018-05-23 11:36:53 +010020625<p>Formatted output of the PhaseType type. </p>
20626<dl class="params"><dt>Parameters</dt><dd>
20627 <table class="params">
20628 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
20629 </table>
20630 </dd>
20631</dl>
20632<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020633
Jenkinsb3a371b2018-05-23 11:36:53 +010020634<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01163">1163</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20635<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020636</div>
20637</div>
20638<a class="anchor" id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
20639<div class="memitem">
20640<div class="memproto">
20641<table class="mlabels">
20642 <tr>
20643 <td class="mlabels-left">
20644 <table class="memname">
20645 <tr>
20646 <td class="memname">std::string arm_compute::to_string </td>
20647 <td>(</td>
20648 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> &amp;&#160;</td>
20649 <td class="paramname"><em>type</em></td><td>)</td>
20650 <td></td>
20651 </tr>
20652 </table>
20653 </td>
20654 <td class="mlabels-right">
20655<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20656 </tr>
20657</table>
20658</div><div class="memdoc">
20659
Jenkinsb3a371b2018-05-23 11:36:53 +010020660<p>Formatted output of the MagnitudeType type. </p>
20661<dl class="params"><dt>Parameters</dt><dd>
20662 <table class="params">
20663 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
20664 </table>
20665 </dd>
20666</dl>
20667<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020668
Jenkinsb3a371b2018-05-23 11:36:53 +010020669<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01200">1200</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20670<div class="fragment"><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;{</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; std::stringstream str;</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020671</div>
20672</div>
20673<a class="anchor" id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
20674<div class="memitem">
20675<div class="memproto">
20676<table class="mlabels">
20677 <tr>
20678 <td class="mlabels-left">
20679 <table class="memname">
20680 <tr>
20681 <td class="memname">std::string arm_compute::to_string </td>
20682 <td>(</td>
20683 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;&#160;</td>
20684 <td class="paramname"><em>type</em></td><td>)</td>
20685 <td></td>
20686 </tr>
20687 </table>
20688 </td>
20689 <td class="mlabels-right">
20690<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20691 </tr>
20692</table>
20693</div><div class="memdoc">
20694
Jenkinsb3a371b2018-05-23 11:36:53 +010020695<p>Formatted output of the GradientDimension type. </p>
20696<dl class="params"><dt>Parameters</dt><dd>
20697 <table class="params">
20698 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
20699 </table>
20700 </dd>
20701</dl>
20702<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020703
Jenkinsb3a371b2018-05-23 11:36:53 +010020704<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01240">1240</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20705<div class="fragment"><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;{</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; std::stringstream str;</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000020706</div>
20707</div>
20708<a class="anchor" id="a950ba288e8136db4bf52f7c51dea20eb"></a>
20709<div class="memitem">
20710<div class="memproto">
20711<table class="mlabels">
20712 <tr>
20713 <td class="mlabels-left">
20714 <table class="memname">
20715 <tr>
20716 <td class="memname">std::string arm_compute::to_string </td>
20717 <td>(</td>
20718 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;&#160;</td>
20719 <td class="paramname"><em>type</em></td><td>)</td>
20720 <td></td>
20721 </tr>
20722 </table>
20723 </td>
20724 <td class="mlabels-right">
20725<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20726 </tr>
20727</table>
20728</div><div class="memdoc">
20729
Jenkinsb3a371b2018-05-23 11:36:53 +010020730<p>Formatted output of the HOGNormType type. </p>
20731<dl class="params"><dt>Parameters</dt><dd>
20732 <table class="params">
20733 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
20734 </table>
20735 </dd>
20736</dl>
20737<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000020738
Jenkinsb3a371b2018-05-23 11:36:53 +010020739<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01280">1280</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20740<div class="fragment"><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;{</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; std::stringstream str;</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000020741</div>
20742</div>
20743<a class="anchor" id="aee88a2c259879eb9dc18cb5965e87c29"></a>
20744<div class="memitem">
20745<div class="memproto">
20746<table class="mlabels">
20747 <tr>
20748 <td class="mlabels-left">
20749 <table class="memname">
20750 <tr>
20751 <td class="memname">std::string arm_compute::to_string </td>
20752 <td>(</td>
20753 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
20754 <td class="paramname"><em>type</em></td><td>)</td>
20755 <td></td>
20756 </tr>
20757 </table>
20758 </td>
20759 <td class="mlabels-right">
20760<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20761 </tr>
20762</table>
20763</div><div class="memdoc">
20764
Jenkinsb3a371b2018-05-23 11:36:53 +010020765<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>
20766<dl class="params"><dt>Parameters</dt><dd>
20767 <table class="params">
20768 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
20769 </table>
20770 </dd>
20771</dl>
20772<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000020773
Jenkinsb3a371b2018-05-23 11:36:53 +010020774<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01307">1307</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20775<div class="fragment"><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;{</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; std::stringstream str;</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000020776</div>
20777</div>
20778<a class="anchor" id="a3cf43a216912b361eaffc3c71452a31e"></a>
20779<div class="memitem">
20780<div class="memproto">
20781<table class="mlabels">
20782 <tr>
20783 <td class="mlabels-left">
20784 <table class="memname">
20785 <tr>
20786 <td class="memname">std::string arm_compute::to_string </td>
20787 <td>(</td>
20788 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;&#160;</td>
20789 <td class="paramname"><em>type</em></td><td>)</td>
20790 <td></td>
20791 </tr>
20792 </table>
20793 </td>
20794 <td class="mlabels-right">
20795<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20796 </tr>
20797</table>
20798</div><div class="memdoc">
20799
20800<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 +010020801<dl class="params"><dt>Parameters</dt><dd>
20802 <table class="params">
20803 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
20804 </table>
20805 </dd>
20806</dl>
20807<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000020808
Jenkinsb3a371b2018-05-23 11:36:53 +010020809<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01341">1341</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20810<div class="fragment"><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;{</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; std::stringstream str;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010020811</div>
20812</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000020813<a class="anchor" id="a853d44a32a328fb4455f6200a11c4785"></a>
20814<div class="memitem">
20815<div class="memproto">
20816<table class="mlabels">
20817 <tr>
20818 <td class="mlabels-left">
20819 <table class="memname">
20820 <tr>
20821 <td class="memname">std::string arm_compute::to_string </td>
20822 <td>(</td>
20823 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;&#160;</td>
20824 <td class="paramname"><em>conv_method</em></td><td>)</td>
20825 <td></td>
20826 </tr>
20827 </table>
20828 </td>
20829 <td class="mlabels-right">
20830<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20831 </tr>
20832</table>
20833</div><div class="memdoc">
20834
Jenkinsb3a371b2018-05-23 11:36:53 +010020835<p>Formatted output of the ConvolutionMethod type. </p>
20836<dl class="params"><dt>Parameters</dt><dd>
20837 <table class="params">
20838 <tr><td class="paramdir">[in]</td><td class="paramname">conv_method</td><td>Type to output</td></tr>
20839 </table>
20840 </dd>
20841</dl>
20842<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000020843
Jenkinsb3a371b2018-05-23 11:36:53 +010020844<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01381">1381</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20845<div class="fragment"><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;{</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; std::stringstream str;</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; str &lt;&lt; conv_method;</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000020846</div>
20847</div>
20848<a class="anchor" id="aee29ccfc095313663fc954f581ddf40a"></a>
20849<div class="memitem">
20850<div class="memproto">
20851<table class="mlabels">
20852 <tr>
20853 <td class="mlabels-left">
20854 <table class="memname">
20855 <tr>
20856 <td class="memname">std::string arm_compute::to_string </td>
20857 <td>(</td>
20858 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;&#160;</td>
20859 <td class="paramname"><em>gpu_target</em></td><td>)</td>
20860 <td></td>
20861 </tr>
20862 </table>
20863 </td>
20864 <td class="mlabels-right">
20865<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20866 </tr>
20867</table>
20868</div><div class="memdoc">
20869
Jenkinsb3a371b2018-05-23 11:36:53 +010020870<p>Formatted output of the GPUTarget type. </p>
20871<dl class="params"><dt>Parameters</dt><dd>
20872 <table class="params">
20873 <tr><td class="paramdir">[in]</td><td class="paramname">gpu_target</td><td>Type to output</td></tr>
20874 </table>
20875 </dd>
20876</dl>
20877<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000020878
Jenkinsb3a371b2018-05-23 11:36:53 +010020879<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01454">1454</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20880<div class="fragment"><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;{</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; std::stringstream str;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; str &lt;&lt; gpu_target;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;}</div></div><!-- fragment -->
20881</div>
20882</div>
20883<a class="anchor" id="a905d7ec8787e8c4b7e88b0a2faaccd1f"></a>
20884<div class="memitem">
20885<div class="memproto">
20886<table class="mlabels">
20887 <tr>
20888 <td class="mlabels-left">
20889 <table class="memname">
20890 <tr>
20891 <td class="memname">std::string arm_compute::to_string </td>
20892 <td>(</td>
20893 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;&#160;</td>
20894 <td class="paramname"><em>detection_window</em></td><td>)</td>
20895 <td></td>
20896 </tr>
20897 </table>
20898 </td>
20899 <td class="mlabels-right">
20900<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20901 </tr>
20902</table>
20903</div><div class="memdoc">
20904
20905<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>
20906<dl class="params"><dt>Parameters</dt><dd>
20907 <table class="params">
20908 <tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
20909 </table>
20910 </dd>
20911</dl>
20912<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20913
20914<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01486">1486</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20915<div class="fragment"><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;{</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; std::stringstream str;</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; str &lt;&lt; detection_window;</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;}</div></div><!-- fragment -->
20916</div>
20917</div>
20918<a class="anchor" id="a51fc944d872cf00c1e8e71ccdf8be264"></a>
20919<div class="memitem">
20920<div class="memproto">
20921<table class="mlabels">
20922 <tr>
20923 <td class="mlabels-left">
20924 <table class="memname">
20925 <tr>
20926 <td class="memname">std::string arm_compute::to_string </td>
20927 <td>(</td>
20928 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;&#160;</td>
20929 <td class="paramname"><em>termination</em></td><td>)</td>
20930 <td></td>
20931 </tr>
20932 </table>
20933 </td>
20934 <td class="mlabels-right">
20935<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20936 </tr>
20937</table>
20938</div><div class="memdoc">
20939
20940<p>Formatted output of the Termination type. </p>
20941<dl class="params"><dt>Parameters</dt><dd>
20942 <table class="params">
20943 <tr><td class="paramdir">[in]</td><td class="paramname">termination</td><td>Type to output</td></tr>
20944 </table>
20945 </dd>
20946</dl>
20947<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
20948
20949<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01526">1526</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20950<div class="fragment"><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;{</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; std::stringstream str;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; str &lt;&lt; termination;</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;}</div></div><!-- fragment -->
20951</div>
20952</div>
20953<a class="anchor" id="a37cc282b0852aab04b13a6e6566adda7"></a>
20954<div class="memitem">
20955<div class="memproto">
20956<table class="mlabels">
20957 <tr>
20958 <td class="mlabels-left">
20959 <table class="memname">
20960 <tr>
20961 <td class="memname">std::string arm_compute::to_string </td>
20962 <td>(</td>
20963 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;&#160;</td>
20964 <td class="paramname"><em>type</em></td><td>)</td>
20965 <td></td>
20966 </tr>
20967 </table>
20968 </td>
20969 <td class="mlabels-right">
20970<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20971 </tr>
20972</table>
20973</div><div class="memdoc">
20974
20975<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01544">1544</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
20976<div class="fragment"><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;{</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; std::stringstream str;</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000020977</div>
20978</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000020979<a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
20980<div class="memitem">
20981<div class="memproto">
20982 <table class="memname">
20983 <tr>
20984 <td class="memname">bool arm_compute::update_window_and_padding </td>
20985 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000020986 <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 +000020987 <td class="paramname"><em>win</em>, </td>
20988 </tr>
20989 <tr>
20990 <td class="paramkey"></td>
20991 <td></td>
20992 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
20993 <td class="paramname"><em>patterns</em>&#160;</td>
20994 </tr>
20995 <tr>
20996 <td></td>
20997 <td>)</td>
20998 <td></td><td></td>
20999 </tr>
21000 </table>
21001</div><div class="memdoc">
21002
21003<p>Update window and padding size for each of the access patterns. </p>
21004<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>
21005<dl class="params"><dt>Parameters</dt><dd>
21006 <table class="params">
21007 <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>
21008 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
21009 </table>
21010 </dd>
21011</dl>
21012<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>
21013
Jenkinsb3a371b2018-05-23 11:36:53 +010021014<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">368</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000021015
Jenkinsb3a371b2018-05-23 11:36:53 +010021016<p>References <a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window()</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5a5f3d4d4461121db2e4e3b4d3ee587f">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
21017<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 +010021018</div><!-- fragment -->
21019</div>
21020</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021021<a class="anchor" id="a52988f4969583e2677bc4f04da8439e4"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021022<div class="memitem">
21023<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021024 <table class="memname">
21025 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021026 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vabs_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021027 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021028 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021029 <td class="paramname"><em>a</em></td><td>)</td>
21030 <td></td>
21031 </tr>
21032 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021033</div><div class="memdoc">
21034
21035<p>Absolute value of 16 bit fixed point vector (4 elements) </p>
21036<dl class="params"><dt>Parameters</dt><dd>
21037 <table class="params">
21038 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
21039 </table>
21040 </dd>
21041</dl>
21042<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
21043
Anthony Barbierdbdab852017-06-23 15:42:00 +010021044</div>
21045</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021046<a class="anchor" id="a6c5277e56fb1c3434ded55b90faa51e8"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021047<div class="memitem">
21048<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021049 <table class="memname">
21050 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021051 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vabs_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021052 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021053 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021054 <td class="paramname"><em>a</em></td><td>)</td>
21055 <td></td>
21056 </tr>
21057 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021058</div><div class="memdoc">
21059
21060<p>Absolute value of 8 bit fixed point vector (8 elements) </p>
21061<dl class="params"><dt>Parameters</dt><dd>
21062 <table class="params">
21063 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21064 </table>
21065 </dd>
21066</dl>
21067<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
21068
Kaizen8938bd32017-09-28 14:38:23 +010021069</div>
21070</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021071<a class="anchor" id="ade3f03f4b20d7887ab4fa0abf527e1d6"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021072<div class="memitem">
21073<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021074 <table class="memname">
21075 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021076 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vabsq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021077 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021078 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021079 <td class="paramname"><em>a</em></td><td>)</td>
21080 <td></td>
21081 </tr>
21082 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021083</div><div class="memdoc">
21084
21085<p>Absolute value of 16 bit fixed point vector (8 elements) </p>
21086<dl class="params"><dt>Parameters</dt><dd>
21087 <table class="params">
21088 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
21089 </table>
21090 </dd>
21091</dl>
21092<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
21093
Anthony Barbierdbdab852017-06-23 15:42:00 +010021094</div>
21095</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021096<a class="anchor" id="ac3a568bc6c67b5706661db5243829f50"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021097<div class="memitem">
21098<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021099 <table class="memname">
21100 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021101 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vabsq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021102 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021103 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021104 <td class="paramname"><em>a</em></td><td>)</td>
21105 <td></td>
21106 </tr>
21107 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021108</div><div class="memdoc">
21109
21110<p>Absolute value of 8 bit fixed point vector (16 elements) </p>
21111<dl class="params"><dt>Parameters</dt><dd>
21112 <table class="params">
21113 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21114 </table>
21115 </dd>
21116</dl>
21117<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
21118
Kaizen8938bd32017-09-28 14:38:23 +010021119</div>
21120</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021121<a class="anchor" id="aeae8ace3bb6e0cdb407fdac73f1c67a6"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021122<div class="memitem">
21123<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021124 <table class="memname">
21125 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021126 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vadd_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021127 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021128 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021129 <td class="paramname"><em>a</em>, </td>
21130 </tr>
21131 <tr>
21132 <td class="paramkey"></td>
21133 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021134 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021135 <td class="paramname"><em>b</em>&#160;</td>
21136 </tr>
21137 <tr>
21138 <td></td>
21139 <td>)</td>
21140 <td></td><td></td>
21141 </tr>
21142 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021143</div><div class="memdoc">
21144
21145<p>16 bit fixed point vector add (4 elements) </p>
21146<dl class="params"><dt>Parameters</dt><dd>
21147 <table class="params">
21148 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21149 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21150 </table>
21151 </dd>
21152</dl>
21153<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
21154
Anthony Barbierdbdab852017-06-23 15:42:00 +010021155</div>
21156</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021157<a class="anchor" id="a6ae2c8aa90fad62779e17a2adb06f353"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021158<div class="memitem">
21159<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021160 <table class="memname">
21161 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021162 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vadd_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021163 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021164 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021165 <td class="paramname"><em>a</em>, </td>
21166 </tr>
21167 <tr>
21168 <td class="paramkey"></td>
21169 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021170 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021171 <td class="paramname"><em>b</em>&#160;</td>
21172 </tr>
21173 <tr>
21174 <td></td>
21175 <td>)</td>
21176 <td></td><td></td>
21177 </tr>
21178 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021179</div><div class="memdoc">
21180
21181<p>8 bit fixed point vector add (8 elements) </p>
21182<dl class="params"><dt>Parameters</dt><dd>
21183 <table class="params">
21184 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21185 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21186 </table>
21187 </dd>
21188</dl>
21189<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
21190
Kaizen8938bd32017-09-28 14:38:23 +010021191</div>
21192</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021193<a class="anchor" id="a76505d3ed993337fde8186da5060e8e8"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021194<div class="memitem">
21195<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021196 <table class="memname">
21197 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021198 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vaddq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021199 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021200 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021201 <td class="paramname"><em>a</em>, </td>
21202 </tr>
21203 <tr>
21204 <td class="paramkey"></td>
21205 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021206 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021207 <td class="paramname"><em>b</em>&#160;</td>
21208 </tr>
21209 <tr>
21210 <td></td>
21211 <td>)</td>
21212 <td></td><td></td>
21213 </tr>
21214 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021215</div><div class="memdoc">
21216
21217<p>16 bit fixed point vector add (8 elements) </p>
21218<dl class="params"><dt>Parameters</dt><dd>
21219 <table class="params">
21220 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21221 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21222 </table>
21223 </dd>
21224</dl>
21225<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
21226
Anthony Barbierdbdab852017-06-23 15:42:00 +010021227</div>
21228</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021229<a class="anchor" id="a14157ffd112ba32acb3af50e46d0e76a"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021230<div class="memitem">
21231<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021232 <table class="memname">
21233 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021234 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vaddq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021235 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021236 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021237 <td class="paramname"><em>a</em>, </td>
21238 </tr>
21239 <tr>
21240 <td class="paramkey"></td>
21241 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021242 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021243 <td class="paramname"><em>b</em>&#160;</td>
21244 </tr>
21245 <tr>
21246 <td></td>
21247 <td>)</td>
21248 <td></td><td></td>
21249 </tr>
21250 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021251</div><div class="memdoc">
21252
21253<p>8 bit fixed point vector add (16 elements) </p>
21254<dl class="params"><dt>Parameters</dt><dd>
21255 <table class="params">
21256 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21257 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21258 </table>
21259 </dd>
21260</dl>
21261<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
21262
Anthony Barbier871448e2017-03-24 14:54:29 +000021263</div>
21264</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021265<a class="anchor" id="aa3eadd9dc42dec63c6a23af0044704c0"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000021266<div class="memitem">
21267<div class="memproto">
21268 <table class="memname">
21269 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021270 <td class="memname">float32x4_t arm_compute::vcvt_f32_qs16 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021271 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021272 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021273 <td class="paramname"><em>a</em>, </td>
21274 </tr>
21275 <tr>
21276 <td class="paramkey"></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021277 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021278 <td class="paramtype">int&#160;</td>
21279 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21280 </tr>
21281 <tr>
21282 <td></td>
21283 <td>)</td>
21284 <td></td><td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021285 </tr>
21286 </table>
21287</div><div class="memdoc">
21288
Kaizen8938bd32017-09-28 14:38:23 +010021289<p>Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000021290<dl class="params"><dt>Parameters</dt><dd>
21291 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010021292 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
21293 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000021294 </table>
21295 </dd>
21296</dl>
Kaizen8938bd32017-09-28 14:38:23 +010021297<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float32x2 </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000021298
Anthony Barbier871448e2017-03-24 14:54:29 +000021299</div>
21300</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021301<a class="anchor" id="a0e5310342a6ac0682691754a45d968ac"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000021302<div class="memitem">
21303<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000021304 <table class="memname">
21305 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021306 <td class="memname">float32x4x2_t arm_compute::vcvt_f32_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021307 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021308 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021309 <td class="paramname"><em>a</em>, </td>
21310 </tr>
21311 <tr>
21312 <td class="paramkey"></td>
21313 <td></td>
21314 <td class="paramtype">int&#160;</td>
21315 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21316 </tr>
21317 <tr>
21318 <td></td>
21319 <td>)</td>
21320 <td></td><td></td>
21321 </tr>
21322 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021323</div><div class="memdoc">
21324
21325<p>Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
21326<dl class="params"><dt>Parameters</dt><dd>
21327 <table class="params">
21328 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
21329 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21330 </table>
21331 </dd>
21332</dl>
21333<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x2x4 </dd></dl>
21334
Anthony Barbierdbdab852017-06-23 15:42:00 +010021335</div>
21336</div>
Kaizen8938bd32017-09-28 14:38:23 +010021337<a class="anchor" id="a943abeff66faa34d1c2aeeab4ebfabdf"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021338<div class="memitem">
21339<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021340 <table class="memname">
21341 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010021342 <td class="memname">float32x4x2_t arm_compute::vcvtq_qs16_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021343 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021344 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021345 <td class="paramname"><em>a</em>, </td>
21346 </tr>
21347 <tr>
21348 <td class="paramkey"></td>
21349 <td></td>
21350 <td class="paramtype">int&#160;</td>
21351 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21352 </tr>
21353 <tr>
21354 <td></td>
21355 <td>)</td>
21356 <td></td><td></td>
21357 </tr>
21358 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021359</div><div class="memdoc">
21360
Kaizen8938bd32017-09-28 14:38:23 +010021361<p>Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021362<dl class="params"><dt>Parameters</dt><dd>
21363 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010021364 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021365 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21366 </table>
21367 </dd>
21368</dl>
Kaizen8938bd32017-09-28 14:38:23 +010021369<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float32x4x2 </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021370
Anthony Barbierdbdab852017-06-23 15:42:00 +010021371</div>
21372</div>
21373<a class="anchor" id="a19e68f6a298ae587a491df52d6859350"></a>
21374<div class="memitem">
21375<div class="memproto">
21376 <table class="memname">
21377 <tr>
21378 <td class="memname">float32x4x4_t arm_compute::vcvtq_qs8_f32 </td>
21379 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021380 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021381 <td class="paramname"><em>a</em>, </td>
21382 </tr>
21383 <tr>
21384 <td class="paramkey"></td>
21385 <td></td>
21386 <td class="paramtype">int&#160;</td>
21387 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21388 </tr>
21389 <tr>
21390 <td></td>
21391 <td>)</td>
21392 <td></td><td></td>
21393 </tr>
21394 </table>
21395</div><div class="memdoc">
21396
21397<p>Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. </p>
21398<dl class="params"><dt>Parameters</dt><dd>
21399 <table class="params">
21400 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
21401 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21402 </table>
21403 </dd>
21404</dl>
21405<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x4x4 </dd></dl>
21406
21407</div>
21408</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021409<a class="anchor" id="a73c3ec663189efd1ef6e93249939ed02"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021410<div class="memitem">
21411<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021412 <table class="memname">
21413 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021414 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vdiv_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021415 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021416 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021417 <td class="paramname"><em>a</em>, </td>
21418 </tr>
21419 <tr>
21420 <td class="paramkey"></td>
21421 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021422 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021423 <td class="paramname"><em>b</em>, </td>
21424 </tr>
21425 <tr>
21426 <td class="paramkey"></td>
21427 <td></td>
21428 <td class="paramtype">int&#160;</td>
21429 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21430 </tr>
21431 <tr>
21432 <td></td>
21433 <td>)</td>
21434 <td></td><td></td>
21435 </tr>
21436 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021437</div><div class="memdoc">
21438
21439<p>Division fixed point 16 bit (4 elements) </p>
21440<dl class="params"><dt>Parameters</dt><dd>
21441 <table class="params">
21442 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21443 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
21444 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21445 </table>
21446 </dd>
21447</dl>
21448<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
21449
Kaizen8938bd32017-09-28 14:38:23 +010021450</div>
21451</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021452<a class="anchor" id="ae882a78a649d7d737cab1cb496e6e0f0"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021453<div class="memitem">
21454<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021455 <table class="memname">
21456 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021457 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vdiv_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021458 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021459 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021460 <td class="paramname"><em>a</em>, </td>
21461 </tr>
21462 <tr>
21463 <td class="paramkey"></td>
21464 <td></td>
21465 <td class="paramtype">int8x8_t&#160;</td>
21466 <td class="paramname"><em>b</em>, </td>
21467 </tr>
21468 <tr>
21469 <td class="paramkey"></td>
21470 <td></td>
21471 <td class="paramtype">int&#160;</td>
21472 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21473 </tr>
21474 <tr>
21475 <td></td>
21476 <td>)</td>
21477 <td></td><td></td>
21478 </tr>
21479 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021480</div><div class="memdoc">
21481
21482<p>Division fixed point 8bit (8 elements) </p>
21483<dl class="params"><dt>Parameters</dt><dd>
21484 <table class="params">
21485 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
21486 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
21487 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21488 </table>
21489 </dd>
21490</dl>
21491<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
21492
Anthony Barbierdbdab852017-06-23 15:42:00 +010021493</div>
21494</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021495<a class="anchor" id="af5830e15cd59ed3198b916ec03efa07a"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021496<div class="memitem">
21497<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021498 <table class="memname">
21499 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021500 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdivq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021501 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021502 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021503 <td class="paramname"><em>a</em>, </td>
21504 </tr>
21505 <tr>
21506 <td class="paramkey"></td>
21507 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021508 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021509 <td class="paramname"><em>b</em>, </td>
21510 </tr>
21511 <tr>
21512 <td class="paramkey"></td>
21513 <td></td>
21514 <td class="paramtype">int&#160;</td>
21515 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21516 </tr>
21517 <tr>
21518 <td></td>
21519 <td>)</td>
21520 <td></td><td></td>
21521 </tr>
21522 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021523</div><div class="memdoc">
21524
21525<p>Division fixed point 16 bit (8 elements) </p>
21526<dl class="params"><dt>Parameters</dt><dd>
21527 <table class="params">
21528 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21529 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
21530 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21531 </table>
21532 </dd>
21533</dl>
21534<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 16 bit fixed point format. </dd></dl>
21535
Kaizen8938bd32017-09-28 14:38:23 +010021536</div>
21537</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021538<a class="anchor" id="abacd82fd9acb85349b751a3eba0fd8db"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021539<div class="memitem">
21540<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021541 <table class="memname">
21542 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021543 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vdivq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021544 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021545 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021546 <td class="paramname"><em>a</em>, </td>
21547 </tr>
21548 <tr>
21549 <td class="paramkey"></td>
21550 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021551 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021552 <td class="paramname"><em>b</em>, </td>
21553 </tr>
21554 <tr>
21555 <td class="paramkey"></td>
21556 <td></td>
21557 <td class="paramtype">int&#160;</td>
21558 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21559 </tr>
21560 <tr>
21561 <td></td>
21562 <td>)</td>
21563 <td></td><td></td>
21564 </tr>
21565 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021566</div><div class="memdoc">
21567
21568<p>Division fixed point 8bit (16 elements) </p>
21569<dl class="params"><dt>Parameters</dt><dd>
21570 <table class="params">
21571 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
21572 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
21573 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21574 </table>
21575 </dd>
21576</dl>
21577<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 8bit fixed point format. </dd></dl>
21578
Kaizen8938bd32017-09-28 14:38:23 +010021579</div>
21580</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021581<a class="anchor" id="aa6ebf4319713b842c2b95fe5e251d199"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021582<div class="memitem">
21583<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021584 <table class="memname">
21585 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021586 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vdup_n_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021587 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021588 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021589 <td class="paramname"><em>a</em></td><td>)</td>
21590 <td></td>
21591 </tr>
21592 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021593</div><div class="memdoc">
21594
21595<p>16 bit fixed point vector duplicate (4 elements) </p>
21596<dl class="params"><dt>Parameters</dt><dd>
21597 <table class="params">
21598 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
21599 </table>
21600 </dd>
21601</dl>
21602<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
21603
Anthony Barbierdbdab852017-06-23 15:42:00 +010021604</div>
21605</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021606<a class="anchor" id="ae5928c224ded2b86475c0e85036aa42b"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021607<div class="memitem">
21608<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021609 <table class="memname">
21610 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021611 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vdup_n_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021612 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021613 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021614 <td class="paramname"><em>a</em></td><td>)</td>
21615 <td></td>
21616 </tr>
21617 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021618</div><div class="memdoc">
21619
21620<p>8 bit fixed point vector duplicate (8 elements) </p>
21621<dl class="params"><dt>Parameters</dt><dd>
21622 <table class="params">
21623 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
21624 </table>
21625 </dd>
21626</dl>
21627<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
21628
Anthony Barbierdbdab852017-06-23 15:42:00 +010021629</div>
21630</div>
21631<a class="anchor" id="a740436aed8843612da747f40ff926875"></a>
21632<div class="memitem">
21633<div class="memproto">
21634 <table class="memname">
21635 <tr>
21636 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
21637 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021638 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021639 <td class="paramname"><em>a</em></td><td>)</td>
21640 <td></td>
21641 </tr>
21642 </table>
21643</div><div class="memdoc">
21644
21645<p>16 bit fixed point vector duplicate (8 elements) </p>
21646<dl class="params"><dt>Parameters</dt><dd>
21647 <table class="params">
21648 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
21649 </table>
21650 </dd>
21651</dl>
21652<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
21653
Kaizen8938bd32017-09-28 14:38:23 +010021654</div>
21655</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021656<a class="anchor" id="aa286876d5353075d13377380bf0068ef"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021657<div class="memitem">
21658<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021659 <table class="memname">
21660 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021661 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021662 <td>(</td>
21663 <td class="paramtype">float&#160;</td>
21664 <td class="paramname"><em>a</em>, </td>
21665 </tr>
21666 <tr>
21667 <td class="paramkey"></td>
21668 <td></td>
21669 <td class="paramtype">int&#160;</td>
21670 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21671 </tr>
21672 <tr>
21673 <td></td>
21674 <td>)</td>
21675 <td></td><td></td>
21676 </tr>
21677 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021678</div><div class="memdoc">
21679
21680<p>Duplicate a float and convert it to 16 bit fixed point vector (8 elements) </p>
21681<dl class="params"><dt>Parameters</dt><dd>
21682 <table class="params">
21683 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
21684 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21685 </table>
21686 </dd>
21687</dl>
21688<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
21689
Kaizen8938bd32017-09-28 14:38:23 +010021690</div>
21691</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021692<a class="anchor" id="a14e4a79c204d38d9ab1c510180ce3a98"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021693<div class="memitem">
21694<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021695 <table class="memname">
21696 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021697 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vdupq_n_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021698 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021699 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021700 <td class="paramname"><em>a</em></td><td>)</td>
21701 <td></td>
21702 </tr>
21703 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021704</div><div class="memdoc">
21705
21706<p>8 bit fixed point vector duplicate (16 elements) </p>
21707<dl class="params"><dt>Parameters</dt><dd>
21708 <table class="params">
21709 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
21710 </table>
21711 </dd>
21712</dl>
21713<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
21714
Anthony Barbierdbdab852017-06-23 15:42:00 +010021715</div>
21716</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021717<a class="anchor" id="a579ff1fb4795bc28e7eae6f480e03e08"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021718<div class="memitem">
21719<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021720 <table class="memname">
21721 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021722 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vdupq_n_qs8_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021723 <td>(</td>
21724 <td class="paramtype">float&#160;</td>
21725 <td class="paramname"><em>a</em>, </td>
21726 </tr>
21727 <tr>
21728 <td class="paramkey"></td>
21729 <td></td>
21730 <td class="paramtype">int&#160;</td>
21731 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21732 </tr>
21733 <tr>
21734 <td></td>
21735 <td>)</td>
21736 <td></td><td></td>
21737 </tr>
21738 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021739</div><div class="memdoc">
21740
21741<p>Duplicate a float and convert it to 8 bit fixed point vector (16 elements) </p>
21742<dl class="params"><dt>Parameters</dt><dd>
21743 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010021744 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021745 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21746 </table>
21747 </dd>
21748</dl>
21749<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
21750
Kaizen8938bd32017-09-28 14:38:23 +010021751</div>
21752</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021753<a class="anchor" id="ab55486f1153a4c5f507d4923b59fc6a0"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021754<div class="memitem">
21755<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021756 <table class="memname">
21757 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021758 <td class="memname">float32x4_t arm_compute::vexpq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021759 <td>(</td>
21760 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021761 <td class="paramname"><em>x</em></td><td>)</td>
21762 <td></td>
21763 </tr>
21764 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000021765</div><div class="memdoc">
21766
21767<p>Calculate exponential. </p>
21768<dl class="params"><dt>Parameters</dt><dd>
21769 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021770 <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 +000021771 </table>
21772 </dd>
21773</dl>
21774<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
21775
Kaizen8938bd32017-09-28 14:38:23 +010021776</div>
21777</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021778<a class="anchor" id="af7a0f3e622aa4bc8c6077d2262a04e2e"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021779<div class="memitem">
21780<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021781 <table class="memname">
21782 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021783 <td class="memname">float32x4_t arm_compute::vfloorq_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021784 <td>(</td>
21785 <td class="paramtype">float32x4_t&#160;</td>
21786 <td class="paramname"><em>val</em></td><td>)</td>
21787 <td></td>
21788 </tr>
21789 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021790</div><div class="memdoc">
21791
21792<p>Calculate floor of a vector. </p>
21793<dl class="params"><dt>Parameters</dt><dd>
21794 <table class="params">
21795 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
21796 </table>
21797 </dd>
21798</dl>
21799<dl class="section return"><dt>Returns</dt><dd>The calculated floor vector. </dd></dl>
21800
Kaizen8938bd32017-09-28 14:38:23 +010021801</div>
21802</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021803<a class="anchor" id="adb8a3a973b625b035f663bcac5781596"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021804<div class="memitem">
21805<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021806 <table class="memname">
21807 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021808 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vget_high_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021809 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021810 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021811 <td class="paramname"><em>a</em></td><td>)</td>
21812 <td></td>
21813 </tr>
21814 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021815</div><div class="memdoc">
21816
21817<p>Get the higher half of a 16 elements vector. </p>
21818<dl class="params"><dt>Parameters</dt><dd>
21819 <table class="params">
21820 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
21821 </table>
21822 </dd>
21823</dl>
21824<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
21825
Anthony Barbier871448e2017-03-24 14:54:29 +000021826</div>
21827</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021828<a class="anchor" id="ab1a1485f2120c55da4a57a59be074f27"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000021829<div class="memitem">
21830<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000021831 <table class="memname">
21832 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021833 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vget_high_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021834 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021835 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021836 <td class="paramname"><em>a</em></td><td>)</td>
21837 <td></td>
21838 </tr>
21839 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021840</div><div class="memdoc">
21841
21842<p>Get the higher half of a 16 elements vector. </p>
21843<dl class="params"><dt>Parameters</dt><dd>
21844 <table class="params">
21845 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
21846 </table>
21847 </dd>
21848</dl>
21849<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
21850
Kaizen8938bd32017-09-28 14:38:23 +010021851</div>
21852</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021853<a class="anchor" id="a9e66057ae3f10ac402b7d7da1649ca59"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021854<div class="memitem">
21855<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021856 <table class="memname">
21857 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021858 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vget_low_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021859 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021860 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021861 <td class="paramname"><em>a</em></td><td>)</td>
21862 <td></td>
21863 </tr>
21864 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021865</div><div class="memdoc">
21866
21867<p>Get the lower half of a 16 elements vector. </p>
21868<dl class="params"><dt>Parameters</dt><dd>
21869 <table class="params">
21870 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
21871 </table>
21872 </dd>
21873</dl>
21874<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
21875
Anthony Barbierdbdab852017-06-23 15:42:00 +010021876</div>
21877</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021878<a class="anchor" id="a01aba870fcfc162ae8aa04ac2a71699f"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021879<div class="memitem">
21880<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021881 <table class="memname">
21882 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021883 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vget_low_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021884 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021885 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021886 <td class="paramname"><em>a</em></td><td>)</td>
21887 <td></td>
21888 </tr>
21889 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021890</div><div class="memdoc">
21891
21892<p>Get the lower half of a 16 elements vector. </p>
21893<dl class="params"><dt>Parameters</dt><dd>
21894 <table class="params">
21895 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
21896 </table>
21897 </dd>
21898</dl>
21899<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
21900
Kaizen8938bd32017-09-28 14:38:23 +010021901</div>
21902</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021903<a class="anchor" id="acc6fd1bcd12ef1141e15401a04d31187"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021904<div class="memitem">
21905<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021906 <table class="memname">
21907 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021908 <td class="memname">float32x2_t arm_compute::vinv_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021909 <td>(</td>
21910 <td class="paramtype">float32x2_t&#160;</td>
21911 <td class="paramname"><em>x</em></td><td>)</td>
21912 <td></td>
21913 </tr>
21914 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021915</div><div class="memdoc">
21916
21917<p>Calculate reciprocal. </p>
21918<dl class="params"><dt>Parameters</dt><dd>
21919 <table class="params">
21920 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
21921 </table>
21922 </dd>
21923</dl>
21924<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
21925
Anthony Barbierdbdab852017-06-23 15:42:00 +010021926</div>
21927</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021928<a class="anchor" id="a2e0f2412b4d1302272d1aeb85d21ab25"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021929<div class="memitem">
21930<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021931 <table class="memname">
21932 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021933 <td class="memname">float32x4_t arm_compute::vinvq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021934 <td>(</td>
21935 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021936 <td class="paramname"><em>x</em></td><td>)</td>
21937 <td></td>
21938 </tr>
21939 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000021940</div><div class="memdoc">
21941
21942<p>Calculate reciprocal. </p>
21943<dl class="params"><dt>Parameters</dt><dd>
21944 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021945 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000021946 </table>
21947 </dd>
21948</dl>
21949<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
21950
Kaizen8938bd32017-09-28 14:38:23 +010021951</div>
21952</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021953<a class="anchor" id="afc415e7fc5e633a0b85b08b2bba5b5cf"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021954<div class="memitem">
21955<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021956 <table class="memname">
21957 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021958 <td class="memname">float32x2_t arm_compute::vinvsqrt_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021959 <td>(</td>
21960 <td class="paramtype">float32x2_t&#160;</td>
21961 <td class="paramname"><em>x</em></td><td>)</td>
21962 <td></td>
21963 </tr>
21964 </table>
Kaizen8938bd32017-09-28 14:38:23 +010021965</div><div class="memdoc">
21966
21967<p>Calculate inverse square root. </p>
21968<dl class="params"><dt>Parameters</dt><dd>
21969 <table class="params">
21970 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
21971 </table>
21972 </dd>
21973</dl>
21974<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
21975
Kaizen8938bd32017-09-28 14:38:23 +010021976</div>
21977</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010021978<a class="anchor" id="a21e91de60863fd472ebb82d7dc349d8f"></a>
Kaizen8938bd32017-09-28 14:38:23 +010021979<div class="memitem">
21980<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010021981 <table class="memname">
21982 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010021983 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vinvsqrt_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010021984 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000021985 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010021986 <td class="paramname"><em>a</em>, </td>
21987 </tr>
21988 <tr>
21989 <td class="paramkey"></td>
21990 <td></td>
21991 <td class="paramtype">int&#160;</td>
21992 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21993 </tr>
21994 <tr>
21995 <td></td>
21996 <td>)</td>
21997 <td></td><td></td>
21998 </tr>
21999 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022000</div><div class="memdoc">
22001
22002<p>Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
22003<dl class="params"><dt>Parameters</dt><dd>
22004 <table class="params">
22005 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22006 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22007 </table>
22008 </dd>
22009</dl>
22010<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
22011
Anthony Barbier871448e2017-03-24 14:54:29 +000022012</div>
22013</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022014<a class="anchor" id="a85869673985438d7681e9c114bef6e25"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000022015<div class="memitem">
22016<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000022017 <table class="memname">
22018 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022019 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vinvsqrt_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022020 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022021 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022022 <td class="paramname"><em>a</em>, </td>
22023 </tr>
22024 <tr>
22025 <td class="paramkey"></td>
22026 <td></td>
22027 <td class="paramtype">int&#160;</td>
22028 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22029 </tr>
22030 <tr>
22031 <td></td>
22032 <td>)</td>
22033 <td></td><td></td>
22034 </tr>
22035 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022036</div><div class="memdoc">
22037
22038<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
22039<dl class="params"><dt>Parameters</dt><dd>
22040 <table class="params">
22041 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22042 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22043 </table>
22044 </dd>
22045</dl>
22046<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
22047
Anthony Barbierdbdab852017-06-23 15:42:00 +010022048</div>
22049</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022050<a class="anchor" id="ab8970d7aed07d8649f5e3088455948b8"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022051<div class="memitem">
22052<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022053 <table class="memname">
22054 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022055 <td class="memname">float32x4_t arm_compute::vinvsqrtq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000022056 <td>(</td>
22057 <td class="paramtype">float32x4_t&#160;</td>
22058 <td class="paramname"><em>x</em></td><td>)</td>
22059 <td></td>
22060 </tr>
22061 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000022062</div><div class="memdoc">
22063
22064<p>Calculate inverse square root. </p>
22065<dl class="params"><dt>Parameters</dt><dd>
22066 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022067 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000022068 </table>
22069 </dd>
22070</dl>
22071<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
22072
Kaizen8938bd32017-09-28 14:38:23 +010022073</div>
22074</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022075<a class="anchor" id="a14c3ee7e923e6b37c7b3dbf115cbeaf9"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022076<div class="memitem">
22077<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022078 <table class="memname">
22079 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022080 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vinvsqrtq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022081 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022082 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022083 <td class="paramname"><em>a</em>, </td>
22084 </tr>
22085 <tr>
22086 <td class="paramkey"></td>
22087 <td></td>
22088 <td class="paramtype">int&#160;</td>
22089 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22090 </tr>
22091 <tr>
22092 <td></td>
22093 <td>)</td>
22094 <td></td><td></td>
22095 </tr>
22096 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022097</div><div class="memdoc">
22098
22099<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
22100<dl class="params"><dt>Parameters</dt><dd>
22101 <table class="params">
22102 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22103 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22104 </table>
22105 </dd>
22106</dl>
22107<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
22108
Anthony Barbier871448e2017-03-24 14:54:29 +000022109</div>
22110</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022111<a class="anchor" id="a40884fce7e40ddc919782b553cd19c83"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000022112<div class="memitem">
22113<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000022114 <table class="memname">
22115 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022116 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vinvsqrtq_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000022117 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022118 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022119 <td class="paramname"><em>a</em>, </td>
22120 </tr>
22121 <tr>
22122 <td class="paramkey"></td>
22123 <td></td>
22124 <td class="paramtype">int&#160;</td>
22125 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22126 </tr>
22127 <tr>
22128 <td></td>
22129 <td>)</td>
22130 <td></td><td></td>
22131 </tr>
22132 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022133</div><div class="memdoc">
22134
22135<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
22136<dl class="params"><dt>Parameters</dt><dd>
22137 <table class="params">
22138 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22139 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22140 </table>
22141 </dd>
22142</dl>
22143<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
22144
Kaizen8938bd32017-09-28 14:38:23 +010022145</div>
22146</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022147<a class="anchor" id="afae4f82c3373c53f461bffef703b95ff"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022148<div class="memitem">
22149<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022150 <table class="memname">
22151 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022152 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vld1_dup_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022153 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022154 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022155 <td class="paramname"><em>addr</em></td><td>)</td>
22156 <td></td>
22157 </tr>
22158 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022159</div><div class="memdoc">
22160
22161<p>Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) </p>
22162<dl class="params"><dt>Parameters</dt><dd>
22163 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022164 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point scalar value to load</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010022165 </table>
22166 </dd>
22167</dl>
22168<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
22169
Anthony Barbierdbdab852017-06-23 15:42:00 +010022170</div>
22171</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022172<a class="anchor" id="ae6b66e4796e08d83db8fe89721e33d00"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022173<div class="memitem">
22174<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022175 <table class="memname">
22176 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022177 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vld1_dup_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022178 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022179 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022180 <td class="paramname"><em>addr</em></td><td>)</td>
22181 <td></td>
22182 </tr>
22183 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022184</div><div class="memdoc">
22185
22186<p>Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) </p>
22187<dl class="params"><dt>Parameters</dt><dd>
22188 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022189 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point scalar value to load</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022190 </table>
22191 </dd>
22192</dl>
22193<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
22194
Anthony Barbierf45d5a92018-01-24 16:23:15 +000022195<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00065">arm_compute::detail::load_matrix_row()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010022196
Anthony Barbierdbdab852017-06-23 15:42:00 +010022197</div>
22198</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022199<a class="anchor" id="a5be0b430ef4d7b6a8da81a09f08f63bc"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022200<div class="memitem">
22201<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022202 <table class="memname">
22203 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022204 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vld1_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022205 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022206 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022207 <td class="paramname"><em>addr</em></td><td>)</td>
22208 <td></td>
22209 </tr>
22210 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022211</div><div class="memdoc">
22212
22213<p>Load a single 16 bit fixed point vector from memory (4 elements) </p>
22214<dl class="params"><dt>Parameters</dt><dd>
22215 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022216 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vector to load</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022217 </table>
22218 </dd>
22219</dl>
22220<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
22221
Anthony Barbierdbdab852017-06-23 15:42:00 +010022222</div>
22223</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022224<a class="anchor" id="a36fd8142f6f27eb7a663f6d1c2dbd0ff"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022225<div class="memitem">
22226<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022227 <table class="memname">
22228 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022229 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vld1_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022230 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022231 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022232 <td class="paramname"><em>addr</em></td><td>)</td>
22233 <td></td>
22234 </tr>
22235 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022236</div><div class="memdoc">
22237
22238<p>Load a single 8 bit fixed point vector from memory (8 elements) </p>
22239<dl class="params"><dt>Parameters</dt><dd>
22240 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022241 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point vector to load</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022242 </table>
22243 </dd>
22244</dl>
22245<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
22246
Anthony Barbierf45d5a92018-01-24 16:23:15 +000022247<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00229">arm_compute::detail::convolve_3x3&lt; 1 &gt;()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010022248
Kaizen8938bd32017-09-28 14:38:23 +010022249</div>
22250</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022251<a class="anchor" id="a63c5b930195280ddd6716edd68651e3a"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022252<div class="memitem">
22253<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022254 <table class="memname">
22255 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022256 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vld1q_dup_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022257 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022258 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022259 <td class="paramname"><em>addr</em></td><td>)</td>
22260 <td></td>
22261 </tr>
22262 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022263</div><div class="memdoc">
22264
22265<p>Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) </p>
22266<dl class="params"><dt>Parameters</dt><dd>
22267 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022268 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point scalar value to load</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010022269 </table>
22270 </dd>
22271</dl>
22272<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
22273
Anthony Barbierdbdab852017-06-23 15:42:00 +010022274</div>
22275</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022276<a class="anchor" id="af6610f298ec273b9c83880a99fec49ac"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022277<div class="memitem">
22278<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022279 <table class="memname">
22280 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022281 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vld1q_dup_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022282 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022283 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022284 <td class="paramname"><em>addr</em></td><td>)</td>
22285 <td></td>
22286 </tr>
22287 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022288</div><div class="memdoc">
22289
22290<p>Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) </p>
22291<dl class="params"><dt>Parameters</dt><dd>
22292 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022293 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point scalar value to load</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022294 </table>
22295 </dd>
22296</dl>
22297<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
22298
Anthony Barbierdbdab852017-06-23 15:42:00 +010022299</div>
22300</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022301<a class="anchor" id="ac1fbd31b8bc9abfb5d951679c839ec8b"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022302<div class="memitem">
22303<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022304 <table class="memname">
22305 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022306 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vld1q_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022307 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022308 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022309 <td class="paramname"><em>addr</em></td><td>)</td>
22310 <td></td>
22311 </tr>
22312 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022313</div><div class="memdoc">
22314
22315<p>Load a single 16 bit fixed point vector from memory (8 elements) </p>
22316<dl class="params"><dt>Parameters</dt><dd>
22317 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022318 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vector to load</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022319 </table>
22320 </dd>
22321</dl>
22322<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
22323
Anthony Barbierdbdab852017-06-23 15:42:00 +010022324</div>
22325</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022326<a class="anchor" id="a6fe68b389512d3adff15f45fc061bebd"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022327<div class="memitem">
22328<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022329 <table class="memname">
22330 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022331 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vld1q_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022332 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022333 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022334 <td class="paramname"><em>addr</em></td><td>)</td>
22335 <td></td>
22336 </tr>
22337 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022338</div><div class="memdoc">
22339
22340<p>Load a single 8 bit fixed point vector from memory (16 elements) </p>
22341<dl class="params"><dt>Parameters</dt><dd>
22342 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022343 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point vector to load</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022344 </table>
22345 </dd>
22346</dl>
22347<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
22348
Anthony Barbierdbdab852017-06-23 15:42:00 +010022349</div>
22350</div>
Kaizen8938bd32017-09-28 14:38:23 +010022351<a class="anchor" id="a8bab58697ee7d7df117384a05d4e2f92"></a>
22352<div class="memitem">
22353<div class="memproto">
22354 <table class="memname">
22355 <tr>
22356 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
22357 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022358 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022359 <td class="paramname"><em>addr</em></td><td>)</td>
22360 <td></td>
22361 </tr>
22362 </table>
22363</div><div class="memdoc">
22364
22365<p>Load two 16 bit fixed point vectors from memory (8x2 elements) </p>
22366<dl class="params"><dt>Parameters</dt><dd>
22367 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022368 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vectors to load</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010022369 </table>
22370 </dd>
22371</dl>
22372<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vectors (8x2 elements) </dd></dl>
22373
22374</div>
22375</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022376<a class="anchor" id="a33add780af7e9251ccbb0e3c50c9cc11"></a>
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"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vlog_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022382 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022383 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022384 <td class="paramname"><em>a</em>, </td>
22385 </tr>
22386 <tr>
22387 <td class="paramkey"></td>
22388 <td></td>
22389 <td class="paramtype">int&#160;</td>
22390 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22391 </tr>
22392 <tr>
22393 <td></td>
22394 <td>)</td>
22395 <td></td><td></td>
22396 </tr>
22397 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022398</div><div class="memdoc">
22399
Kaizen8938bd32017-09-28 14:38:23 +010022400<p>Calculate logarithm fixed point 16 bit (4 elements) </p>
22401<dl class="params"><dt>Parameters</dt><dd>
22402 <table class="params">
22403 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22404 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22405 </table>
22406 </dd>
22407</dl>
22408<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
22409
Kaizen8938bd32017-09-28 14:38:23 +010022410</div>
22411</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022412<a class="anchor" id="a4ca0ad1dc517c2646d7da1583936867f"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022413<div class="memitem">
22414<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022415 <table class="memname">
22416 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022417 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vlog_qs8 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022418 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022419 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022420 <td class="paramname"><em>a</em>, </td>
22421 </tr>
22422 <tr>
22423 <td class="paramkey"></td>
22424 <td></td>
22425 <td class="paramtype">int&#160;</td>
22426 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22427 </tr>
22428 <tr>
22429 <td></td>
22430 <td>)</td>
22431 <td></td><td></td>
22432 </tr>
22433 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022434</div><div class="memdoc">
22435
22436<p>Calculate logarithm fixed point 8 bit (8 elements) </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022437<dl class="params"><dt>Parameters</dt><dd>
22438 <table class="params">
22439 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22440 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22441 </table>
22442 </dd>
22443</dl>
22444<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
22445
Anthony Barbierdbdab852017-06-23 15:42:00 +010022446</div>
22447</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022448<a class="anchor" id="a1d090b80b655e7f8fd8977bb93808b04"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022449<div class="memitem">
22450<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022451 <table class="memname">
22452 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022453 <td class="memname">float32x4_t arm_compute::vlogq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022454 <td>(</td>
22455 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000022456 <td class="paramname"><em>x</em></td><td>)</td>
22457 <td></td>
22458 </tr>
22459 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000022460</div><div class="memdoc">
22461
22462<p>Calculate logarithm. </p>
22463<dl class="params"><dt>Parameters</dt><dd>
22464 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022465 <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 +000022466 </table>
22467 </dd>
22468</dl>
22469<dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
22470
Anthony Barbier871448e2017-03-24 14:54:29 +000022471</div>
22472</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022473<a class="anchor" id="a941057e2a953c1c350edcf384ccb0c0d"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022474<div class="memitem">
22475<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022476 <table class="memname">
22477 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022478 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vlogq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022479 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022480 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022481 <td class="paramname"><em>a</em>, </td>
22482 </tr>
22483 <tr>
22484 <td class="paramkey"></td>
22485 <td></td>
22486 <td class="paramtype">int&#160;</td>
22487 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22488 </tr>
22489 <tr>
22490 <td></td>
22491 <td>)</td>
22492 <td></td><td></td>
22493 </tr>
22494 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022495</div><div class="memdoc">
22496
22497<p>Calculate logarithm fixed point 16 bit (8 elements) </p>
22498<dl class="params"><dt>Parameters</dt><dd>
22499 <table class="params">
22500 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22501 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22502 </table>
22503 </dd>
22504</dl>
22505<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
22506
Kaizen8938bd32017-09-28 14:38:23 +010022507</div>
22508</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022509<a class="anchor" id="a72f1d32348ca1824c4f914d648dd0d61"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000022510<div class="memitem">
22511<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000022512 <table class="memname">
22513 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022514 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vlogq_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000022515 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022516 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022517 <td class="paramname"><em>a</em>, </td>
22518 </tr>
22519 <tr>
22520 <td class="paramkey"></td>
22521 <td></td>
22522 <td class="paramtype">int&#160;</td>
22523 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22524 </tr>
22525 <tr>
22526 <td></td>
22527 <td>)</td>
22528 <td></td><td></td>
22529 </tr>
22530 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022531</div><div class="memdoc">
22532
22533<p>Calculate logarithm fixed point 16bit (16 elements) </p>
22534<dl class="params"><dt>Parameters</dt><dd>
22535 <table class="params">
22536 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22537 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22538 </table>
22539 </dd>
22540</dl>
22541<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
22542
Kaizen8938bd32017-09-28 14:38:23 +010022543</div>
22544</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022545<a class="anchor" id="ace593813d742d127296b09fa8ab3f85e"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022546<div class="memitem">
22547<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022548 <table class="memname">
22549 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022550 <td class="memname">float32x4x2_t arm_compute::vmax2q_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022551 <td>(</td>
22552 <td class="paramtype">float32x4x2_t&#160;</td>
22553 <td class="paramname"><em>a</em>, </td>
22554 </tr>
22555 <tr>
22556 <td class="paramkey"></td>
22557 <td></td>
22558 <td class="paramtype">float32x4x2_t&#160;</td>
22559 <td class="paramname"><em>b</em>&#160;</td>
22560 </tr>
22561 <tr>
22562 <td></td>
22563 <td>)</td>
22564 <td></td><td></td>
22565 </tr>
22566 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022567</div><div class="memdoc">
22568
22569<p>Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. </p>
22570<dl class="params"><dt>Parameters</dt><dd>
22571 <table class="params">
22572 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22573 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Float input vector</td></tr>
22574 </table>
22575 </dd>
22576</dl>
22577<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -&gt; float32x4x2 </dd></dl>
22578
Kaizen8938bd32017-09-28 14:38:23 +010022579</div>
22580</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022581<a class="anchor" id="afda7e56c8683e05da9787945eacf027f"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022582<div class="memitem">
22583<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022584 <table class="memname">
22585 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022586 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmax_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022587 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022588 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022589 <td class="paramname"><em>a</em>, </td>
22590 </tr>
22591 <tr>
22592 <td class="paramkey"></td>
22593 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022594 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022595 <td class="paramname"><em>b</em>&#160;</td>
22596 </tr>
22597 <tr>
22598 <td></td>
22599 <td>)</td>
22600 <td></td><td></td>
22601 </tr>
22602 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022603</div><div class="memdoc">
22604
22605<p>16 bit fixed point vector max (4 elements) </p>
22606<dl class="params"><dt>Parameters</dt><dd>
22607 <table class="params">
22608 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
22609 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
22610 </table>
22611 </dd>
22612</dl>
22613<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
22614
Anthony Barbierdbdab852017-06-23 15:42:00 +010022615</div>
22616</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022617<a class="anchor" id="a1e832672b8b717f5af77bc138c4e684d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022618<div class="memitem">
22619<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022620 <table class="memname">
22621 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022622 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmax_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022623 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022624 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022625 <td class="paramname"><em>a</em>, </td>
22626 </tr>
22627 <tr>
22628 <td class="paramkey"></td>
22629 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022630 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022631 <td class="paramname"><em>b</em>&#160;</td>
22632 </tr>
22633 <tr>
22634 <td></td>
22635 <td>)</td>
22636 <td></td><td></td>
22637 </tr>
22638 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022639</div><div class="memdoc">
22640
22641<p>8 bit fixed point vector max (8 elements) </p>
22642<dl class="params"><dt>Parameters</dt><dd>
22643 <table class="params">
22644 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
22645 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
22646 </table>
22647 </dd>
22648</dl>
22649<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
22650
Kaizen8938bd32017-09-28 14:38:23 +010022651</div>
22652</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022653<a class="anchor" id="a62b936c1f23af7aedbad5859a6f01c94"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022654<div class="memitem">
22655<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022656 <table class="memname">
22657 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022658 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmaxq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022659 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022660 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022661 <td class="paramname"><em>a</em>, </td>
22662 </tr>
22663 <tr>
22664 <td class="paramkey"></td>
22665 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022666 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022667 <td class="paramname"><em>b</em>&#160;</td>
22668 </tr>
22669 <tr>
22670 <td></td>
22671 <td>)</td>
22672 <td></td><td></td>
22673 </tr>
22674 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022675</div><div class="memdoc">
22676
22677<p>16 bit fixed point vector max (8 elements) </p>
22678<dl class="params"><dt>Parameters</dt><dd>
22679 <table class="params">
22680 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
22681 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
22682 </table>
22683 </dd>
22684</dl>
22685<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
22686
Anthony Barbierdbdab852017-06-23 15:42:00 +010022687</div>
22688</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022689<a class="anchor" id="a5ed31e134ad256235f1b237a5cf16b72"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022690<div class="memitem">
22691<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022692 <table class="memname">
22693 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022694 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vmaxq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022695 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022696 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022697 <td class="paramname"><em>a</em>, </td>
22698 </tr>
22699 <tr>
22700 <td class="paramkey"></td>
22701 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022702 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022703 <td class="paramname"><em>b</em>&#160;</td>
22704 </tr>
22705 <tr>
22706 <td></td>
22707 <td>)</td>
22708 <td></td><td></td>
22709 </tr>
22710 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022711</div><div class="memdoc">
22712
22713<p>8 bit fixed point vector max (16 elements) </p>
22714<dl class="params"><dt>Parameters</dt><dd>
22715 <table class="params">
22716 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
22717 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
22718 </table>
22719 </dd>
22720</dl>
22721<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
22722
Kaizen8938bd32017-09-28 14:38:23 +010022723</div>
22724</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022725<a class="anchor" id="adaa26cd2173ae553d357eddb015f4d69"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022726<div class="memitem">
22727<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022728 <table class="memname">
22729 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022730 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmin_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022731 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022732 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022733 <td class="paramname"><em>a</em>, </td>
22734 </tr>
22735 <tr>
22736 <td class="paramkey"></td>
22737 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022738 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022739 <td class="paramname"><em>b</em>&#160;</td>
22740 </tr>
22741 <tr>
22742 <td></td>
22743 <td>)</td>
22744 <td></td><td></td>
22745 </tr>
22746 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022747</div><div class="memdoc">
22748
22749<p>16 bit fixed point vector min (4 elements) </p>
22750<dl class="params"><dt>Parameters</dt><dd>
22751 <table class="params">
22752 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
22753 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
22754 </table>
22755 </dd>
22756</dl>
22757<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
22758
Anthony Barbierdbdab852017-06-23 15:42:00 +010022759</div>
22760</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022761<a class="anchor" id="a612e9bb7486e8cf609902d247047787c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022762<div class="memitem">
22763<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022764 <table class="memname">
22765 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022766 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmin_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022767 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022768 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022769 <td class="paramname"><em>a</em>, </td>
22770 </tr>
22771 <tr>
22772 <td class="paramkey"></td>
22773 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022774 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022775 <td class="paramname"><em>b</em>&#160;</td>
22776 </tr>
22777 <tr>
22778 <td></td>
22779 <td>)</td>
22780 <td></td><td></td>
22781 </tr>
22782 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022783</div><div class="memdoc">
22784
22785<p>8 bit fixed point vector min (8 elements) </p>
22786<dl class="params"><dt>Parameters</dt><dd>
22787 <table class="params">
22788 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
22789 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
22790 </table>
22791 </dd>
22792</dl>
22793<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
22794
Kaizen8938bd32017-09-28 14:38:23 +010022795</div>
22796</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022797<a class="anchor" id="ae25469583330f615fb9d3729c615cc63"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022798<div class="memitem">
22799<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022800 <table class="memname">
22801 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022802 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vminq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022803 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022804 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022805 <td class="paramname"><em>a</em>, </td>
22806 </tr>
22807 <tr>
22808 <td class="paramkey"></td>
22809 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022810 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022811 <td class="paramname"><em>b</em>&#160;</td>
22812 </tr>
22813 <tr>
22814 <td></td>
22815 <td>)</td>
22816 <td></td><td></td>
22817 </tr>
22818 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022819</div><div class="memdoc">
22820
22821<p>16 bit fixed point vector min (8 elements) </p>
22822<dl class="params"><dt>Parameters</dt><dd>
22823 <table class="params">
22824 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
22825 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
22826 </table>
22827 </dd>
22828</dl>
22829<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector min operation </dd></dl>
22830
Anthony Barbierdbdab852017-06-23 15:42:00 +010022831</div>
22832</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022833<a class="anchor" id="afb63c79277d00a478faf54a760f0f38c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022834<div class="memitem">
22835<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022836 <table class="memname">
22837 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022838 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vminq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022839 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022840 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022841 <td class="paramname"><em>a</em>, </td>
22842 </tr>
22843 <tr>
22844 <td class="paramkey"></td>
22845 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022846 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022847 <td class="paramname"><em>b</em>&#160;</td>
22848 </tr>
22849 <tr>
22850 <td></td>
22851 <td>)</td>
22852 <td></td><td></td>
22853 </tr>
22854 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022855</div><div class="memdoc">
22856
22857<p>8 bit fixed point vector min (16 elements) </p>
22858<dl class="params"><dt>Parameters</dt><dd>
22859 <table class="params">
22860 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
22861 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
22862 </table>
22863 </dd>
22864</dl>
22865<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector min operation </dd></dl>
22866
Kaizen8938bd32017-09-28 14:38:23 +010022867</div>
22868</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022869<a class="anchor" id="a65dd9a9ece185e072304bfb84f1da896"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022870<div class="memitem">
22871<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022872 <table class="memname">
22873 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022874 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmla_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022875 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022876 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022877 <td class="paramname"><em>a</em>, </td>
22878 </tr>
22879 <tr>
22880 <td class="paramkey"></td>
22881 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022882 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022883 <td class="paramname"><em>b</em>, </td>
22884 </tr>
22885 <tr>
22886 <td class="paramkey"></td>
22887 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022888 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022889 <td class="paramname"><em>c</em>, </td>
22890 </tr>
22891 <tr>
22892 <td class="paramkey"></td>
22893 <td></td>
22894 <td class="paramtype">int&#160;</td>
22895 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22896 </tr>
22897 <tr>
22898 <td></td>
22899 <td>)</td>
22900 <td></td><td></td>
22901 </tr>
22902 </table>
Kaizen8938bd32017-09-28 14:38:23 +010022903</div><div class="memdoc">
22904
22905<p>16 bit fixed point vector multiply-accumulate (4 elements). </p>
22906<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
22907<dl class="params"><dt>Parameters</dt><dd>
22908 <table class="params">
22909 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
22910 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
22911 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
22912 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22913 </table>
22914 </dd>
22915</dl>
22916<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
22917
Anthony Barbierdbdab852017-06-23 15:42:00 +010022918</div>
22919</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022920<a class="anchor" id="a9148ef4deac37685c5dca50713e1bc51"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022921<div class="memitem">
22922<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010022923 <table class="memname">
22924 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022925 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmla_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022926 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022927 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022928 <td class="paramname"><em>a</em>, </td>
22929 </tr>
22930 <tr>
22931 <td class="paramkey"></td>
22932 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022933 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022934 <td class="paramname"><em>b</em>, </td>
22935 </tr>
22936 <tr>
22937 <td class="paramkey"></td>
22938 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022939 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022940 <td class="paramname"><em>c</em>, </td>
22941 </tr>
22942 <tr>
22943 <td class="paramkey"></td>
22944 <td></td>
22945 <td class="paramtype">int&#160;</td>
22946 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22947 </tr>
22948 <tr>
22949 <td></td>
22950 <td>)</td>
22951 <td></td><td></td>
22952 </tr>
22953 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022954</div><div class="memdoc">
22955
22956<p>8 bit fixed point vector multiply-accumulate (8 elements). </p>
22957<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
22958<dl class="params"><dt>Parameters</dt><dd>
22959 <table class="params">
22960 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
22961 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
22962 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
22963 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22964 </table>
22965 </dd>
22966</dl>
22967<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
22968
Kaizen8938bd32017-09-28 14:38:23 +010022969</div>
22970</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010022971<a class="anchor" id="a163987dd7c9679354c24ad7d3a32fafb"></a>
Kaizen8938bd32017-09-28 14:38:23 +010022972<div class="memitem">
22973<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010022974 <table class="memname">
22975 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010022976 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vmlal_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010022977 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022978 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022979 <td class="paramname"><em>a</em>, </td>
22980 </tr>
22981 <tr>
22982 <td class="paramkey"></td>
22983 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022984 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022985 <td class="paramname"><em>b</em>, </td>
22986 </tr>
22987 <tr>
22988 <td class="paramkey"></td>
22989 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022990 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010022991 <td class="paramname"><em>c</em>, </td>
22992 </tr>
22993 <tr>
22994 <td class="paramkey"></td>
22995 <td></td>
22996 <td class="paramtype">int&#160;</td>
22997 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22998 </tr>
22999 <tr>
23000 <td></td>
23001 <td>)</td>
23002 <td></td><td></td>
23003 </tr>
23004 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023005</div><div class="memdoc">
23006
23007<p>16 bit fixed point vector multiply-accumulate long (4 elements). </p>
23008<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 32 bit fixed point vector <code>a</code> (a + b * c). 4 elements</p>
23009<dl class="params"><dt>Parameters</dt><dd>
23010 <table class="params">
23011 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23012 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23013 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23014 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23015 </table>
23016 </dd>
23017</dl>
23018<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
23019
Anthony Barbierdbdab852017-06-23 15:42:00 +010023020</div>
23021</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023022<a class="anchor" id="a1daaabdf809ac3cbfde6d95555faef78"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023023<div class="memitem">
23024<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023025 <table class="memname">
23026 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023027 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmlal_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023028 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023029 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023030 <td class="paramname"><em>a</em>, </td>
23031 </tr>
23032 <tr>
23033 <td class="paramkey"></td>
23034 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023035 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023036 <td class="paramname"><em>b</em>, </td>
23037 </tr>
23038 <tr>
23039 <td class="paramkey"></td>
23040 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023041 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023042 <td class="paramname"><em>c</em>, </td>
23043 </tr>
23044 <tr>
23045 <td class="paramkey"></td>
23046 <td></td>
23047 <td class="paramtype">int&#160;</td>
23048 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23049 </tr>
23050 <tr>
23051 <td></td>
23052 <td>)</td>
23053 <td></td><td></td>
23054 </tr>
23055 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023056</div><div class="memdoc">
23057
23058<p>8 bit fixed point vector multiply-accumulate long (8 elements). </p>
23059<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 16 bit fixed point vector <code>a</code> (a + b * c). 8 elements</p>
23060<dl class="params"><dt>Parameters</dt><dd>
23061 <table class="params">
23062 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23063 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23064 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23065 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23066 </table>
23067 </dd>
23068</dl>
23069<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
23070
Kaizen8938bd32017-09-28 14:38:23 +010023071</div>
23072</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023073<a class="anchor" id="aba8de9eaa10a7cb45c5aa603585d0e4c"></a>
23074<div class="memitem">
23075<div class="memproto">
23076<table class="mlabels">
23077 <tr>
23078 <td class="mlabels-left">
23079 <table class="memname">
23080 <tr>
23081 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> vmlaq_qasymm8 </td>
23082 <td>(</td>
23083 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a>&#160;</td>
23084 <td class="paramname"><em>vd</em>, </td>
23085 </tr>
23086 <tr>
23087 <td class="paramkey"></td>
23088 <td></td>
23089 <td class="paramtype">float32x4_t&#160;</td>
23090 <td class="paramname"><em>vs</em>, </td>
23091 </tr>
23092 <tr>
23093 <td class="paramkey"></td>
23094 <td></td>
23095 <td class="paramtype">float32x4_t&#160;</td>
23096 <td class="paramname"><em>vo</em>&#160;</td>
23097 </tr>
23098 <tr>
23099 <td></td>
23100 <td>)</td>
23101 <td></td><td></td>
23102 </tr>
23103 </table>
23104 </td>
23105 <td class="mlabels-right">
23106<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23107 </tr>
23108</table>
23109</div><div class="memdoc">
23110
23111<p>Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. </p>
23112<p>vd*vs + vo</p>
23113<dl class="params"><dt>Parameters</dt><dd>
23114 <table class="params">
23115 <tr><td class="paramdir">[in]</td><td class="paramname">vd</td><td>Input vector value in QASYMM8 format </td></tr>
23116 <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>
23117 <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>
23118 </table>
23119 </dd>
23120</dl>
23121<dl class="section return"><dt>Returns</dt><dd>A 16-component vector in QASYMM8 format, saturated to fit </dd></dl>
23122
23123<p>Definition at line <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_asymm_8inl_source.xhtml">NEAsymm.inl</a>.</p>
23124<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 -->
23125</div>
23126</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023127<a class="anchor" id="a5740aa7e90f78b876eab289c1f555bd6"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023128<div class="memitem">
23129<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023130 <table class="memname">
23131 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023132 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmlaq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023133 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023134 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023135 <td class="paramname"><em>a</em>, </td>
23136 </tr>
23137 <tr>
23138 <td class="paramkey"></td>
23139 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023140 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023141 <td class="paramname"><em>b</em>, </td>
23142 </tr>
23143 <tr>
23144 <td class="paramkey"></td>
23145 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023146 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023147 <td class="paramname"><em>c</em>, </td>
23148 </tr>
23149 <tr>
23150 <td class="paramkey"></td>
23151 <td></td>
23152 <td class="paramtype">int&#160;</td>
23153 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23154 </tr>
23155 <tr>
23156 <td></td>
23157 <td>)</td>
23158 <td></td><td></td>
23159 </tr>
23160 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023161</div><div class="memdoc">
23162
23163<p>16 bit fixed point vector multiply-accumulate (16 elements). </p>
23164<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
23165<dl class="params"><dt>Parameters</dt><dd>
23166 <table class="params">
23167 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23168 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23169 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23170 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23171 </table>
23172 </dd>
23173</dl>
23174<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
23175
Anthony Barbierdbdab852017-06-23 15:42:00 +010023176</div>
23177</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023178<a class="anchor" id="a8f7e4ade15cc5e0ff880a5cae0afe551"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023179<div class="memitem">
23180<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023181 <table class="memname">
23182 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023183 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vmlaq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023184 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023185 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023186 <td class="paramname"><em>a</em>, </td>
23187 </tr>
23188 <tr>
23189 <td class="paramkey"></td>
23190 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023191 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023192 <td class="paramname"><em>b</em>, </td>
23193 </tr>
23194 <tr>
23195 <td class="paramkey"></td>
23196 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023197 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023198 <td class="paramname"><em>c</em>, </td>
23199 </tr>
23200 <tr>
23201 <td class="paramkey"></td>
23202 <td></td>
23203 <td class="paramtype">int&#160;</td>
23204 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23205 </tr>
23206 <tr>
23207 <td></td>
23208 <td>)</td>
23209 <td></td><td></td>
23210 </tr>
23211 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023212</div><div class="memdoc">
23213
23214<p>8 bit fixed point vector multiply-accumulate (16 elements). </p>
23215<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
23216<dl class="params"><dt>Parameters</dt><dd>
23217 <table class="params">
23218 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23219 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23220 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23221 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23222 </table>
23223 </dd>
23224</dl>
23225<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
23226
Kaizen8938bd32017-09-28 14:38:23 +010023227</div>
23228</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023229<a class="anchor" id="aa8689c6e9627c58b6362ac9556b7b85f"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023230<div class="memitem">
23231<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023232 <table class="memname">
23233 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023234 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmul_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023235 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023236 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023237 <td class="paramname"><em>a</em>, </td>
23238 </tr>
23239 <tr>
23240 <td class="paramkey"></td>
23241 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023242 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023243 <td class="paramname"><em>b</em>, </td>
23244 </tr>
23245 <tr>
23246 <td class="paramkey"></td>
23247 <td></td>
23248 <td class="paramtype">int&#160;</td>
23249 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23250 </tr>
23251 <tr>
23252 <td></td>
23253 <td>)</td>
23254 <td></td><td></td>
23255 </tr>
23256 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023257</div><div class="memdoc">
23258
23259<p>16 bit fixed point vector multiply (4 elements) </p>
23260<dl class="params"><dt>Parameters</dt><dd>
23261 <table class="params">
23262 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23263 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23264 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23265 </table>
23266 </dd>
23267</dl>
23268<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
23269
Anthony Barbierdbdab852017-06-23 15:42:00 +010023270</div>
23271</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023272<a class="anchor" id="a87756fc439f4a516852d4c1c845006bd"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023273<div class="memitem">
23274<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023275 <table class="memname">
23276 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023277 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmul_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023278 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023279 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023280 <td class="paramname"><em>a</em>, </td>
23281 </tr>
23282 <tr>
23283 <td class="paramkey"></td>
23284 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023285 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023286 <td class="paramname"><em>b</em>, </td>
23287 </tr>
23288 <tr>
23289 <td class="paramkey"></td>
23290 <td></td>
23291 <td class="paramtype">int&#160;</td>
23292 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23293 </tr>
23294 <tr>
23295 <td></td>
23296 <td>)</td>
23297 <td></td><td></td>
23298 </tr>
23299 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023300</div><div class="memdoc">
23301
23302<p>8 bit fixed point vector multiply (8 elements) </p>
23303<dl class="params"><dt>Parameters</dt><dd>
23304 <table class="params">
23305 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23306 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23307 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23308 </table>
23309 </dd>
23310</dl>
23311<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
23312
Kaizen8938bd32017-09-28 14:38:23 +010023313</div>
23314</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023315<a class="anchor" id="a240b655cf59e7e8e07bd7873e9db0209"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023316<div class="memitem">
23317<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023318 <table class="memname">
23319 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023320 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vmull_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023321 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023322 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023323 <td class="paramname"><em>a</em>, </td>
23324 </tr>
23325 <tr>
23326 <td class="paramkey"></td>
23327 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023328 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023329 <td class="paramname"><em>b</em>, </td>
23330 </tr>
23331 <tr>
23332 <td class="paramkey"></td>
23333 <td></td>
23334 <td class="paramtype">int&#160;</td>
23335 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23336 </tr>
23337 <tr>
23338 <td></td>
23339 <td>)</td>
23340 <td></td><td></td>
23341 </tr>
23342 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023343</div><div class="memdoc">
23344
23345<p>16 bit fixed point vector long multiply (4 elements) </p>
23346<dl class="params"><dt>Parameters</dt><dd>
23347 <table class="params">
23348 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23349 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23350 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23351 </table>
23352 </dd>
23353</dl>
23354<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point long vector multiplication. </dd></dl>
23355
Anthony Barbierdbdab852017-06-23 15:42:00 +010023356</div>
23357</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023358<a class="anchor" id="adedd47ca832ff5041f2e3fb9cecda6e9"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023359<div class="memitem">
23360<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023361 <table class="memname">
23362 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023363 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmull_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023364 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023365 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023366 <td class="paramname"><em>a</em>, </td>
23367 </tr>
23368 <tr>
23369 <td class="paramkey"></td>
23370 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023371 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023372 <td class="paramname"><em>b</em>, </td>
23373 </tr>
23374 <tr>
23375 <td class="paramkey"></td>
23376 <td></td>
23377 <td class="paramtype">int&#160;</td>
23378 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23379 </tr>
23380 <tr>
23381 <td></td>
23382 <td>)</td>
23383 <td></td><td></td>
23384 </tr>
23385 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023386</div><div class="memdoc">
23387
23388<p>8 bit fixed point vector long multiply (8 elements) </p>
23389<dl class="params"><dt>Parameters</dt><dd>
23390 <table class="params">
23391 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23392 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23393 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23394 </table>
23395 </dd>
23396</dl>
23397<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point long vector multiplication. </dd></dl>
23398
Anthony Barbierf45d5a92018-01-24 16:23:15 +000023399<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00229">arm_compute::detail::convolve_3x3&lt; 1 &gt;()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010023400
Kaizen8938bd32017-09-28 14:38:23 +010023401</div>
23402</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023403<a class="anchor" id="aff021302b2661f42dffbb9fe4a6e3587"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023404<div class="memitem">
23405<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023406 <table class="memname">
23407 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023408 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmulq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023409 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023410 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023411 <td class="paramname"><em>a</em>, </td>
23412 </tr>
23413 <tr>
23414 <td class="paramkey"></td>
23415 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023416 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023417 <td class="paramname"><em>b</em>, </td>
23418 </tr>
23419 <tr>
23420 <td class="paramkey"></td>
23421 <td></td>
23422 <td class="paramtype">int&#160;</td>
23423 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23424 </tr>
23425 <tr>
23426 <td></td>
23427 <td>)</td>
23428 <td></td><td></td>
23429 </tr>
23430 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023431</div><div class="memdoc">
23432
23433<p>16 bit fixed point vector multiply (8 elements) </p>
23434<dl class="params"><dt>Parameters</dt><dd>
23435 <table class="params">
23436 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23437 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23438 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23439 </table>
23440 </dd>
23441</dl>
23442<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
23443
Anthony Barbierdbdab852017-06-23 15:42:00 +010023444</div>
23445</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023446<a class="anchor" id="a9b64880d62b60bb7237d0eb920c02087"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023447<div class="memitem">
23448<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023449 <table class="memname">
23450 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023451 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vmulq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023452 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023453 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023454 <td class="paramname"><em>a</em>, </td>
23455 </tr>
23456 <tr>
23457 <td class="paramkey"></td>
23458 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023459 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023460 <td class="paramname"><em>b</em>, </td>
23461 </tr>
23462 <tr>
23463 <td class="paramkey"></td>
23464 <td></td>
23465 <td class="paramtype">int&#160;</td>
23466 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23467 </tr>
23468 <tr>
23469 <td></td>
23470 <td>)</td>
23471 <td></td><td></td>
23472 </tr>
23473 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023474</div><div class="memdoc">
23475
23476<p>8 bit fixed point vector multiply (16 elements) </p>
23477<dl class="params"><dt>Parameters</dt><dd>
23478 <table class="params">
23479 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23480 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23481 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23482 </table>
23483 </dd>
23484</dl>
23485<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
23486
Anthony Barbierdbdab852017-06-23 15:42:00 +010023487</div>
23488</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023489<a class="anchor" id="a976c55d88da1b155b4a83130a2c25555"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023490<div class="memitem">
23491<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023492 <table class="memname">
23493 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023494 <td class="memname">int16x4_t arm_compute::vpaddl_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023495 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023496 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023497 <td class="paramname"><em>a</em></td><td>)</td>
23498 <td></td>
23499 </tr>
23500 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023501</div><div class="memdoc">
23502
23503<p>8 bit fixed point vector saturating pairwise add (8 elements) </p>
23504<dl class="params"><dt>Parameters</dt><dd>
23505 <table class="params">
23506 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
23507 </table>
23508 </dd>
23509</dl>
23510<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
23511
Kaizen8938bd32017-09-28 14:38:23 +010023512</div>
23513</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023514<a class="anchor" id="a45b269785fb545f072e5fd313b8b3648"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023515<div class="memitem">
23516<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023517 <table class="memname">
23518 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023519 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vpmax_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023520 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023521 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023522 <td class="paramname"><em>a</em>, </td>
23523 </tr>
23524 <tr>
23525 <td class="paramkey"></td>
23526 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023527 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023528 <td class="paramname"><em>b</em>&#160;</td>
23529 </tr>
23530 <tr>
23531 <td></td>
23532 <td>)</td>
23533 <td></td><td></td>
23534 </tr>
23535 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023536</div><div class="memdoc">
23537
23538<p>16 bit fixed point vector pairwise max (4 elements) </p>
23539<dl class="params"><dt>Parameters</dt><dd>
23540 <table class="params">
23541 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23542 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
23543 </table>
23544 </dd>
23545</dl>
23546<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise max operation </dd></dl>
23547
Anthony Barbierdbdab852017-06-23 15:42:00 +010023548</div>
23549</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023550<a class="anchor" id="ac253431834fc1859d112e62ce2a6f59c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023551<div class="memitem">
23552<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023553 <table class="memname">
23554 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023555 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vpmax_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023556 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023557 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023558 <td class="paramname"><em>a</em>, </td>
23559 </tr>
23560 <tr>
23561 <td class="paramkey"></td>
23562 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023563 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023564 <td class="paramname"><em>b</em>&#160;</td>
23565 </tr>
23566 <tr>
23567 <td></td>
23568 <td>)</td>
23569 <td></td><td></td>
23570 </tr>
23571 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023572</div><div class="memdoc">
23573
23574<p>8 bit fixed point vector pairwise max (8 elements) </p>
23575<dl class="params"><dt>Parameters</dt><dd>
23576 <table class="params">
23577 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23578 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
23579 </table>
23580 </dd>
23581</dl>
23582<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise max operation </dd></dl>
23583
Kaizen8938bd32017-09-28 14:38:23 +010023584</div>
23585</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023586<a class="anchor" id="a0ab85cdf2cf2a3c2724a1431cab2d93c"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023587<div class="memitem">
23588<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023589 <table class="memname">
23590 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023591 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vpmin_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023592 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023593 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023594 <td class="paramname"><em>a</em>, </td>
23595 </tr>
23596 <tr>
23597 <td class="paramkey"></td>
23598 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023599 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023600 <td class="paramname"><em>b</em>&#160;</td>
23601 </tr>
23602 <tr>
23603 <td></td>
23604 <td>)</td>
23605 <td></td><td></td>
23606 </tr>
23607 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023608</div><div class="memdoc">
23609
23610<p>16 bit fixed point vector pairwise min (4 elements) </p>
23611<dl class="params"><dt>Parameters</dt><dd>
23612 <table class="params">
23613 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23614 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
23615 </table>
23616 </dd>
23617</dl>
23618<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise min operation </dd></dl>
23619
Anthony Barbierdbdab852017-06-23 15:42:00 +010023620</div>
23621</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023622<a class="anchor" id="a9f6abd342d47b531832e11b1837ad0b4"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023623<div class="memitem">
23624<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023625 <table class="memname">
23626 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023627 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vpmin_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023628 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023629 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023630 <td class="paramname"><em>a</em>, </td>
23631 </tr>
23632 <tr>
23633 <td class="paramkey"></td>
23634 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023635 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023636 <td class="paramname"><em>b</em>&#160;</td>
23637 </tr>
23638 <tr>
23639 <td></td>
23640 <td>)</td>
23641 <td></td><td></td>
23642 </tr>
23643 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023644</div><div class="memdoc">
23645
23646<p>8 bit fixed point vector pairwise min (8 elements) </p>
23647<dl class="params"><dt>Parameters</dt><dd>
23648 <table class="params">
23649 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23650 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
23651 </table>
23652 </dd>
23653</dl>
23654<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise min operation </dd></dl>
23655
Anthony Barbierdbdab852017-06-23 15:42:00 +010023656</div>
23657</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023658<a class="anchor" id="aa6465367a67af2bae4ca46750231dae0"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023659<div class="memitem">
23660<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023661 <table class="memname">
23662 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023663 <td class="memname">float32x4_t arm_compute::vpowq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023664 <td>(</td>
23665 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000023666 <td class="paramname"><em>val</em>, </td>
23667 </tr>
23668 <tr>
23669 <td class="paramkey"></td>
23670 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023671 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000023672 <td class="paramname"><em>n</em>&#160;</td>
23673 </tr>
23674 <tr>
23675 <td></td>
23676 <td>)</td>
23677 <td></td><td></td>
23678 </tr>
23679 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000023680</div><div class="memdoc">
23681
23682<p>Calculate n power of a number. </p>
23683<p>pow(x,n) = e^(n*log(x))</p>
23684<dl class="params"><dt>Parameters</dt><dd>
23685 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023686 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
23687 <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 +000023688 </table>
23689 </dd>
23690</dl>
23691<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
23692
Kaizen8938bd32017-09-28 14:38:23 +010023693</div>
23694</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023695<a class="anchor" id="a0d7dfd9d3e62db1e218a965839901b63"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023696<div class="memitem">
23697<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023698 <table class="memname">
23699 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023700 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqabs_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023701 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023702 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023703 <td class="paramname"><em>a</em></td><td>)</td>
23704 <td></td>
23705 </tr>
23706 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023707</div><div class="memdoc">
23708
23709<p>Saturating absolute value of 16 bit fixed point vector (4 elements) </p>
23710<dl class="params"><dt>Parameters</dt><dd>
23711 <table class="params">
23712 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>4 bit fixed point input vector</td></tr>
23713 </table>
23714 </dd>
23715</dl>
23716<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
23717
Anthony Barbier871448e2017-03-24 14:54:29 +000023718</div>
23719</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023720<a class="anchor" id="a16e9223adc0503cd621862bc579ac8fd"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000023721<div class="memitem">
23722<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000023723 <table class="memname">
23724 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023725 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqabs_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000023726 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023727 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023728 <td class="paramname"><em>a</em></td><td>)</td>
23729 <td></td>
23730 </tr>
23731 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023732</div><div class="memdoc">
23733
23734<p>Saturating absolute value of 8 bit fixed point vector (8 elements) </p>
23735<dl class="params"><dt>Parameters</dt><dd>
23736 <table class="params">
23737 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
23738 </table>
23739 </dd>
23740</dl>
23741<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
23742
Kaizen8938bd32017-09-28 14:38:23 +010023743</div>
23744</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023745<a class="anchor" id="af6a8c22ef994a8035e92882ac525f416"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023746<div class="memitem">
23747<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023748 <table class="memname">
23749 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023750 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqabsq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023751 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023752 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010023753 <td class="paramname"><em>a</em></td><td>)</td>
23754 <td></td>
23755 </tr>
23756 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023757</div><div class="memdoc">
23758
23759<p>Saturating absolute value of 16 bit fixed point vector (8 elements) </p>
23760<dl class="params"><dt>Parameters</dt><dd>
23761 <table class="params">
23762 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
23763 </table>
23764 </dd>
23765</dl>
23766<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
23767
Anthony Barbierdbdab852017-06-23 15:42:00 +010023768</div>
23769</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023770<a class="anchor" id="abe1d2a5130d2aaf0df28a90a45f8968d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023771<div class="memitem">
23772<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023773 <table class="memname">
23774 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023775 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqabsq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023776 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023777 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023778 <td class="paramname"><em>a</em></td><td>)</td>
23779 <td></td>
23780 </tr>
23781 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023782</div><div class="memdoc">
23783
23784<p>Saturating absolute value of 8 bit fixed point vector (16 elements) </p>
23785<dl class="params"><dt>Parameters</dt><dd>
23786 <table class="params">
23787 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
23788 </table>
23789 </dd>
23790</dl>
23791<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
23792
Anthony Barbierdbdab852017-06-23 15:42:00 +010023793</div>
23794</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023795<a class="anchor" id="a7b9af77579156d434eb576314495e313"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023796<div class="memitem">
23797<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023798 <table class="memname">
23799 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023800 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqadd_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023801 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023802 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023803 <td class="paramname"><em>a</em>, </td>
23804 </tr>
23805 <tr>
23806 <td class="paramkey"></td>
23807 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023808 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023809 <td class="paramname"><em>b</em>&#160;</td>
23810 </tr>
23811 <tr>
23812 <td></td>
23813 <td>)</td>
23814 <td></td><td></td>
23815 </tr>
23816 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023817</div><div class="memdoc">
23818
23819<p>16 bit fixed point vector saturating add (4 elements) </p>
23820<dl class="params"><dt>Parameters</dt><dd>
23821 <table class="params">
23822 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23823 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
23824 </table>
23825 </dd>
23826</dl>
23827<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
23828
Kaizen8938bd32017-09-28 14:38:23 +010023829</div>
23830</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023831<a class="anchor" id="a53c990687ed6af989bcf4920b06c5092"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023832<div class="memitem">
23833<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023834 <table class="memname">
23835 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023836 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqadd_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023837 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023838 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023839 <td class="paramname"><em>a</em>, </td>
23840 </tr>
23841 <tr>
23842 <td class="paramkey"></td>
23843 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023844 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023845 <td class="paramname"><em>b</em>&#160;</td>
23846 </tr>
23847 <tr>
23848 <td></td>
23849 <td>)</td>
23850 <td></td><td></td>
23851 </tr>
23852 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023853</div><div class="memdoc">
23854
23855<p>8 bit fixed point vector saturating add (8 elements) </p>
23856<dl class="params"><dt>Parameters</dt><dd>
23857 <table class="params">
23858 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23859 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
23860 </table>
23861 </dd>
23862</dl>
23863<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
23864
Anthony Barbierdbdab852017-06-23 15:42:00 +010023865</div>
23866</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023867<a class="anchor" id="ac211d3f3dc485752995088353ae380b5"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023868<div class="memitem">
23869<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023870 <table class="memname">
23871 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023872 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqaddq_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023873 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023874 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023875 <td class="paramname"><em>a</em>, </td>
23876 </tr>
23877 <tr>
23878 <td class="paramkey"></td>
23879 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023880 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023881 <td class="paramname"><em>b</em>&#160;</td>
23882 </tr>
23883 <tr>
23884 <td></td>
23885 <td>)</td>
23886 <td></td><td></td>
23887 </tr>
23888 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023889</div><div class="memdoc">
23890
23891<p>16 bit fixed point vector saturating add (8 elements) </p>
23892<dl class="params"><dt>Parameters</dt><dd>
23893 <table class="params">
23894 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23895 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
23896 </table>
23897 </dd>
23898</dl>
23899<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
23900
Kaizen8938bd32017-09-28 14:38:23 +010023901</div>
23902</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023903<a class="anchor" id="aaa057569eb92497b2c8c973b3318adb8"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023904<div class="memitem">
23905<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023906 <table class="memname">
23907 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023908 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqaddq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023909 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023910 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023911 <td class="paramname"><em>a</em>, </td>
23912 </tr>
23913 <tr>
23914 <td class="paramkey"></td>
23915 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023916 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023917 <td class="paramname"><em>b</em>&#160;</td>
23918 </tr>
23919 <tr>
23920 <td></td>
23921 <td>)</td>
23922 <td></td><td></td>
23923 </tr>
23924 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023925</div><div class="memdoc">
23926
23927<p>8 bit fixed point vector saturating add (16 elements) </p>
23928<dl class="params"><dt>Parameters</dt><dd>
23929 <table class="params">
23930 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23931 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
23932 </table>
23933 </dd>
23934</dl>
23935<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
23936
Kaizen8938bd32017-09-28 14:38:23 +010023937</div>
23938</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010023939<a class="anchor" id="ad6a5927c42259aa1e8e8acef8f42b2be"></a>
Kaizen8938bd32017-09-28 14:38:23 +010023940<div class="memitem">
23941<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023942 <table class="memname">
23943 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010023944 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqcvt_qs16_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010023945 <td>(</td>
23946 <td class="paramtype">const float32x4_t&#160;</td>
23947 <td class="paramname"><em>a</em>, </td>
23948 </tr>
23949 <tr>
23950 <td class="paramkey"></td>
23951 <td></td>
23952 <td class="paramtype">int&#160;</td>
23953 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23954 </tr>
23955 <tr>
23956 <td></td>
23957 <td>)</td>
23958 <td></td><td></td>
23959 </tr>
23960 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023961</div><div class="memdoc">
23962
23963<p>Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. </p>
23964<dl class="params"><dt>Parameters</dt><dd>
23965 <table class="params">
23966 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
23967 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23968 </table>
23969 </dd>
23970</dl>
23971<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
23972
Kaizen8938bd32017-09-28 14:38:23 +010023973</div>
23974</div>
23975<a class="anchor" id="a371a36182341de1fa885d16e8780302f"></a>
23976<div class="memitem">
23977<div class="memproto">
23978 <table class="memname">
23979 <tr>
23980 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqcvt_qs8_f32 </td>
23981 <td>(</td>
23982 <td class="paramtype">const float32x4x2_t&#160;</td>
23983 <td class="paramname"><em>a</em>, </td>
23984 </tr>
23985 <tr>
23986 <td class="paramkey"></td>
23987 <td></td>
23988 <td class="paramtype">int&#160;</td>
23989 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23990 </tr>
23991 <tr>
23992 <td></td>
23993 <td>)</td>
23994 <td></td><td></td>
23995 </tr>
23996 </table>
23997</div><div class="memdoc">
23998
23999<p>Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. </p>
24000<dl class="params"><dt>Parameters</dt><dd>
24001 <table class="params">
24002 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
24003 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24004 </table>
24005 </dd>
24006</dl>
24007<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point. The result is saturated in case of overflow </dd></dl>
24008
24009</div>
24010</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024011<a class="anchor" id="ab65a962155ae0435b66bfa12328e5edf"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024012<div class="memitem">
24013<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024014 <table class="memname">
24015 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024016 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqcvtq_qs16_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024017 <td>(</td>
24018 <td class="paramtype">const float32x4x2_t &amp;&#160;</td>
24019 <td class="paramname"><em>a</em>, </td>
24020 </tr>
24021 <tr>
24022 <td class="paramkey"></td>
24023 <td></td>
24024 <td class="paramtype">int&#160;</td>
24025 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24026 </tr>
24027 <tr>
24028 <td></td>
24029 <td>)</td>
24030 <td></td><td></td>
24031 </tr>
24032 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024033</div><div class="memdoc">
24034
24035<p>Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </p>
24036<dl class="params"><dt>Parameters</dt><dd>
24037 <table class="params">
24038 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
24039 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24040 </table>
24041 </dd>
24042</dl>
24043<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
24044
Kaizen8938bd32017-09-28 14:38:23 +010024045</div>
24046</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024047<a class="anchor" id="a8363f66cbb4859d6bff88722def231bb"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024048<div class="memitem">
24049<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024050 <table class="memname">
24051 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024052 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqcvtq_qs8_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024053 <td>(</td>
24054 <td class="paramtype">const float32x4x4_t &amp;&#160;</td>
24055 <td class="paramname"><em>a</em>, </td>
24056 </tr>
24057 <tr>
24058 <td class="paramkey"></td>
24059 <td></td>
24060 <td class="paramtype">int&#160;</td>
24061 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24062 </tr>
24063 <tr>
24064 <td></td>
24065 <td>)</td>
24066 <td></td><td></td>
24067 </tr>
24068 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024069</div><div class="memdoc">
24070
24071<p>Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </p>
24072<dl class="params"><dt>Parameters</dt><dd>
24073 <table class="params">
24074 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
24075 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24076 </table>
24077 </dd>
24078</dl>
24079<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point. The result is saturated in case of overflow </dd></dl>
24080
Kaizen8938bd32017-09-28 14:38:23 +010024081</div>
24082</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024083<a class="anchor" id="a8aec993498bbb804d3411179eaae5ce8"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024084<div class="memitem">
24085<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024086 <table class="memname">
24087 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024088 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqexp_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024089 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024090 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024091 <td class="paramname"><em>a</em>, </td>
24092 </tr>
24093 <tr>
24094 <td class="paramkey"></td>
24095 <td></td>
24096 <td class="paramtype">int&#160;</td>
24097 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24098 </tr>
24099 <tr>
24100 <td></td>
24101 <td>)</td>
24102 <td></td><td></td>
24103 </tr>
24104 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024105</div><div class="memdoc">
24106
24107<p>Calculate saturating exponential fixed point 16 bit (4 elements) </p>
24108<dl class="params"><dt>Parameters</dt><dd>
24109 <table class="params">
24110 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24111 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24112 </table>
24113 </dd>
24114</dl>
24115<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
24116
Anthony Barbierdbdab852017-06-23 15:42:00 +010024117</div>
24118</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024119<a class="anchor" id="a796dc111009ab985d6bac8664743b56e"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024120<div class="memitem">
24121<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024122 <table class="memname">
24123 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024124 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqexp_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024125 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024126 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024127 <td class="paramname"><em>a</em>, </td>
24128 </tr>
24129 <tr>
24130 <td class="paramkey"></td>
24131 <td></td>
24132 <td class="paramtype">int&#160;</td>
24133 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24134 </tr>
24135 <tr>
24136 <td></td>
24137 <td>)</td>
24138 <td></td><td></td>
24139 </tr>
24140 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024141</div><div class="memdoc">
24142
24143<p>Calculate saturating exponential fixed point 8bit (8 elements) </p>
24144<dl class="params"><dt>Parameters</dt><dd>
24145 <table class="params">
24146 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24147 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24148 </table>
24149 </dd>
24150</dl>
24151<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
24152
Anthony Barbierdbdab852017-06-23 15:42:00 +010024153</div>
24154</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024155<a class="anchor" id="acb7e4a856a35070e51f402767916fbb5"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024156<div class="memitem">
24157<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024158 <table class="memname">
24159 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024160 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqexpq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024161 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024162 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024163 <td class="paramname"><em>a</em>, </td>
24164 </tr>
24165 <tr>
24166 <td class="paramkey"></td>
24167 <td></td>
24168 <td class="paramtype">int&#160;</td>
24169 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24170 </tr>
24171 <tr>
24172 <td></td>
24173 <td>)</td>
24174 <td></td><td></td>
24175 </tr>
24176 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024177</div><div class="memdoc">
24178
24179<p>Calculate saturating exponential fixed point 16 bit (8 elements) </p>
24180<dl class="params"><dt>Parameters</dt><dd>
24181 <table class="params">
24182 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24183 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24184 </table>
24185 </dd>
24186</dl>
24187<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
24188
Kaizen8938bd32017-09-28 14:38:23 +010024189</div>
24190</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024191<a class="anchor" id="a7274ff184c5e2bf7fd8159ee7905fb7c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024192<div class="memitem">
24193<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024194 <table class="memname">
24195 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024196 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqexpq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024197 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024198 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024199 <td class="paramname"><em>a</em>, </td>
24200 </tr>
24201 <tr>
24202 <td class="paramkey"></td>
24203 <td></td>
24204 <td class="paramtype">int&#160;</td>
24205 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24206 </tr>
24207 <tr>
24208 <td></td>
24209 <td>)</td>
24210 <td></td><td></td>
24211 </tr>
24212 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024213</div><div class="memdoc">
24214
24215<p>Calculate saturating exponential fixed point 8bit (16 elements) </p>
24216<dl class="params"><dt>Parameters</dt><dd>
24217 <table class="params">
24218 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24219 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24220 </table>
24221 </dd>
24222</dl>
24223<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
24224
Kaizen8938bd32017-09-28 14:38:23 +010024225</div>
24226</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024227<a class="anchor" id="ad1c8116664a899f8756dcfe1c9acbea2"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024228<div class="memitem">
24229<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024230 <table class="memname">
24231 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024232 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqinvsqrt_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024233 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024234 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024235 <td class="paramname"><em>a</em>, </td>
24236 </tr>
24237 <tr>
24238 <td class="paramkey"></td>
24239 <td></td>
24240 <td class="paramtype">int&#160;</td>
24241 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24242 </tr>
24243 <tr>
24244 <td></td>
24245 <td>)</td>
24246 <td></td><td></td>
24247 </tr>
24248 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024249</div><div class="memdoc">
24250
24251<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
24252<dl class="params"><dt>Parameters</dt><dd>
24253 <table class="params">
24254 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24255 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24256 </table>
24257 </dd>
24258</dl>
24259<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
24260
Anthony Barbierdbdab852017-06-23 15:42:00 +010024261</div>
24262</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024263<a class="anchor" id="afcdeee5eb58f1d043bf16fada4d1bbc5"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024264<div class="memitem">
24265<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024266 <table class="memname">
24267 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024268 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqinvsqrt_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024269 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024270 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024271 <td class="paramname"><em>a</em>, </td>
24272 </tr>
24273 <tr>
24274 <td class="paramkey"></td>
24275 <td></td>
24276 <td class="paramtype">int&#160;</td>
24277 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24278 </tr>
24279 <tr>
24280 <td></td>
24281 <td>)</td>
24282 <td></td><td></td>
24283 </tr>
24284 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024285</div><div class="memdoc">
24286
24287<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
24288<dl class="params"><dt>Parameters</dt><dd>
24289 <table class="params">
24290 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24291 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24292 </table>
24293 </dd>
24294</dl>
24295<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
24296
Anthony Barbierdbdab852017-06-23 15:42:00 +010024297</div>
24298</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024299<a class="anchor" id="a9c366f52098f4262c6233f46f565d118"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024300<div class="memitem">
24301<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024302 <table class="memname">
24303 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024304 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqinvsqrtq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024305 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024306 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024307 <td class="paramname"><em>a</em>, </td>
24308 </tr>
24309 <tr>
24310 <td class="paramkey"></td>
24311 <td></td>
24312 <td class="paramtype">int&#160;</td>
24313 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24314 </tr>
24315 <tr>
24316 <td></td>
24317 <td>)</td>
24318 <td></td><td></td>
24319 </tr>
24320 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024321</div><div class="memdoc">
24322
24323<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) </p>
24324<dl class="params"><dt>Parameters</dt><dd>
24325 <table class="params">
24326 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24327 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24328 </table>
24329 </dd>
24330</dl>
24331<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
24332
Kaizen8938bd32017-09-28 14:38:23 +010024333</div>
24334</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024335<a class="anchor" id="a097eca47afb2688ec59dc72cd84d442d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024336<div class="memitem">
24337<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024338 <table class="memname">
24339 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024340 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqinvsqrtq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024341 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024342 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024343 <td class="paramname"><em>a</em>, </td>
24344 </tr>
24345 <tr>
24346 <td class="paramkey"></td>
24347 <td></td>
24348 <td class="paramtype">int&#160;</td>
24349 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24350 </tr>
24351 <tr>
24352 <td></td>
24353 <td>)</td>
24354 <td></td><td></td>
24355 </tr>
24356 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024357</div><div class="memdoc">
24358
24359<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
24360<dl class="params"><dt>Parameters</dt><dd>
24361 <table class="params">
24362 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24363 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24364 </table>
24365 </dd>
24366</dl>
24367<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
24368
Kaizen8938bd32017-09-28 14:38:23 +010024369</div>
24370</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024371<a class="anchor" id="a82aa0004d0ec3a36047eb9aa8145ae58"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024372<div class="memitem">
24373<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024374 <table class="memname">
24375 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024376 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmla_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024377 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024378 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024379 <td class="paramname"><em>a</em>, </td>
24380 </tr>
24381 <tr>
24382 <td class="paramkey"></td>
24383 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024384 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024385 <td class="paramname"><em>b</em>, </td>
24386 </tr>
24387 <tr>
24388 <td class="paramkey"></td>
24389 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024390 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024391 <td class="paramname"><em>c</em>, </td>
24392 </tr>
24393 <tr>
24394 <td class="paramkey"></td>
24395 <td></td>
24396 <td class="paramtype">int&#160;</td>
24397 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24398 </tr>
24399 <tr>
24400 <td></td>
24401 <td>)</td>
24402 <td></td><td></td>
24403 </tr>
24404 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024405</div><div class="memdoc">
24406
24407<p>16 bit fixed point vector saturating multiply-accumulate (4 elements). </p>
24408<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
24409<dl class="params"><dt>Parameters</dt><dd>
24410 <table class="params">
24411 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
24412 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
24413 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
24414 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24415 </table>
24416 </dd>
24417</dl>
24418<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
24419
Anthony Barbierdbdab852017-06-23 15:42:00 +010024420</div>
24421</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024422<a class="anchor" id="a1ef65dbc253ba9bdf9878d587134948d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024423<div class="memitem">
24424<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024425 <table class="memname">
24426 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024427 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmla_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024428 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024429 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024430 <td class="paramname"><em>a</em>, </td>
24431 </tr>
24432 <tr>
24433 <td class="paramkey"></td>
24434 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024435 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024436 <td class="paramname"><em>b</em>, </td>
24437 </tr>
24438 <tr>
24439 <td class="paramkey"></td>
24440 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024441 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024442 <td class="paramname"><em>c</em>, </td>
24443 </tr>
24444 <tr>
24445 <td class="paramkey"></td>
24446 <td></td>
24447 <td class="paramtype">int&#160;</td>
24448 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24449 </tr>
24450 <tr>
24451 <td></td>
24452 <td>)</td>
24453 <td></td><td></td>
24454 </tr>
24455 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024456</div><div class="memdoc">
24457
24458<p>8 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
24459<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
24460<dl class="params"><dt>Parameters</dt><dd>
24461 <table class="params">
24462 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
24463 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
24464 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
24465 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24466 </table>
24467 </dd>
24468</dl>
24469<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
24470
Kaizen8938bd32017-09-28 14:38:23 +010024471</div>
24472</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024473<a class="anchor" id="a3821183742f08737679437e657400fd2"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024474<div class="memitem">
24475<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024476 <table class="memname">
24477 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024478 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vqmlal_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024479 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024480 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024481 <td class="paramname"><em>a</em>, </td>
24482 </tr>
24483 <tr>
24484 <td class="paramkey"></td>
24485 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024486 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024487 <td class="paramname"><em>b</em>, </td>
24488 </tr>
24489 <tr>
24490 <td class="paramkey"></td>
24491 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024492 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024493 <td class="paramname"><em>c</em>, </td>
24494 </tr>
24495 <tr>
24496 <td class="paramkey"></td>
24497 <td></td>
24498 <td class="paramtype">int&#160;</td>
24499 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24500 </tr>
24501 <tr>
24502 <td></td>
24503 <td>)</td>
24504 <td></td><td></td>
24505 </tr>
24506 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024507</div><div class="memdoc">
24508
24509<p>16 bit fixed point vector saturating multiply-accumulate long (4 elements). </p>
24510<p>The saturation is performed on the 16 bit fixed point output vector. This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 32 bit fixed point vector <code>a</code> (a + b * c). 4 elements</p>
24511<dl class="params"><dt>Parameters</dt><dd>
24512 <table class="params">
24513 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input vector where the result of multiplication must be added to </td></tr>
24514 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
24515 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
24516 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24517 </table>
24518 </dd>
24519</dl>
24520<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
24521
Anthony Barbierdbdab852017-06-23 15:42:00 +010024522</div>
24523</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024524<a class="anchor" id="a2e9b5e17434f8beaf1010d256b4b41c2"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024525<div class="memitem">
24526<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024527 <table class="memname">
24528 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024529 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqmlal_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024530 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024531 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024532 <td class="paramname"><em>a</em>, </td>
24533 </tr>
24534 <tr>
24535 <td class="paramkey"></td>
24536 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024537 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024538 <td class="paramname"><em>b</em>, </td>
24539 </tr>
24540 <tr>
24541 <td class="paramkey"></td>
24542 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024543 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024544 <td class="paramname"><em>c</em>, </td>
24545 </tr>
24546 <tr>
24547 <td class="paramkey"></td>
24548 <td></td>
24549 <td class="paramtype">int&#160;</td>
24550 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24551 </tr>
24552 <tr>
24553 <td></td>
24554 <td>)</td>
24555 <td></td><td></td>
24556 </tr>
24557 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024558</div><div class="memdoc">
24559
24560<p>8 bit fixed point vector saturating multiply-accumulate long (8 elements). </p>
24561<p>The saturation is performed on the 16 bit fixed point output vector. This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 16 bit fixed point vector <code>a</code> (a + b * c). 8 elements</p>
24562<dl class="params"><dt>Parameters</dt><dd>
24563 <table class="params">
24564 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
24565 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
24566 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
24567 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24568 </table>
24569 </dd>
24570</dl>
24571<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
24572
Anthony Barbierf45d5a92018-01-24 16:23:15 +000024573<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00229">arm_compute::detail::convolve_3x3&lt; 1 &gt;()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010024574
Kaizen8938bd32017-09-28 14:38:23 +010024575</div>
24576</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024577<a class="anchor" id="a7f95e15953c87e04b31dd4fb508ba661"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024578<div class="memitem">
24579<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024580 <table class="memname">
24581 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024582 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqmlaq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024583 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024584 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024585 <td class="paramname"><em>a</em>, </td>
24586 </tr>
24587 <tr>
24588 <td class="paramkey"></td>
24589 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024590 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024591 <td class="paramname"><em>b</em>, </td>
24592 </tr>
24593 <tr>
24594 <td class="paramkey"></td>
24595 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024596 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024597 <td class="paramname"><em>c</em>, </td>
24598 </tr>
24599 <tr>
24600 <td class="paramkey"></td>
24601 <td></td>
24602 <td class="paramtype">int&#160;</td>
24603 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24604 </tr>
24605 <tr>
24606 <td></td>
24607 <td>)</td>
24608 <td></td><td></td>
24609 </tr>
24610 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024611</div><div class="memdoc">
24612
24613<p>16 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
24614<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
24615<dl class="params"><dt>Parameters</dt><dd>
24616 <table class="params">
24617 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
24618 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
24619 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
24620 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24621 </table>
24622 </dd>
24623</dl>
24624<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
24625
Anthony Barbierdbdab852017-06-23 15:42:00 +010024626</div>
24627</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024628<a class="anchor" id="a9b87f278c2405ed16a39dd3c727ed176"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024629<div class="memitem">
24630<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024631 <table class="memname">
24632 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024633 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqmlaq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024634 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024635 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024636 <td class="paramname"><em>a</em>, </td>
24637 </tr>
24638 <tr>
24639 <td class="paramkey"></td>
24640 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024641 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024642 <td class="paramname"><em>b</em>, </td>
24643 </tr>
24644 <tr>
24645 <td class="paramkey"></td>
24646 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024647 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024648 <td class="paramname"><em>c</em>, </td>
24649 </tr>
24650 <tr>
24651 <td class="paramkey"></td>
24652 <td></td>
24653 <td class="paramtype">int&#160;</td>
24654 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24655 </tr>
24656 <tr>
24657 <td></td>
24658 <td>)</td>
24659 <td></td><td></td>
24660 </tr>
24661 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024662</div><div class="memdoc">
24663
24664<p>8 bit fixed point vector saturating multiply-accumulate (16 elements). </p>
24665<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
24666<dl class="params"><dt>Parameters</dt><dd>
24667 <table class="params">
24668 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
24669 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
24670 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
24671 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24672 </table>
24673 </dd>
24674</dl>
24675<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
24676
Anthony Barbierdbdab852017-06-23 15:42:00 +010024677</div>
24678</div>
24679<a class="anchor" id="a92c2d0b9a8eeb3ab04a39a25fef2b6c3"></a>
24680<div class="memitem">
24681<div class="memproto">
24682 <table class="memname">
24683 <tr>
24684 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_q16 </td>
24685 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024686 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024687 <td class="paramname"><em>a</em></td><td>)</td>
24688 <td></td>
24689 </tr>
24690 </table>
24691</div><div class="memdoc">
24692
24693<p>16 bit fixed point vector saturating narrow (8 elements) </p>
24694<dl class="params"><dt>Parameters</dt><dd>
24695 <table class="params">
24696 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point vector to convert</td></tr>
24697 </table>
24698 </dd>
24699</dl>
24700<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector </dd></dl>
24701
24702</div>
24703</div>
Kaizen8938bd32017-09-28 14:38:23 +010024704<a class="anchor" id="a12e7578c32321d2362114563881153ee"></a>
24705<div class="memitem">
24706<div class="memproto">
24707 <table class="memname">
24708 <tr>
24709 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_q32 </td>
24710 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024711 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024712 <td class="paramname"><em>a</em></td><td>)</td>
24713 <td></td>
24714 </tr>
24715 </table>
24716</div><div class="memdoc">
24717
24718<p>32 bit fixed point vector saturating narrow (4 elements) </p>
24719<dl class="params"><dt>Parameters</dt><dd>
24720 <table class="params">
24721 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>32 bit fixed point vector to convert</td></tr>
24722 </table>
24723 </dd>
24724</dl>
24725<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector </dd></dl>
24726
24727</div>
24728</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024729<a class="anchor" id="afdab93549d4c969851a39081a7f282a1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024730<div class="memitem">
24731<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024732 <table class="memname">
24733 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024734 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmul_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024735 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024736 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024737 <td class="paramname"><em>a</em>, </td>
24738 </tr>
24739 <tr>
24740 <td class="paramkey"></td>
24741 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024742 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024743 <td class="paramname"><em>b</em>, </td>
24744 </tr>
24745 <tr>
24746 <td class="paramkey"></td>
24747 <td></td>
24748 <td class="paramtype">int&#160;</td>
24749 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24750 </tr>
24751 <tr>
24752 <td></td>
24753 <td>)</td>
24754 <td></td><td></td>
24755 </tr>
24756 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024757</div><div class="memdoc">
24758
24759<p>16 bit fixed point vector saturating multiply (4 elements) </p>
24760<dl class="params"><dt>Parameters</dt><dd>
24761 <table class="params">
24762 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
24763 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
24764 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24765 </table>
24766 </dd>
24767</dl>
24768<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
24769
Anthony Barbierdbdab852017-06-23 15:42:00 +010024770</div>
24771</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024772<a class="anchor" id="a13b07f92cefe3dcc799ab28c351419cb"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024773<div class="memitem">
24774<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024775 <table class="memname">
24776 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024777 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmul_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024778 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024779 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024780 <td class="paramname"><em>a</em>, </td>
24781 </tr>
24782 <tr>
24783 <td class="paramkey"></td>
24784 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024785 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024786 <td class="paramname"><em>b</em>, </td>
24787 </tr>
24788 <tr>
24789 <td class="paramkey"></td>
24790 <td></td>
24791 <td class="paramtype">int&#160;</td>
24792 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24793 </tr>
24794 <tr>
24795 <td></td>
24796 <td>)</td>
24797 <td></td><td></td>
24798 </tr>
24799 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024800</div><div class="memdoc">
24801
24802<p>8 bit fixed point vector saturating multiply (8 elements) </p>
24803<dl class="params"><dt>Parameters</dt><dd>
24804 <table class="params">
24805 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24806 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
24807 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24808 </table>
24809 </dd>
24810</dl>
24811<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
24812
Kaizen8938bd32017-09-28 14:38:23 +010024813</div>
24814</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024815<a class="anchor" id="a97a9dc05834e61a1aca309400bfded8c"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024816<div class="memitem">
24817<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024818 <table class="memname">
24819 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024820 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqmulq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024821 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024822 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024823 <td class="paramname"><em>a</em>, </td>
24824 </tr>
24825 <tr>
24826 <td class="paramkey"></td>
24827 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024828 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024829 <td class="paramname"><em>b</em>, </td>
24830 </tr>
24831 <tr>
24832 <td class="paramkey"></td>
24833 <td></td>
24834 <td class="paramtype">int&#160;</td>
24835 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24836 </tr>
24837 <tr>
24838 <td></td>
24839 <td>)</td>
24840 <td></td><td></td>
24841 </tr>
24842 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024843</div><div class="memdoc">
24844
24845<p>16 bit fixed point vector saturating multiply (8 elements) </p>
24846<dl class="params"><dt>Parameters</dt><dd>
24847 <table class="params">
24848 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
24849 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
24850 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24851 </table>
24852 </dd>
24853</dl>
24854<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
24855
Anthony Barbierdbdab852017-06-23 15:42:00 +010024856</div>
24857</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024858<a class="anchor" id="a8391ec73756d60aa43a82c04d5ece85e"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024859<div class="memitem">
24860<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024861 <table class="memname">
24862 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024863 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqmulq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024864 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024865 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024866 <td class="paramname"><em>a</em>, </td>
24867 </tr>
24868 <tr>
24869 <td class="paramkey"></td>
24870 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024871 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024872 <td class="paramname"><em>b</em>, </td>
24873 </tr>
24874 <tr>
24875 <td class="paramkey"></td>
24876 <td></td>
24877 <td class="paramtype">int&#160;</td>
24878 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24879 </tr>
24880 <tr>
24881 <td></td>
24882 <td>)</td>
24883 <td></td><td></td>
24884 </tr>
24885 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024886</div><div class="memdoc">
24887
24888<p>8 bit fixed point vector saturating multiply (16 elements) </p>
24889<dl class="params"><dt>Parameters</dt><dd>
24890 <table class="params">
24891 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24892 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
24893 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24894 </table>
24895 </dd>
24896</dl>
24897<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
24898
Anthony Barbierdbdab852017-06-23 15:42:00 +010024899</div>
24900</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024901<a class="anchor" id="a7db8aa4f9e7973933b2fb17c8278add0"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024902<div class="memitem">
24903<div class="memproto">
24904 <table class="memname">
24905 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024906 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqpowq_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024907 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024908 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024909 <td class="paramname"><em>a</em>, </td>
24910 </tr>
24911 <tr>
24912 <td class="paramkey"></td>
24913 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024914 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024915 <td class="paramname"><em>b</em>, </td>
24916 </tr>
24917 <tr>
24918 <td class="paramkey"></td>
24919 <td></td>
24920 <td class="paramtype">int&#160;</td>
24921 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24922 </tr>
24923 <tr>
24924 <td></td>
24925 <td>)</td>
24926 <td></td><td></td>
24927 </tr>
24928 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024929</div><div class="memdoc">
24930
24931<p>Calculate saturating n power for fixed point 16bit (8 elements). </p>
24932<p>pow(a,b) = e^(b*log(a))</p>
24933<dl class="params"><dt>Parameters</dt><dd>
24934 <table class="params">
24935 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16bit fixed point input vector </td></tr>
24936 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16bit fixed point power vector </td></tr>
24937 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24938 </table>
24939 </dd>
24940</dl>
24941<dl class="section return"><dt>Returns</dt><dd>The result of the 16bit power. </dd></dl>
24942
Kaizen8938bd32017-09-28 14:38:23 +010024943</div>
24944</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024945<a class="anchor" id="a0d4cef7d7331ac5a216d8bd3000564db"></a>
Kaizen8938bd32017-09-28 14:38:23 +010024946<div class="memitem">
24947<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024948 <table class="memname">
24949 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024950 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqpowq_qs8 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024951 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024952 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024953 <td class="paramname"><em>a</em>, </td>
24954 </tr>
24955 <tr>
24956 <td class="paramkey"></td>
24957 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024958 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024959 <td class="paramname"><em>b</em>, </td>
24960 </tr>
24961 <tr>
24962 <td class="paramkey"></td>
24963 <td></td>
24964 <td class="paramtype">int&#160;</td>
24965 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24966 </tr>
24967 <tr>
24968 <td></td>
24969 <td>)</td>
24970 <td></td><td></td>
24971 </tr>
24972 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024973</div><div class="memdoc">
24974
24975<p>Calculate saturating n power for fixed point 8bit (16 elements). </p>
24976<p>pow(a,b) = e^(b*log(a))</p>
24977<dl class="params"><dt>Parameters</dt><dd>
24978 <table class="params">
24979 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24980 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8bit fixed point power vector </td></tr>
24981 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24982 </table>
24983 </dd>
24984</dl>
24985<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit power. </dd></dl>
24986
24987</div>
24988</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010024989<a class="anchor" id="a496848521c818232b32b1ea1f481d1f2"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024990<div class="memitem">
24991<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024992 <table class="memname">
24993 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010024994 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqsub_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010024995 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000024996 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010024997 <td class="paramname"><em>a</em>, </td>
24998 </tr>
24999 <tr>
25000 <td class="paramkey"></td>
25001 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025002 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025003 <td class="paramname"><em>b</em>&#160;</td>
25004 </tr>
25005 <tr>
25006 <td></td>
25007 <td>)</td>
25008 <td></td><td></td>
25009 </tr>
25010 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025011</div><div class="memdoc">
25012
25013<p>16 bit fixed point vector saturating subtraction (4 elements) </p>
25014<dl class="params"><dt>Parameters</dt><dd>
25015 <table class="params">
25016 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25017 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25018 </table>
25019 </dd>
25020</dl>
25021<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
25022
Anthony Barbierdbdab852017-06-23 15:42:00 +010025023</div>
25024</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025025<a class="anchor" id="a8a94adba1cfff4ce4142add654c60521"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025026<div class="memitem">
25027<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025028 <table class="memname">
25029 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025030 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqsub_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025031 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025032 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025033 <td class="paramname"><em>a</em>, </td>
25034 </tr>
25035 <tr>
25036 <td class="paramkey"></td>
25037 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025038 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025039 <td class="paramname"><em>b</em>&#160;</td>
25040 </tr>
25041 <tr>
25042 <td></td>
25043 <td>)</td>
25044 <td></td><td></td>
25045 </tr>
25046 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025047</div><div class="memdoc">
25048
25049<p>8 bit fixed point vector saturating subtraction (8 elements) </p>
25050<dl class="params"><dt>Parameters</dt><dd>
25051 <table class="params">
25052 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25053 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25054 </table>
25055 </dd>
25056</dl>
25057<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
25058
Kaizen8938bd32017-09-28 14:38:23 +010025059</div>
25060</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025061<a class="anchor" id="a270d4ddc6689933d1d239eabf7649e54"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025062<div class="memitem">
25063<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025064 <table class="memname">
25065 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025066 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqsubq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025067 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025068 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025069 <td class="paramname"><em>a</em>, </td>
25070 </tr>
25071 <tr>
25072 <td class="paramkey"></td>
25073 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025074 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025075 <td class="paramname"><em>b</em>&#160;</td>
25076 </tr>
25077 <tr>
25078 <td></td>
25079 <td>)</td>
25080 <td></td><td></td>
25081 </tr>
25082 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025083</div><div class="memdoc">
25084
25085<p>16 bit fixed point vector saturating subtraction (8 elements) </p>
25086<dl class="params"><dt>Parameters</dt><dd>
25087 <table class="params">
25088 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25089 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25090 </table>
25091 </dd>
25092</dl>
25093<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
25094
Anthony Barbierdbdab852017-06-23 15:42:00 +010025095</div>
25096</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025097<a class="anchor" id="a7e8458b3298a996c332d771b1058e515"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025098<div class="memitem">
25099<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025100 <table class="memname">
25101 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025102 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqsubq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025103 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025104 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025105 <td class="paramname"><em>a</em>, </td>
25106 </tr>
25107 <tr>
25108 <td class="paramkey"></td>
25109 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025110 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025111 <td class="paramname"><em>b</em>&#160;</td>
25112 </tr>
25113 <tr>
25114 <td></td>
25115 <td>)</td>
25116 <td></td><td></td>
25117 </tr>
25118 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025119</div><div class="memdoc">
25120
25121<p>8 bit fixed point vector saturating subtraction (16 elements) </p>
25122<dl class="params"><dt>Parameters</dt><dd>
25123 <table class="params">
25124 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25125 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25126 </table>
25127 </dd>
25128</dl>
25129<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
25130
Anthony Barbierdbdab852017-06-23 15:42:00 +010025131</div>
25132</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025133<a class="anchor" id="a37fac70d8902a85688e7c0e8781099e8"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025134<div class="memitem">
25135<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025136 <table class="memname">
25137 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025138 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqtanh_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025139 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025140 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025141 <td class="paramname"><em>a</em>, </td>
25142 </tr>
25143 <tr>
25144 <td class="paramkey"></td>
25145 <td></td>
25146 <td class="paramtype">int&#160;</td>
25147 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25148 </tr>
25149 <tr>
25150 <td></td>
25151 <td>)</td>
25152 <td></td><td></td>
25153 </tr>
25154 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025155</div><div class="memdoc">
25156
Kaizen8938bd32017-09-28 14:38:23 +010025157<p>Calculate hyperbolic tangent for fixed point 16 bit (4 elements) </p>
25158<dl class="params"><dt>Parameters</dt><dd>
25159 <table class="params">
25160 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25161 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25162 </table>
25163 </dd>
25164</dl>
25165<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025166
Kaizen8938bd32017-09-28 14:38:23 +010025167</div>
25168</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025169<a class="anchor" id="a7e2b6f46b6457834c1e0248089a52ec8"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025170<div class="memitem">
25171<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025172 <table class="memname">
25173 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025174 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqtanh_qs8 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025175 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025176 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025177 <td class="paramname"><em>a</em>, </td>
25178 </tr>
25179 <tr>
25180 <td class="paramkey"></td>
25181 <td></td>
25182 <td class="paramtype">int&#160;</td>
25183 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25184 </tr>
25185 <tr>
25186 <td></td>
25187 <td>)</td>
25188 <td></td><td></td>
25189 </tr>
25190 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025191</div><div class="memdoc">
25192
25193<p>Calculate hyperbolic tangent for fixed point 8bit (8 elements) </p>
25194<dl class="params"><dt>Parameters</dt><dd>
25195 <table class="params">
25196 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25197 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25198 </table>
25199 </dd>
25200</dl>
25201<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25202
Kaizen8938bd32017-09-28 14:38:23 +010025203</div>
25204</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025205<a class="anchor" id="a424118de27c3118ff9d2d704663f746c"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025206<div class="memitem">
25207<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025208 <table class="memname">
25209 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025210 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqtanhq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025211 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025212 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025213 <td class="paramname"><em>a</em>, </td>
25214 </tr>
25215 <tr>
25216 <td class="paramkey"></td>
25217 <td></td>
25218 <td class="paramtype">int&#160;</td>
25219 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25220 </tr>
25221 <tr>
25222 <td></td>
25223 <td>)</td>
25224 <td></td><td></td>
25225 </tr>
25226 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025227</div><div class="memdoc">
25228
25229<p>Calculate hyperbolic tangent for fixed point 16bit (8 elements) </p>
25230<dl class="params"><dt>Parameters</dt><dd>
25231 <table class="params">
25232 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25233 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25234 </table>
25235 </dd>
25236</dl>
25237<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25238
Kaizen8938bd32017-09-28 14:38:23 +010025239</div>
25240</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025241<a class="anchor" id="aa999fb138baf59c481d6a7c40832623c"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025242<div class="memitem">
25243<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025244 <table class="memname">
25245 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025246 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqtanhq_qs8 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025247 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025248 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025249 <td class="paramname"><em>a</em>, </td>
25250 </tr>
25251 <tr>
25252 <td class="paramkey"></td>
25253 <td></td>
25254 <td class="paramtype">int&#160;</td>
25255 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25256 </tr>
25257 <tr>
25258 <td></td>
25259 <td>)</td>
25260 <td></td><td></td>
25261 </tr>
25262 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025263</div><div class="memdoc">
25264
25265<p>Calculate hyperbolic tangent for fixed point 8bit (16 elements) </p>
25266<dl class="params"><dt>Parameters</dt><dd>
25267 <table class="params">
25268 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25269 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25270 </table>
25271 </dd>
25272</dl>
25273<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25274
Kaizen8938bd32017-09-28 14:38:23 +010025275</div>
25276</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025277<a class="anchor" id="a6684a81eb6da5626f58dc2f779442363"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025278<div class="memitem">
25279<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025280 <table class="memname">
25281 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025282 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vrecip_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025283 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025284 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025285 <td class="paramname"><em>a</em>, </td>
25286 </tr>
25287 <tr>
25288 <td class="paramkey"></td>
25289 <td></td>
25290 <td class="paramtype">int&#160;</td>
25291 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25292 </tr>
25293 <tr>
25294 <td></td>
25295 <td>)</td>
25296 <td></td><td></td>
25297 </tr>
25298 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025299</div><div class="memdoc">
25300
25301<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25302<p>(4 elements)</p>
25303<dl class="params"><dt>Parameters</dt><dd>
25304 <table class="params">
25305 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25306 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25307 </table>
25308 </dd>
25309</dl>
25310<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
25311
Anthony Barbierdbdab852017-06-23 15:42:00 +010025312</div>
25313</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025314<a class="anchor" id="a8296fccbf09fbf34ad4b92f4021006da"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025315<div class="memitem">
25316<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025317 <table class="memname">
25318 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025319 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vrecip_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025320 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025321 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025322 <td class="paramname"><em>a</em>, </td>
25323 </tr>
25324 <tr>
25325 <td class="paramkey"></td>
25326 <td></td>
25327 <td class="paramtype">int&#160;</td>
25328 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25329 </tr>
25330 <tr>
25331 <td></td>
25332 <td>)</td>
25333 <td></td><td></td>
25334 </tr>
25335 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025336</div><div class="memdoc">
25337
25338<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25339<p>(8 elements)</p>
25340<dl class="params"><dt>Parameters</dt><dd>
25341 <table class="params">
25342 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25343 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25344 </table>
25345 </dd>
25346</dl>
25347<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
25348
Anthony Barbierdbdab852017-06-23 15:42:00 +010025349</div>
25350</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025351<a class="anchor" id="a0c9efa256360bb7dbb87e1ddd439727b"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025352<div class="memitem">
25353<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025354 <table class="memname">
25355 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025356 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vrecipq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025357 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025358 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025359 <td class="paramname"><em>a</em>, </td>
25360 </tr>
25361 <tr>
25362 <td class="paramkey"></td>
25363 <td></td>
25364 <td class="paramtype">int&#160;</td>
25365 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25366 </tr>
25367 <tr>
25368 <td></td>
25369 <td>)</td>
25370 <td></td><td></td>
25371 </tr>
25372 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025373</div><div class="memdoc">
25374
25375<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25376<p>(8 elements)</p>
25377<dl class="params"><dt>Parameters</dt><dd>
25378 <table class="params">
25379 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25380 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25381 </table>
25382 </dd>
25383</dl>
25384<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
25385
Kaizen8938bd32017-09-28 14:38:23 +010025386</div>
25387</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025388<a class="anchor" id="aaa8caca8d68cca50001e0c60b01cf3b7"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025389<div class="memitem">
25390<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025391 <table class="memname">
25392 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025393 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vrecipq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025394 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025395 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025396 <td class="paramname"><em>a</em>, </td>
25397 </tr>
25398 <tr>
25399 <td class="paramkey"></td>
25400 <td></td>
25401 <td class="paramtype">int&#160;</td>
25402 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25403 </tr>
25404 <tr>
25405 <td></td>
25406 <td>)</td>
25407 <td></td><td></td>
25408 </tr>
25409 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025410</div><div class="memdoc">
25411
25412<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25413<p>(16 elements)</p>
25414<dl class="params"><dt>Parameters</dt><dd>
25415 <table class="params">
25416 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25417 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25418 </table>
25419 </dd>
25420</dl>
25421<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
25422
Anthony Barbierdbdab852017-06-23 15:42:00 +010025423</div>
25424</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025425<a class="anchor" id="a5002d49f346614198f3e8b475f27a7eb"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025426<div class="memitem">
25427<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025428 <table class="memname">
25429 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025430 <td class="memname">void arm_compute::vst1_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025431 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025432 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025433 <td class="paramname"><em>addr</em>, </td>
25434 </tr>
25435 <tr>
25436 <td class="paramkey"></td>
25437 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025438 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025439 <td class="paramname"><em>b</em>&#160;</td>
25440 </tr>
25441 <tr>
25442 <td></td>
25443 <td>)</td>
25444 <td></td><td></td>
25445 </tr>
25446 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025447</div><div class="memdoc">
25448
25449<p>Store a single 16 bit fixed point vector to memory (4 elements) </p>
25450<dl class="params"><dt>Parameters</dt><dd>
25451 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025452 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vector should be stored </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025453 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
25454 </table>
25455 </dd>
25456</dl>
25457
Anthony Barbierf45d5a92018-01-24 16:23:15 +000025458<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00503">arm_compute::detail::store_results&lt; 3 &gt;()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010025459
Anthony Barbierdbdab852017-06-23 15:42:00 +010025460</div>
25461</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025462<a class="anchor" id="a7eed40dd2defff08c98f66bf0c67c61d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025463<div class="memitem">
25464<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025465 <table class="memname">
25466 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025467 <td class="memname">void arm_compute::vst1_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025468 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025469 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025470 <td class="paramname"><em>addr</em>, </td>
25471 </tr>
25472 <tr>
25473 <td class="paramkey"></td>
25474 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025475 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025476 <td class="paramname"><em>b</em>&#160;</td>
25477 </tr>
25478 <tr>
25479 <td></td>
25480 <td>)</td>
25481 <td></td><td></td>
25482 </tr>
25483 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025484</div><div class="memdoc">
25485
25486<p>Store a single 8 bit fixed point vector to memory (8 elements) </p>
25487<dl class="params"><dt>Parameters</dt><dd>
25488 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025489 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 8 bit fixed point vector should be stored </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025490 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
25491 </table>
25492 </dd>
25493</dl>
25494
Anthony Barbierdbdab852017-06-23 15:42:00 +010025495</div>
25496</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025497<a class="anchor" id="af3bb253fc02f0f58278794832cff641c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025498<div class="memitem">
25499<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025500 <table class="memname">
25501 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025502 <td class="memname">void arm_compute::vst1q_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025503 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025504 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025505 <td class="paramname"><em>addr</em>, </td>
25506 </tr>
25507 <tr>
25508 <td class="paramkey"></td>
25509 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025510 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025511 <td class="paramname"><em>b</em>&#160;</td>
25512 </tr>
25513 <tr>
25514 <td></td>
25515 <td>)</td>
25516 <td></td><td></td>
25517 </tr>
25518 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025519</div><div class="memdoc">
25520
Kaizen8938bd32017-09-28 14:38:23 +010025521<p>Store a single 16 bit fixed point vector to memory (8 elements) </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025522<dl class="params"><dt>Parameters</dt><dd>
25523 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025524 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vector should be stored </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025525 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
25526 </table>
25527 </dd>
25528</dl>
25529
Anthony Barbierf45d5a92018-01-24 16:23:15 +000025530<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00490">arm_compute::detail::store_results&lt; 1 &gt;()</a>, and <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00497">arm_compute::detail::store_results&lt; 2 &gt;()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010025531
Anthony Barbierdbdab852017-06-23 15:42:00 +010025532</div>
25533</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025534<a class="anchor" id="a1839b5e8f0a3b1702b661a1838fba830"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025535<div class="memitem">
25536<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025537 <table class="memname">
25538 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025539 <td class="memname">void arm_compute::vst1q_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025540 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025541 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025542 <td class="paramname"><em>addr</em>, </td>
25543 </tr>
25544 <tr>
25545 <td class="paramkey"></td>
25546 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025547 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025548 <td class="paramname"><em>b</em>&#160;</td>
25549 </tr>
25550 <tr>
25551 <td></td>
25552 <td>)</td>
25553 <td></td><td></td>
25554 </tr>
25555 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025556</div><div class="memdoc">
25557
25558<p>Store a single 8 bit fixed point vector to memory (16 elements) </p>
25559<dl class="params"><dt>Parameters</dt><dd>
25560 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025561 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 8 bit fixed point vector should be stored </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025562 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
25563 </table>
25564 </dd>
25565</dl>
25566
Kaizen8938bd32017-09-28 14:38:23 +010025567</div>
25568</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025569<a class="anchor" id="a133a4b6b925f585d9e3cab041494ddca"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025570<div class="memitem">
25571<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025572 <table class="memname">
25573 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025574 <td class="memname">void arm_compute::vst2q_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025575 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025576 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025577 <td class="paramname"><em>addr</em>, </td>
25578 </tr>
25579 <tr>
25580 <td class="paramkey"></td>
25581 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025582 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025583 <td class="paramname"><em>b</em>&#160;</td>
25584 </tr>
25585 <tr>
25586 <td></td>
25587 <td>)</td>
25588 <td></td><td></td>
25589 </tr>
25590 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025591</div><div class="memdoc">
25592
25593<p>Store two 16 bit fixed point vector to memory (8x2 elements) </p>
25594<dl class="params"><dt>Parameters</dt><dd>
25595 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025596 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vectors should be stored </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010025597 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vectors to store </td></tr>
25598 </table>
25599 </dd>
25600</dl>
25601
Kaizen8938bd32017-09-28 14:38:23 +010025602</div>
25603</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025604<a class="anchor" id="a9c19223d683db3fb9a2afae06a9172da"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025605<div class="memitem">
25606<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025607 <table class="memname">
25608 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025609 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vsub_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025610 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025611 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025612 <td class="paramname"><em>a</em>, </td>
25613 </tr>
25614 <tr>
25615 <td class="paramkey"></td>
25616 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025617 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025618 <td class="paramname"><em>b</em>&#160;</td>
25619 </tr>
25620 <tr>
25621 <td></td>
25622 <td>)</td>
25623 <td></td><td></td>
25624 </tr>
25625 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025626</div><div class="memdoc">
25627
25628<p>16 bit fixed point vector subtraction (4 elements) </p>
25629<dl class="params"><dt>Parameters</dt><dd>
25630 <table class="params">
25631 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25632 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25633 </table>
25634 </dd>
25635</dl>
25636<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
25637
Anthony Barbierdbdab852017-06-23 15:42:00 +010025638</div>
25639</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025640<a class="anchor" id="ac8b8422b0719e35a7faba44cbd81c973"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025641<div class="memitem">
25642<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025643 <table class="memname">
25644 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025645 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vsub_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025646 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025647 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025648 <td class="paramname"><em>a</em>, </td>
25649 </tr>
25650 <tr>
25651 <td class="paramkey"></td>
25652 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025653 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025654 <td class="paramname"><em>b</em>&#160;</td>
25655 </tr>
25656 <tr>
25657 <td></td>
25658 <td>)</td>
25659 <td></td><td></td>
25660 </tr>
25661 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025662</div><div class="memdoc">
25663
25664<p>8 bit fixed point vector subtraction (8 elements) </p>
25665<dl class="params"><dt>Parameters</dt><dd>
25666 <table class="params">
25667 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25668 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25669 </table>
25670 </dd>
25671</dl>
25672<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
25673
Kaizen8938bd32017-09-28 14:38:23 +010025674</div>
25675</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025676<a class="anchor" id="a8d4129255837b86e09fcc326e46821fb"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025677<div class="memitem">
25678<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025679 <table class="memname">
25680 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025681 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vsubq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025682 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025683 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025684 <td class="paramname"><em>a</em>, </td>
25685 </tr>
25686 <tr>
25687 <td class="paramkey"></td>
25688 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025689 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025690 <td class="paramname"><em>b</em>&#160;</td>
25691 </tr>
25692 <tr>
25693 <td></td>
25694 <td>)</td>
25695 <td></td><td></td>
25696 </tr>
25697 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025698</div><div class="memdoc">
25699
25700<p>16 bit fixed point vector subtraction (8 elements) </p>
25701<dl class="params"><dt>Parameters</dt><dd>
25702 <table class="params">
25703 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25704 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25705 </table>
25706 </dd>
25707</dl>
25708<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
25709
Anthony Barbierdbdab852017-06-23 15:42:00 +010025710</div>
25711</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025712<a class="anchor" id="ac081f136f0b4e5e1faba00197b0f5bb6"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025713<div class="memitem">
25714<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025715 <table class="memname">
25716 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025717 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vsubq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025718 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025719 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025720 <td class="paramname"><em>a</em>, </td>
25721 </tr>
25722 <tr>
25723 <td class="paramkey"></td>
25724 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025725 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025726 <td class="paramname"><em>b</em>&#160;</td>
25727 </tr>
25728 <tr>
25729 <td></td>
25730 <td>)</td>
25731 <td></td><td></td>
25732 </tr>
25733 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025734</div><div class="memdoc">
25735
25736<p>8 bit fixed point vector subtraction (16 elements) </p>
25737<dl class="params"><dt>Parameters</dt><dd>
25738 <table class="params">
25739 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25740 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25741 </table>
25742 </dd>
25743</dl>
25744<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
25745
Anthony Barbierdbdab852017-06-23 15:42:00 +010025746</div>
25747</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025748<a class="anchor" id="a3e59419da344d02daca9c5b274a1da45"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025749<div class="memitem">
25750<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025751 <table class="memname">
25752 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025753 <td class="memname">float32x4_t arm_compute::vtanhq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025754 <td>(</td>
25755 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025756 <td class="paramname"><em>val</em></td><td>)</td>
25757 <td></td>
25758 </tr>
25759 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000025760</div><div class="memdoc">
25761
25762<p>Calculate hyperbolic tangent. </p>
25763<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
Anthony Barbier46d59272017-05-04 09:15:15 +010025764<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 +000025765<dl class="params"><dt>Parameters</dt><dd>
25766 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025767 <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 +000025768 </table>
25769 </dd>
25770</dl>
25771<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25772
Anthony Barbier871448e2017-03-24 14:54:29 +000025773</div>
25774</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025775<a class="anchor" id="a1629fb1e72d3c423a27c4b99befdca42"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000025776<div class="memitem">
25777<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000025778 <table class="memname">
25779 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025780 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vtaylor_poly_qs16 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025781 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025782 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025783 <td class="paramname"><em>a</em>, </td>
25784 </tr>
25785 <tr>
25786 <td class="paramkey"></td>
25787 <td></td>
25788 <td class="paramtype">int&#160;</td>
25789 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25790 </tr>
25791 <tr>
25792 <td></td>
25793 <td>)</td>
25794 <td></td><td></td>
25795 </tr>
25796 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025797</div><div class="memdoc">
25798
Kaizen8938bd32017-09-28 14:38:23 +010025799<p>Perform a 4th degree polynomial approximation. </p>
25800<p>(4 elements)</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025801<dl class="params"><dt>Parameters</dt><dd>
25802 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010025803 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025804 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25805 </table>
25806 </dd>
25807</dl>
Kaizen8938bd32017-09-28 14:38:23 +010025808<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit taylor approximation. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025809
Anthony Barbierdbdab852017-06-23 15:42:00 +010025810</div>
25811</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025812<a class="anchor" id="a0e0e8c2bd0e807665d319522a9759290"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025813<div class="memitem">
25814<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025815 <table class="memname">
25816 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025817 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vtaylor_poly_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025818 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025819 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025820 <td class="paramname"><em>a</em>, </td>
25821 </tr>
25822 <tr>
25823 <td class="paramkey"></td>
25824 <td></td>
25825 <td class="paramtype">int&#160;</td>
25826 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25827 </tr>
25828 <tr>
25829 <td></td>
25830 <td>)</td>
25831 <td></td><td></td>
25832 </tr>
25833 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025834</div><div class="memdoc">
25835
25836<p>Perform a 4th degree polynomial approximation. </p>
25837<p>(8 elements)</p>
25838<dl class="params"><dt>Parameters</dt><dd>
25839 <table class="params">
25840 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25841 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25842 </table>
25843 </dd>
25844</dl>
25845<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
25846
Kaizen8938bd32017-09-28 14:38:23 +010025847</div>
25848</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025849<a class="anchor" id="a0c10bb00a86edd8d0cd4c33b494f6cd4"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025850<div class="memitem">
25851<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025852 <table class="memname">
25853 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025854 <td class="memname">float32x4_t arm_compute::vtaylor_polyq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025855 <td>(</td>
25856 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025857 <td class="paramname"><em>x</em>, </td>
25858 </tr>
25859 <tr>
25860 <td class="paramkey"></td>
25861 <td></td>
25862 <td class="paramtype">const std::array&lt; float32x4_t, 8 &gt; &amp;&#160;</td>
25863 <td class="paramname"><em>coeffs</em>&#160;</td>
25864 </tr>
25865 <tr>
25866 <td></td>
25867 <td>)</td>
25868 <td></td><td></td>
25869 </tr>
25870 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000025871</div><div class="memdoc">
25872
25873<p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
25874<dl class="params"><dt>Parameters</dt><dd>
25875 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025876 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
25877 <tr><td class="paramdir">[in]</td><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000025878 </table>
25879 </dd>
25880</dl>
25881<dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
25882
Anthony Barbier871448e2017-03-24 14:54:29 +000025883</div>
25884</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025885<a class="anchor" id="aa8fcc7e78931bef2916548369bc928e3"></a>
Kaizen8938bd32017-09-28 14:38:23 +010025886<div class="memitem">
25887<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010025888 <table class="memname">
25889 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025890 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vtaylor_polyq_qs16 </td>
Kaizen8938bd32017-09-28 14:38:23 +010025891 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025892 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010025893 <td class="paramname"><em>a</em>, </td>
25894 </tr>
25895 <tr>
25896 <td class="paramkey"></td>
25897 <td></td>
25898 <td class="paramtype">int&#160;</td>
25899 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25900 </tr>
25901 <tr>
25902 <td></td>
25903 <td>)</td>
25904 <td></td><td></td>
25905 </tr>
25906 </table>
Kaizen8938bd32017-09-28 14:38:23 +010025907</div><div class="memdoc">
25908
25909<p>Perform a 4th degree polynomial approximation. </p>
25910<p>(8 elements)</p>
25911<dl class="params"><dt>Parameters</dt><dd>
25912 <table class="params">
25913 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25914 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25915 </table>
25916 </dd>
25917</dl>
25918<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
25919
Kaizen8938bd32017-09-28 14:38:23 +010025920</div>
25921</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010025922<a class="anchor" id="a026e9fe1c4037706de8f6206efd98a56"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025923<div class="memitem">
25924<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025925 <table class="memname">
25926 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010025927 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vtaylor_polyq_qs8 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025928 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025929 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025930 <td class="paramname"><em>a</em>, </td>
25931 </tr>
25932 <tr>
25933 <td class="paramkey"></td>
25934 <td></td>
25935 <td class="paramtype">int&#160;</td>
25936 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25937 </tr>
25938 <tr>
25939 <td></td>
25940 <td>)</td>
25941 <td></td><td></td>
25942 </tr>
25943 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025944</div><div class="memdoc">
25945
25946<p>Perform a 4th degree polynomial approximation. </p>
25947<p>(16 elements)</p>
25948<dl class="params"><dt>Parameters</dt><dd>
25949 <table class="params">
25950 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25951 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25952 </table>
25953 </dd>
25954</dl>
25955<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
25956
Anthony Barbierdbdab852017-06-23 15:42:00 +010025957</div>
25958</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000025959<h2 class="groupheader">Variable Documentation</h2>
25960<a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
25961<div class="memitem">
25962<div class="memproto">
25963 <table class="memname">
25964 <tr>
25965 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
25966 </tr>
25967 </table>
25968</div><div class="memdoc">
25969
25970<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>
25971
Anthony Barbier06ea0482018-02-22 15:45:35 +000025972<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00101">101</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000025973
25974</div>
25975</div>
25976<a class="anchor" id="a869945609357fa552d94eb16f7aad4e9"></a>
25977<div class="memitem">
25978<div class="memproto">
25979 <table class="memname">
25980 <tr>
25981 <td class="memname">const std::array&lt;float32x4_t, 8&gt; exp_tab</td>
25982 </tr>
25983 </table>
25984</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025985<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 +010025986<p>Exponent polynomial coefficients. </p>
25987
Anthony Barbierdbdab852017-06-23 15:42:00 +010025988<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">28</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
25989
Anthony Barbier871448e2017-03-24 14:54:29 +000025990</div>
25991</div>
25992<a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
25993<div class="memitem">
25994<div class="memproto">
25995 <table class="memname">
25996 <tr>
25997 <td class="memname">const std::array&lt;float32x4_t, 8&gt; log_tab</td>
25998 </tr>
25999 </table>
26000</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000026001<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 +010026002<p>Logarithm polynomial coefficients. </p>
26003
Anthony Barbierdbdab852017-06-23 15:42:00 +010026004<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
26005
Anthony Barbier871448e2017-03-24 14:54:29 +000026006</div>
26007</div>
26008<a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
26009<div class="memitem">
26010<div class="memproto">
26011 <table class="memname">
26012 <tr>
26013 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
26014 </tr>
26015 </table>
26016</div><div class="memdoc">
26017
Jenkinsb3a371b2018-05-23 11:36:53 +010026018<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>
26019
Anthony Barbier871448e2017-03-24 14:54:29 +000026020<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
26021
26022</div>
26023</div>
26024<a class="anchor" id="af9876aedd664cac0ddeacddb40cb71cd"></a>
26025<div class="memitem">
26026<div class="memproto">
26027 <table class="memname">
26028 <tr>
26029 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
26030 </tr>
26031 </table>
26032</div><div class="memdoc">
26033
Jenkinsb3a371b2018-05-23 11:36:53 +010026034<p>Constant value used to indicate a half-scale pyramid. </p>
26035
Anthony Barbier06ea0482018-02-22 15:45:35 +000026036<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00104">104</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000026037
Jenkinsb3a371b2018-05-23 11:36:53 +010026038<p>Referenced by <a class="el" href="_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="reference_2_optical_flow_8cpp_source.xhtml#l00246">arm_compute::test::validation::reference::optical_flow()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026039
26040</div>
26041</div>
26042<a class="anchor" id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
26043<div class="memitem">
26044<div class="memproto">
26045 <table class="memname">
26046 <tr>
26047 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
26048 </tr>
26049 </table>
26050</div><div class="memdoc">
26051
Jenkinsb3a371b2018-05-23 11:36:53 +010026052<p>Constant value used to indicate a ORB scaled pyramid. </p>
26053
Anthony Barbier06ea0482018-02-22 15:45:35 +000026054<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00107">107</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026055
26056</div>
26057</div>
26058</div><!-- contents -->
26059</div><!-- doc-content -->
26060<!-- start footer part -->
26061<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
26062 <ul>
26063 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
Jenkinsb3a371b2018-05-23 11:36:53 +010026064 <li class="footer">Generated on Wed May 23 2018 11:36:40 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +000026065 <a href="http://www.doxygen.org/index.html">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000026066 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +000026067 </ul>
26068</div>
26069</body>
26070</html>