blob: 59404275206c9927b5f29273776c6ff8ad9b01aa [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"/>
Kaizen8938bd32017-09-28 14:38:23 +01007<meta name="generator" content="Doxygen 1.8.6"/>
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 Barbier871448e2017-03-24 14:54:29 +000015<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18 $(window).load(resizeHeight);
19</script>
20<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier871448e2017-03-24 14:54:29 +000021<script type="text/javascript" src="search/search.js"></script>
22<script type="text/javascript">
Kaizen8938bd32017-09-28 14:38:23 +010023 $(document).ready(function() { searchBox.OnSelectItem(0); });
Anthony Barbier871448e2017-03-24 14:54:29 +000024</script>
25<script type="text/x-mathjax-config">
26 MathJax.Hub.Config({
27 extensions: ["tex2jax.js"],
28 jax: ["input/TeX","output/HTML-CSS"],
29});
Kaizen8938bd32017-09-28 14:38:23 +010030</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000031<link href="doxygen.css" rel="stylesheet" type="text/css" />
32</head>
33<body>
34<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
35<div id="titlearea">
36<table cellspacing="0" cellpadding="0">
37 <tbody>
38 <tr style="height: 56px;">
39 <td style="padding-left: 0.5em;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010040 <div id="projectname">Compute Library
Kaizen8938bd32017-09-28 14:38:23 +010041 &#160;<span id="projectnumber">17.09</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000042 </div>
43 </td>
44 </tr>
45 </tbody>
46</table>
47</div>
48<!-- end header part -->
Kaizen8938bd32017-09-28 14:38:23 +010049<!-- Generated by Doxygen 1.8.6 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000050<script type="text/javascript">
51var searchBox = new SearchBox("searchBox", "search",false,'Search');
52</script>
53 <div id="navrow1" class="tabs">
54 <ul class="tablist">
55 <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
Anthony Barbierdbdab852017-06-23 15:42:00 +010056 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000057 <li class="current"><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
58 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
59 <li><a href="files.xhtml"><span>Files</span></a></li>
60 <li>
61 <div id="MSearchBox" class="MSearchBoxInactive">
62 <span class="left">
63 <img id="MSearchSelect" src="search/mag_sel.png"
64 onmouseover="return searchBox.OnSearchSelectShow()"
65 onmouseout="return searchBox.OnSearchSelectHide()"
66 alt=""/>
67 <input type="text" id="MSearchField" value="Search" accesskey="S"
68 onfocus="searchBox.OnSearchFieldFocus(true)"
69 onblur="searchBox.OnSearchFieldFocus(false)"
70 onkeyup="searchBox.OnSearchFieldChange(event)"/>
71 </span><span class="right">
72 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
73 </span>
74 </div>
75 </li>
76 </ul>
77 </div>
78 <div id="navrow2" class="tabs2">
79 <ul class="tablist">
80 <li><a href="namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
81 <li><a href="namespacemembers.xhtml"><span>Namespace&#160;Members</span></a></li>
82 </ul>
83 </div>
84</div><!-- top -->
85<div id="side-nav" class="ui-resizable side-nav-resizable">
86 <div id="nav-tree">
87 <div id="nav-tree-contents">
88 <div id="nav-sync" class="sync"></div>
89 </div>
90 </div>
91 <div id="splitbar" style="-moz-user-select:none;"
92 class="ui-resizable-handle">
93 </div>
94</div>
95<script type="text/javascript">
96$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
97</script>
98<div id="doc-content">
99<!-- window showing the filter options -->
100<div id="MSearchSelectWindow"
101 onmouseover="return searchBox.OnSearchSelectShow()"
102 onmouseout="return searchBox.OnSearchSelectHide()"
103 onkeydown="return searchBox.OnSearchSelectKey(event)">
Kaizen8938bd32017-09-28 14:38:23 +0100104<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000105
106<!-- iframe showing the search results (closed by default) -->
107<div id="MSearchResultsWindow">
108<iframe src="javascript:void(0)" frameborder="0"
109 name="MSearchResults" id="MSearchResults">
110</iframe>
111</div>
112
113<div class="header">
114 <div class="summary">
115<a href="#namespaces">Namespaces</a> &#124;
116<a href="#nested-classes">Data Structures</a> &#124;
117<a href="#typedef-members">Typedefs</a> &#124;
118<a href="#enum-members">Enumerations</a> &#124;
119<a href="#func-members">Functions</a> &#124;
120<a href="#var-members">Variables</a> </div>
121 <div class="headertitle">
122<div class="title">arm_compute Namespace Reference</div> </div>
123</div><!--header-->
124<div class="contents">
125<table class="memberdecls">
126<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
127Namespaces</h2></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100128<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 +0000129<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100130<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 +0100131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100132<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 +0100133<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100134<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100135<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100136<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>
137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
138<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>
139<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<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 +0100141<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000142</table><table class="memberdecls">
143<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
144Data Structures</h2></td></tr>
145<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_auto_padding.xhtml">AccessWindowAutoPadding</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100146<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000147<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100149<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 +0000150<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_transpose.xhtml">AccessWindowTranspose</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100152<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 +0000153<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100154<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>
155<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable operation 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 +0000156<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100157<tr class="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>
158<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000159<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100160<tr class="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>
161<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000162<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100164<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000165<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100166<tr class="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>
167<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000168<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100169<tr class="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>
170<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000171<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100172<tr class="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>
173<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000174<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100175<tr class="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>
176<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000177<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100178<tr class="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>
179<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000180<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100181<tr class="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>
182<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000183<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100184<tr class="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>
185<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000186<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100187<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
188<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100189<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100190<tr class="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>
191<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100192<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100193<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
194<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100195<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100196<tr class="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>
197<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000198<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100199<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a></td></tr>
200<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000201<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100202<tr class="memitem:"><td 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>
203<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 +0000204<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100205<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
206<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000207<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100208<tr class="memitem:"><td 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>
209<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000210<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100211<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a></td></tr>
212<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000213<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100214<tr class="memitem:"><td 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>
215<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000216<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100217<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a></td></tr>
218<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000219<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100220<tr class="memitem:"><td 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>
221<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000222<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100223<tr class="memitem:"><td 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>
224<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000225<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100226<tr class="memitem:"><td 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>
227<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000228<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100229<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a></td></tr>
230<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000231<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100232<tr class="memitem:"><td 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>
233<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000234<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100235<tr class="memitem:"><td 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>
236<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 +0000237<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100238<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
239<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100240<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100241<tr class="memitem:"><td 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>
242<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000243<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100244<tr class="memitem:"><td 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>
245<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000246<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100247<tr class="memitem:"><td 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>
248<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000249<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100250<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a></td></tr>
251<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000252<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100253<tr class="memitem:"><td 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>
254<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000255<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100256<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
257<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000258<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100259<tr class="memitem:"><td 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>
260<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000261<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
262<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100263<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000264<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
265<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100266<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000267<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100268<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
269<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>
270<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
271<tr class="memitem:"><td 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_kernel.xhtml">CLDepthConcatenateKernel</a></td></tr>
272<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_kernel.xhtml#details">More...</a><br/></td></tr>
273<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
274<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a></td></tr>
275<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth conversion kernel. <a href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml#details">More...</a><br/></td></tr>
276<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
277<tr class="memitem:"><td 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_convolution3x3_kernel.xhtml">CLDepthwiseConvolution3x3Kernel</a></td></tr>
278<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_c_l_depthwise_convolution3x3_kernel.xhtml#details">More...</a><br/></td></tr>
279<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
280<tr class="memitem:"><td 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>
281<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>
282<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
283<tr class="memitem:"><td 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>
284<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>
285<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
286<tr class="memitem:"><td 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>
287<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>
288<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
289<tr class="memitem:"><td 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>
290<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>
291<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
292<tr class="memitem:"><td 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>
293<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>
294<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
295<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
296<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>
297<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
298<tr class="memitem:"><td 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>
299<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>
300<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
301<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
302<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>
303<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
304<tr class="memitem:"><td 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>
305<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>
306<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
307<tr class="memitem:"><td 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>
308<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>
309<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
310<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
311<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>
312<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
313<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a></td></tr>
314<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>
315<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
316<tr class="memitem:"><td 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>
317<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>
318<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
319<tr class="memitem:"><td 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>
320<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>
321<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
322<tr class="memitem:"><td 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>
323<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>
324<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
325<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
326<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>
327<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
328<tr class="memitem:"><td 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>
329<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>
330<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
331<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
332<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>
333<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
334<tr class="memitem:"><td 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>
335<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to compute low precision matrix multiplication kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
336<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
337<tr class="memitem:"><td 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>
338<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>
339<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
340<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
341<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>
342<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
343<tr class="memitem:"><td 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>
344<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>
345<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
346<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml">CLGEMMMatrixVectorMultiplyKernel</a></td></tr>
347<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>
348<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
349<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
350<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>
351<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
352<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
353<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>
354<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
355<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
356<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>
357<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
358<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
359<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>
360<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
361<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml">CLHOGOrientationBinningKernel</a></td></tr>
362<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>
363<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
364<tr class="memitem:"><td 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>
365<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>
366<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
367<tr class="memitem:"><td 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>
368<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>
369<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
370<tr class="memitem:"><td 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>
371<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>
372<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
373<tr class="memitem:"><td 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>
374<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>
375<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
376<tr class="memitem:"><td 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>
377<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>
378<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
379<tr class="memitem:"><td 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_kernel.xhtml">CLL2NormalizeKernel</a></td></tr>
380<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_l2_normalize_kernel.xhtml#details">More...</a><br/></td></tr>
381<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
382<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>
383<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>
384<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
385<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>
386<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>
387<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
388<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>
389<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>
390<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
391<tr class="memitem:"><td 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>
392<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>
393<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
394<tr class="memitem:"><td 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>
395<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>
396<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
397<tr class="memitem:"><td 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>
398<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>
399<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
400<tr class="memitem:"><td 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>
401<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>
402<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
403<tr class="memitem:"><td 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>
404<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>
405<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
406<tr class="memitem:"><td 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>
407<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>
408<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
409<tr class="memitem:"><td 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>
410<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>
411<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
412<tr class="memitem:"><td 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>
413<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>
414<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
415<tr class="memitem:"><td 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>
416<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>
417<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
418<tr class="memitem:"><td 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>
419<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>
420<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
421<tr class="memitem:"><td 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>
422<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>
423<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
424<tr class="memitem:"><td 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>
425<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>
426<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
427<tr class="memitem:"><td 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>
428<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>
429<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
430<tr class="memitem:"><td 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>
431<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>
432<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
433<tr class="memitem:"><td 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>
434<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>
435<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
436<tr class="memitem:"><td 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>
437<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>
438<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
439<tr class="memitem:"><td 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>
440<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>
441<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
442<tr class="memitem:"><td 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>
443<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>
444<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
445<tr class="memitem:"><td 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>
446<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>
447<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
448<tr class="memitem:"><td 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>
449<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>
450<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
451<tr class="memitem:"><td 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>
452<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>
453<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
454<tr class="memitem:"><td 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>
455<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>
456<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
457<tr class="memitem:"><td 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>
458<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000459<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
460<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100461<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000462<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
463<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100464<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000465<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
466<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100467<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000468<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
469<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100470<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000471<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
472<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100473<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000474<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100475<tr class="memitem:"><td 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>
476<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 +0000477<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100478<tr class="memitem:"><td 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>
479<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100480<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100481<tr class="memitem:"><td 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>
482<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 +0000483<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
484<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100485<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000486<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
487<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100488<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000489<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
490<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100491<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000492<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
493<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100494<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000495<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
496<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100497<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000498<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100499<tr class="memitem:"><td 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>
500<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100501<tr class="memitem:"><td 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>
502<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000503<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100504<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000505<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100506<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_p_u_info.xhtml">CPUInfo</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000507<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100508<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>
509<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
510<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
511<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>
512<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
513<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
514<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple NEON kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000515<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
516<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100517<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000518<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100519<tr class="memitem:"><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>
Kaizen8938bd32017-09-28 14:38:23 +0100520<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000521<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
522<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100523<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 +0000524<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
525<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100526<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000527<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100528<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>
529<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100530<tr class="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>
531<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000532<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_h_o_g_info.xhtml">HOGInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100534<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000535<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_i_access_window.xhtml">IAccessWindow</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100537<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>
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_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
540<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>
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_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
543<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>
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_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
546<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000547<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_i_array.xhtml">IArray</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100549<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000550<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_i_distribution.xhtml">IDistribution</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100552<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000553<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_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100555<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000556<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_i_h_o_g.xhtml">IHOG</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100558<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000559<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_i_kernel.xhtml">IKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100561<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000562<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_i_lut.xhtml">ILut</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100564<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000565<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_i_multi_h_o_g.xhtml">IMultiHOG</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100567<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000568<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_i_multi_image.xhtml">IMultiImage</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100570<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>
Anthony Barbiera4376382017-04-12 15:12:46 +0100571<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000572<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100573<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100574<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000575<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100576<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000577<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100578<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100579<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000580<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_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100582<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000583<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100584<tr class="memitem:"><td 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_a_arch32_kernel.xhtml">NEGEMMAArch32Kernel</a></td></tr>
585<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AArch32/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_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_n_e_g_e_m_m_a_arch64_kernel.xhtml">NEGEMMAArch64Kernel</a></td></tr>
588<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000589<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_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100591<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000592<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_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100594<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000595<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_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100597<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000598<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100599<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml">NEAccumulateWeightedFP16Kernel</a></td></tr>
600<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel using F16. <a href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
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_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
603<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000604<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_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100606<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000607<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_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100609<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000610<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_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100612<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100613<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_n_e_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100615<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000616<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_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100618<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000619<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_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100621<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000622<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_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100624<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000625<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_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100627<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000628<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_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100630<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000631<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100632<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml">NEBox3x3FP16Kernel</a></td></tr>
633<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter using F16 simd. <a href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000634<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_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100636<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000637<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100638<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml">NEGradientFP16Kernel</a></td></tr>
639<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Gradient computation. <a href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000640<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100641<tr class="memitem:"><td 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>
642<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000643<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100644<tr class="memitem:"><td 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>
645<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000646<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100647<tr class="memitem:"><td 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>
648<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000649<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100650<tr class="memitem:"><td 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>
651<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000652<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100653<tr class="memitem:"><td 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>
654<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000655<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100656<tr class="memitem:"><td 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>
657<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000658<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100659<tr class="memitem:"><td 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>
660<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000661<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_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100663<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000664<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_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100666<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>
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_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
669<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>
670<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
671<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
672<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>
673<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
674<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_kernel.xhtml">NEDepthConcatenateKernel</a></td></tr>
675<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_kernel.xhtml#details">More...</a><br/></td></tr>
676<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
677<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a></td></tr>
678<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth conversion kernel. <a href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml#details">More...</a><br/></td></tr>
679<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
680<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a></td></tr>
681<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>
682<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
683<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
684<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>
685<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
686<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
687<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>
688<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
689<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml">NEDirectConvolutionLayerBiasAccumulateKernel</a></td></tr>
690<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to accumulate the biases to each element of the input tensor. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
691<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
692<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml">NEDirectConvolutionLayerKernel</a></td></tr>
693<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>
694<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
695<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
696<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>
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_n_e_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
699<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>
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_n_e_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
702<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>
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_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
705<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>
706<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
707<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
708<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>
709<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
710<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
711<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>
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_n_e_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
714<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>
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_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
717<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>
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_n_e_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
720<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>
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_n_e_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
723<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>
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_n_e_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
726<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>
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_n_e_g_e_m_m_assembly_base_kernel.xhtml">NEGEMMAssemblyBaseKernel</a></td></tr>
729<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AssemblyBase/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml#details">More...</a><br/></td></tr>
730<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
731<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
732<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>
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_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
735<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>
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_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
738<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>
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_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
741<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>
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_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
744<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>
745<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
746<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
747<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>
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_i_n_e_harris_score_kernel.xhtml">INEHarrisScoreKernel</a></td></tr>
750<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>
751<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
752<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
753<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>
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_n_e_harris_score_f_p16_kernel.xhtml">NEHarrisScoreFP16Kernel</a></td></tr>
756<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate Weighted kernel using F16. <a href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
757<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
758<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
759<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>
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_n_e_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
762<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>
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_n_e_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
765<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>
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_n_e_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
768<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>
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_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
771<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>
772<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
773<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
774<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>
775<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
776<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_kernel.xhtml">NEL2NormalizeKernel</a></td></tr>
777<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_kernel.xhtml#details">More...</a><br/></td></tr>
778<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
779<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">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>
780<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>
781<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
782<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
783<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>
784<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
785<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
786<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>
787<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
788<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
789<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>
790<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
791<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml">NEMagnitudePhaseFP16Kernel</a></td></tr>
792<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
793<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
794<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
795<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>
796<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
797<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
798<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>
799<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
800<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml">NEMinMaxLayerKernel</a></td></tr>
801<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>
802<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
803<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
804<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>
805<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
806<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
807<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>
808<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
809<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
810<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>
811<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
812<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
813<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>
814<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
815<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml">NENonMaximaSuppression3x3FP16Kernel</a></td></tr>
816<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in F16 if the input data type is F32. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
817<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
818<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
819<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>
820<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
821<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
822<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>
823<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
824<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
825<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>
826<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
827<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
828<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>
829<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
830<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
831<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>
832<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
833<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap_kernel.xhtml">NERemapKernel</a></td></tr>
834<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>
835<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
836<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
837<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>
838<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
839<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a></td></tr>
840<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>
841<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
842<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
843<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>
844<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
845<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
846<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000847<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
848<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100849<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000850<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
851<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100852<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000853<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
854<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100855<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000856<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
857<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100858<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000859<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
860<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100861<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000862<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100863<tr class="memitem:"><td 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>
864<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000865<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100866<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml">NELogits1DShiftExpSumKernel</a></td></tr>
867<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br/></td></tr>
868<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
869<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml">NELogits1DNormKernel</a></td></tr>
870<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000871<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
872<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100873<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000874<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
875<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100876<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000877<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_n_e_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100879<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000880<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100881<tr class="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>
882<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000883<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
884<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100885<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000886<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
887<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100888<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000889<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100890<tr class="memitem:"><td 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>
Kaizen8938bd32017-09-28 14:38:23 +0100891<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000892<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_pixel_value.xhtml">PixelValue</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100894<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000895<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_pyramid_info.xhtml">PyramidInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100897<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100898<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000899<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100900<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000901<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_steps.xhtml">Steps</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100903<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000904<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_strides.xhtml">Strides</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100906<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100907<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_sub_tensor_info.xhtml">SubTensorInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100909<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000910<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_tensor_info.xhtml">TensorInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100912<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000913<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_tensor_shape.xhtml">TensorShape</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100915<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000916<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
917<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>
918<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100919<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>
920<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>
921<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
922<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>
923<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>
924<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
925<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>
926<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>
927<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
928<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>
929<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>
930<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
931<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>
932<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>
933<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
934<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>
935<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>
936<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
937<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>
938<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>
939<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
940<tr class="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>
941<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>
942<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
943<tr class="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>
944<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>
945<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
946<tr class="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>
947<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>
948<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
949<tr class="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>
950<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>
951<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
952<tr class="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>
953<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>
954<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100955<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100956<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>
957<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
958<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>
959<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100960<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000961<tr class="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>
Kaizen8938bd32017-09-28 14:38:23 +0100962<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>
963<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_allocator.xhtml">Allocator</a></td></tr>
965<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>
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_array.xhtml">Array</a></td></tr>
968<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>
969<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
970<tr class="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>
971<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">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>
972<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
973<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_memory_pool.xhtml">BlobMemoryPool</a></td></tr>
974<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>
975<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
976<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a></td></tr>
977<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>
978<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
979<tr class="memitem:"><td 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>
980<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>
981<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
982<tr class="memitem:"><td 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>
983<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>
984<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
985<tr class="memitem:"><td 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>
986<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>
987<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
988<tr class="memitem:"><td 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>
989<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>
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_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
992<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>
993<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
994<tr class="memitem:"><td 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>
995<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>
996<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
997<tr class="memitem:"><td 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>
998<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>
999<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1000<tr class="memitem:"><td 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>
1001<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>
1002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1003<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
1004<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>
1005<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1006<tr class="memitem:"><td 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>
1007<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>
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_c_l_tensor.xhtml">CLTensor</a></td></tr>
1010<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>
1011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1012<tr class="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>
1013<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory group. <a href="classarm__compute_1_1_memory_group_base.xhtml#details">More...</a><br/></td></tr>
1014<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1015<tr class="memitem:"><td 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>
1016<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>
1017<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1018<tr class="memitem:"><td 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>
1019<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>
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_c_l_absolute_difference.xhtml">CLAbsoluteDifference</a></td></tr>
1022<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>
1023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1024<tr class="memitem:"><td 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>
1025<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>
1026<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1027<tr class="memitem:"><td 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>
1028<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>
1029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1030<tr class="memitem:"><td 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>
1031<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>
1032<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1033<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer.xhtml">CLActivationLayer</a></td></tr>
1034<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>
1035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1036<tr class="memitem:"><td 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>
1037<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>
1038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1039<tr class="memitem:"><td 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>
1040<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>
1041<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1042<tr class="memitem:"><td 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>
1043<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>
1044<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1045<tr class="memitem:"><td 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>
1046<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>
1047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1048<tr class="memitem:"><td 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>
1049<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>
1050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1051<tr class="memitem:"><td 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>
1052<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>
1053<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1054<tr class="memitem:"><td 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>
1055<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>
1056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1057<tr class="memitem:"><td 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>
1058<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>
1059<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1060<tr class="memitem:"><td 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>
1061<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>
1062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1063<tr class="memitem:"><td 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>
1064<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>
1065<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1066<tr class="memitem:"><td 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>
1067<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>
1068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1069<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
1070<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>
1071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1072<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution3x3.xhtml">CLConvolution3x3</a></td></tr>
1073<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>
1074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1075<tr class="memitem:"><td 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>
1076<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>
1077<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1078<tr class="memitem:"><td 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>
1079<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>
1080<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1081<tr class="memitem:"><td 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>
1082<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>
1083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1084<tr class="memitem:"><td 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>
1085<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>
1086<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1087<tr class="memitem:"><td 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.xhtml">CLDepthConcatenate</a></td></tr>
1088<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.xhtml#details">More...</a><br/></td></tr>
1089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1090<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert.xhtml">CLDepthConvert</a></td></tr>
1091<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a>. <a href="classarm__compute_1_1_c_l_depth_convert.xhtml#details">More...</a><br/></td></tr>
1092<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1093<tr class="memitem:"><td 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_convolution3x3.xhtml">CLDepthwiseConvolution3x3</a></td></tr>
1094<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_c_l_depthwise_convolution3x3.xhtml#details">More...</a><br/></td></tr>
1095<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1096<tr class="memitem:"><td 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.xhtml">CLDepthwiseConvolution</a></td></tr>
1097<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.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_c_l_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
1100<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>
1101<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1102<tr class="memitem:"><td 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>
1103<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>
1104<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1105<tr class="memitem:"><td 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>
1106<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>
1107<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1108<tr class="memitem:"><td 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>
1109<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>
1110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1111<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml">CLDirectConvolutionLayer</a></td></tr>
1112<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>
1113<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1114<tr class="memitem:"><td 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>
1115<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>
1116<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1117<tr class="memitem:"><td 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>
1118<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>
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_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
1121<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>
1122<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1123<tr class="memitem:"><td 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>
1124<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>
1125<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1126<tr class="memitem:"><td 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>
1127<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>
1128<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1129<tr class="memitem:"><td 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>
1130<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>
1131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1132<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml">CLFullyConnectedLayerReshapeWeights</a></td></tr>
1133<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>
1134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1135<tr class="memitem:"><td 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>
1136<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>
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_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
1139<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>
1140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1141<tr class="memitem:"><td 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>
1142<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>
1143<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1144<tr class="memitem:"><td 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>
1145<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>
1146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1147<tr class="memitem:"><td 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>
1148<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>
1149<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1150<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
1151<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>
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_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
1154<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>
1155<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1156<tr class="memitem:"><td 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>
1157<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>
1158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1159<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml">CLGEMMLowp</a></td></tr>
1160<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowp on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml#details">More...</a><br/></td></tr>
1161<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1162<tr class="memitem:"><td 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>
1163<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>
1164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1165<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
1166<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>
1167<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1168<tr class="memitem:"><td 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>
1169<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>
1170<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1171<tr class="memitem:"><td 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>
1172<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>
1173<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1174<tr class="memitem:"><td 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>
1175<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>
1176<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1177<tr class="memitem:"><td 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>
1178<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>
1179<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1180<tr class="memitem:"><td 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>
1181<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>
1182<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1183<tr class="memitem:"><td 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>
1184<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>
1185<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1186<tr class="memitem:"><td 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.xhtml">CLL2Normalize</a></td></tr>
1187<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_l2_normalize.xhtml#details">More...</a><br/></td></tr>
1188<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1189<tr class="memitem:"><td 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>
1190<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>
1191<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1192<tr class="memitem:"><td 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>
1193<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>
1194<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1195<tr class="memitem:"><td 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>
1196<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>
1197<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1198<tr class="memitem:"><td 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>
1199<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>
1200<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1201<tr class="memitem:"><td 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>
1202<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>
1203<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1204<tr class="memitem:"><td 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>
1205<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>
1206<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1207<tr class="memitem:"><td 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>
1208<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>
1209<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1210<tr class="memitem:"><td 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>
1211<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>
1212<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1213<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
1214<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>
1215<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1216<tr class="memitem:"><td 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>
1217<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_c_l_normalization_layer.xhtml#details">More...</a><br/></td></tr>
1218<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1219<tr class="memitem:"><td 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>
1220<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>
1221<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1222<tr class="memitem:"><td 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>
1223<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>
1224<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1225<tr class="memitem:"><td 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>
1226<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>
1227<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1228<tr class="memitem:"><td 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>
1229<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>
1230<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1231<tr class="memitem:"><td 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>
1232<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>
1233<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1234<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation.xhtml">CLReductionOperation</a></td></tr>
1235<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>
1236<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1237<tr class="memitem:"><td 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>
1238<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>
1239<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1240<tr class="memitem:"><td 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>
1241<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>
1242<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1243<tr class="memitem:"><td 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>
1244<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>
1245<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1246<tr class="memitem:"><td 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>
1247<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>
1248<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1249<tr class="memitem:"><td 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>
1250<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>
1251<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1252<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
1253<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>
1254<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1255<tr class="memitem:"><td 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>
1256<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>
1257<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1258<tr class="memitem:"><td 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>
1259<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>
1260<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1261<tr class="memitem:"><td 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>
1262<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>
1263<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1264<tr class="memitem:"><td 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>
1265<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>
1266<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1267<tr class="memitem:"><td 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>
1268<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>
1269<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1270<tr class="memitem:"><td 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>
1271<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>
1272<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1273<tr class="memitem:"><td 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>
1274<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>
1275<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1276<tr class="memitem:"><td 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>
1277<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>
1278<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1279<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
1280<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>
1281<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1282<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
1283<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>
1284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1285<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
1286<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>
1287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1288<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
1289<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>
1290<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1291<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g.xhtml">HOG</a></td></tr>
1292<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>
1293<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1294<tr class="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>
1295<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>
1296<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1297<tr class="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>
1298<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>
1299<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1300<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lifetime_manager.xhtml">ILifetimeManager</a></td></tr>
1301<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>
1302<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1303<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
1304<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>
1305<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1306<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_group.xhtml">IMemoryGroup</a></td></tr>
1307<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory group interface. <a href="classarm__compute_1_1_i_memory_group.xhtml#details">More...</a><br/></td></tr>
1308<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1309<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_manager.xhtml">IMemoryManager</a></td></tr>
1310<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory manager interface to handle allocations of backing memory. <a href="classarm__compute_1_1_i_memory_manager.xhtml#details">More...</a><br/></td></tr>
1311<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1312<tr class="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>
1313<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Inteface. <a href="classarm__compute_1_1_i_memory_pool.xhtml#details">More...</a><br/></td></tr>
1314<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1315<tr class="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>
1316<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory pool manager interface. <a href="classarm__compute_1_1_i_pool_manager.xhtml#details">More...</a><br/></td></tr>
1317<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1318<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
1319<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>
1320<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1321<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
1322<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>
1323<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1324<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut.xhtml">Lut</a></td></tr>
1325<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>
1326<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1327<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut_allocator.xhtml">LutAllocator</a></td></tr>
1328<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>
1329<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1330<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
1331<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>
1332<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1333<tr class="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>
1334<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>
1335<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1336<tr class="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>
1337<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>
1338<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1339<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference.xhtml">NEAbsoluteDifference</a></td></tr>
1340<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>
1341<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1342<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
1343<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>
1344<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1345<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
1346<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>
1347<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1348<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
1349<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>
1350<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1351<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
1352<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>
1353<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1354<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
1355<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>
1356<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1357<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
1358<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>
1359<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1360<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
1361<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>
1362<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1363<tr class="memitem:"><td 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>
1364<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>
1365<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1366<tr class="memitem:"><td 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>
1367<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>
1368<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1369<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
1370<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>
1371<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1372<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
1373<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>
1374<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1375<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
1376<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>
1377<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1378<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
1379<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>
1380<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1381<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
1382<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>
1383<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1384<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
1385<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>
1386<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1387<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
1388<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>
1389<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1390<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
1391<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>
1392<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1393<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
1394<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>
1395<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1396<tr class="memitem:"><td 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>
1397<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>
1398<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1399<tr class="memitem:"><td 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>
1400<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>
1401<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1402<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
1403<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>
1404<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1405<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate.xhtml">NEDepthConcatenate</a></td></tr>
1406<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.xhtml#details">More...</a><br/></td></tr>
1407<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1408<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert.xhtml">NEDepthConvert</a></td></tr>
1409<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a>. <a href="classarm__compute_1_1_n_e_depth_convert.xhtml#details">More...</a><br/></td></tr>
1410<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1411<tr class="memitem:"><td 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>
1412<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>
1413<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1414<tr class="memitem:"><td 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>
1415<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>
1416<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1417<tr class="memitem:"><td 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>
1418<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>
1419<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1420<tr class="memitem:"><td 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>
1421<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>
1422<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1423<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
1424<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>
1425<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1426<tr class="memitem:"><td 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>
1427<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>
1428<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1429<tr class="memitem:"><td 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>
1430<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>
1431<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1432<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</a></td></tr>
1433<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>
1434<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1435<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor.xhtml">NEFloor</a></td></tr>
1436<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>
1437<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1438<tr class="memitem:"><td 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>
1439<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>
1440<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1441<tr class="memitem:"><td 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>
1442<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>
1443<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1444<tr class="memitem:"><td 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>
1445<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>
1446<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1447<tr class="memitem:"><td 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>
1448<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>
1449<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1450<tr class="memitem:"><td 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>
1451<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>
1452<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1453<tr class="memitem:"><td 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>
1454<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>
1455<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1456<tr class="memitem:"><td 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>
1457<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>
1458<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1459<tr class="memitem:"><td 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>
1460<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>
1461<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1462<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
1463<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>
1464<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1465<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml">NEGEMMLowp</a></td></tr>
1466<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowp on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml#details">More...</a><br/></td></tr>
1467<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1468<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
1469<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>
1470<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1471<tr class="memitem:"><td 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>
1472<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>
1473<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1474<tr class="memitem:"><td 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>
1475<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>
1476<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1477<tr class="memitem:"><td 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>
1478<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>
1479<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1480<tr class="memitem:"><td 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>
1481<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>
1482<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1483<tr class="memitem:"><td 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>
1484<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>
1485<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1486<tr class="memitem:"><td 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>
1487<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>
1488<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1489<tr class="memitem:"><td 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>
1490<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>
1491<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1492<tr class="memitem:"><td 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.xhtml">NEL2Normalize</a></td></tr>
1493<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.xhtml#details">More...</a><br/></td></tr>
1494<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1495<tr class="memitem:"><td 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>
1496<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>
1497<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1498<tr class="memitem:"><td 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>
1499<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>
1500<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1501<tr class="memitem:"><td 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>
1502<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>
1503<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1504<tr class="memitem:"><td 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>
1505<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>
1506<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1507<tr class="memitem:"><td 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>
1508<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>
1509<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1510<tr class="memitem:"><td 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>
1511<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>
1512<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1513<tr class="memitem:"><td 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>
1514<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>
1515<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1516<tr class="memitem:"><td 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>
1517<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>
1518<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1519<tr class="memitem:"><td 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>
1520<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>
1521<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1522<tr class="memitem:"><td 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>
1523<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_n_e_normalization_layer.xhtml#details">More...</a><br/></td></tr>
1524<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1525<tr class="memitem:"><td 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>
1526<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>
1527<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1528<tr class="memitem:"><td 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>
1529<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>
1530<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1531<tr class="memitem:"><td 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>
1532<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>
1533<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1534<tr class="memitem:"><td 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>
1535<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>
1536<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1537<tr class="memitem:"><td 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>
1538<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>
1539<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1540<tr class="memitem:"><td 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>
1541<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>
1542<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1543<tr class="memitem:"><td 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>
1544<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>
1545<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1546<tr class="memitem:"><td 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>
1547<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>
1548<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1549<tr class="memitem:"><td 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>
1550<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>
1551<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1552<tr class="memitem:"><td 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>
1553<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>
1554<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1555<tr class="memitem:"><td 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>
1556<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>
1557<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1558<tr class="memitem:"><td 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>
1559<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>
1560<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1561<tr class="memitem:"><td 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>
1562<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>
1563<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1564<tr class="memitem:"><td 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>
1565<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>
1566<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1567<tr class="memitem:"><td 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>
1568<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>
1569<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1570<tr class="memitem:"><td 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>
1571<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>
1572<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1573<tr class="memitem:"><td 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>
1574<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>
1575<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1576<tr class="memitem:"><td 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>
1577<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>
1578<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1579<tr class="memitem:"><td 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>
1580<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>
1581<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1582<tr class="memitem:"><td 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>
1583<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>
1584<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1585<tr class="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>
1586<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>
1587<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1588<tr class="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>
1589<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>
1590<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1591<tr class="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>
1592<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory pool manager. <a href="classarm__compute_1_1_pool_manager.xhtml#details">More...</a><br/></td></tr>
1593<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1594<tr class="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>
1595<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>
1596<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1597<tr class="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>
1598<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>
1599<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1600<tr class="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>
1601<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>
1602<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1603<tr class="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>
1604<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>
1605<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1606<tr class="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>
1607<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>
1608<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1609<tr class="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>
1610<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>
1611<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1612<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>
1613<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1614<tr class="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>
1615<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00001616<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1617</table><table class="memberdecls">
1618<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
1619Typedefs</h2></td></tr>
1620<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>
1621<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2">&#160;</td></tr>
1622<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>
1623<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1624<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>
1625<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001626<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>
1627<tr class="separator:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001628<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>
1629<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
1630<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>
1631<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
1632<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>
1633<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1634<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>
1635<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
1636<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>
1637<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1638<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>
1639<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2">&#160;</td></tr>
1640<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>
1641<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2">&#160;</td></tr>
1642<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>
1643<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1644<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>
Kaizen8938bd32017-09-28 14:38:23 +01001645<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 +00001646<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2">&#160;</td></tr>
1647<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>
Kaizen8938bd32017-09-28 14:38:23 +01001648<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 +00001649<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1650<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>
Kaizen8938bd32017-09-28 14:38:23 +01001651<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 +00001652<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
1653<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>
Kaizen8938bd32017-09-28 14:38:23 +01001654<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 +00001655<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2">&#160;</td></tr>
1656<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>
Kaizen8938bd32017-09-28 14:38:23 +01001657<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 +00001658<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1659<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>
Kaizen8938bd32017-09-28 14:38:23 +01001660<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 +00001661<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2">&#160;</td></tr>
1662<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>
Kaizen8938bd32017-09-28 14:38:23 +01001663<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 +00001664<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1665<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>
Kaizen8938bd32017-09-28 14:38:23 +01001666<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 +00001667<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1668<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>
Kaizen8938bd32017-09-28 14:38:23 +01001669<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 +00001670<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2">&#160;</td></tr>
1671<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>
Kaizen8938bd32017-09-28 14:38:23 +01001672<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 +00001673<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
1674<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>
1675<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2">&#160;</td></tr>
1676<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>
1677<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
1678<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>
1679<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2">&#160;</td></tr>
1680<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>
1681<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001682<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>
Kaizen8938bd32017-09-28 14:38:23 +01001683<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 +01001684<tr class="separator:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1685<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>
Kaizen8938bd32017-09-28 14:38:23 +01001686<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 +01001687<tr class="separator:a1521eea74b97de8f2df9304e44179400"><td class="memSeparator" colspan="2">&#160;</td></tr>
1688<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>
Kaizen8938bd32017-09-28 14:38:23 +01001689<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 +01001690<tr class="separator:aa06c95f9976f3729316d689b4419089f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001691<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>
1692<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>
1693<tr class="separator:adc3be0bc3741b081217b2609abcf0333"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001694<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>
1695<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1696<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>
1697<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001698<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>
1699<tr class="separator:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001700<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>
1701<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
1702<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>
1703<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1704<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>
1705<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1706<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>
1707<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
1708<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>
1709<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2">&#160;</td></tr>
1710<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>
1711<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1712<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>
1713<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2">&#160;</td></tr>
1714<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>
1715<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2">&#160;</td></tr>
1716<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>
1717<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2">&#160;</td></tr>
1718<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>
1719<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2">&#160;</td></tr>
1720<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>
Kaizen8938bd32017-09-28 14:38:23 +01001721<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 +00001722<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2">&#160;</td></tr>
1723<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>
Kaizen8938bd32017-09-28 14:38:23 +01001724<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 +00001725<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1726<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>
Kaizen8938bd32017-09-28 14:38:23 +01001727<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 +00001728<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1729<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>
Kaizen8938bd32017-09-28 14:38:23 +01001730<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 +00001731<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1732<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>
Kaizen8938bd32017-09-28 14:38:23 +01001733<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 +00001734<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1735<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>
Kaizen8938bd32017-09-28 14:38:23 +01001736<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 +00001737<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2">&#160;</td></tr>
1738<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>
Kaizen8938bd32017-09-28 14:38:23 +01001739<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 +00001740<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
1741<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>
Kaizen8938bd32017-09-28 14:38:23 +01001742<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 +00001743<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1744<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>
Kaizen8938bd32017-09-28 14:38:23 +01001745<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 +00001746<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
1747<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>
Kaizen8938bd32017-09-28 14:38:23 +01001748<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 +00001749<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1750<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>
1751<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001752<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>
Kaizen8938bd32017-09-28 14:38:23 +01001753<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 +01001754<tr class="separator:a16a1bee14f1db073f75caa76dacf5078"><td class="memSeparator" colspan="2">&#160;</td></tr>
1755<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>
Kaizen8938bd32017-09-28 14:38:23 +01001756<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 +01001757<tr class="separator:ace2375b626995858a398e1ffb3108f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
1758<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>
Kaizen8938bd32017-09-28 14:38:23 +01001759<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 +01001760<tr class="separator:a252c74fae9a9238ef7c23d306e670706"><td class="memSeparator" colspan="2">&#160;</td></tr>
1761<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>
Kaizen8938bd32017-09-28 14:38:23 +01001762<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 +01001763<tr class="separator:a01ae65c0a0736d4293e657a66bde1538"><td class="memSeparator" colspan="2">&#160;</td></tr>
1764<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>
Kaizen8938bd32017-09-28 14:38:23 +01001765<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 +01001766<tr class="separator:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memSeparator" colspan="2">&#160;</td></tr>
1767<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>
Kaizen8938bd32017-09-28 14:38:23 +01001768<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 +01001769<tr class="separator:a09108711e0c18d4e9811ea4597d573b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
1770<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>
Kaizen8938bd32017-09-28 14:38:23 +01001771<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 +01001772<tr class="separator:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memSeparator" colspan="2">&#160;</td></tr>
1773<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>
Kaizen8938bd32017-09-28 14:38:23 +01001774<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 +01001775<tr class="separator:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1776<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>
Kaizen8938bd32017-09-28 14:38:23 +01001777<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 +01001778<tr class="separator:a82c56f0856f56d430393e6a00baee983"><td class="memSeparator" colspan="2">&#160;</td></tr>
1779<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>
Kaizen8938bd32017-09-28 14:38:23 +01001780<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 +01001781<tr class="separator:a8d57e0f4f122442011213667168ef538"><td class="memSeparator" colspan="2">&#160;</td></tr>
1782<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>
Kaizen8938bd32017-09-28 14:38:23 +01001783<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 +01001784<tr class="separator:a63f034ee885f20111e7f5d44e48e6d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
1785<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>
Kaizen8938bd32017-09-28 14:38:23 +01001786<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 +01001787<tr class="separator:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memSeparator" colspan="2">&#160;</td></tr>
1788<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>
Kaizen8938bd32017-09-28 14:38:23 +01001789<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 +01001790<tr class="separator:a4e15143176bfacdde8b06f4bb0b67427"><td class="memSeparator" colspan="2">&#160;</td></tr>
1791<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>
Kaizen8938bd32017-09-28 14:38:23 +01001792<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 +01001793<tr class="separator:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
1794<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>
Kaizen8938bd32017-09-28 14:38:23 +01001795<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 +01001796<tr class="separator:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
1797<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>
Kaizen8938bd32017-09-28 14:38:23 +01001798<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 +01001799<tr class="separator:a6bc1e8d62f1055278d8f05454faa422f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001800<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>
1801<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>
1802<tr class="separator:addcffa8e8086154c0449c23e6b0dff83"><td class="memSeparator" colspan="2">&#160;</td></tr>
1803<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>
1804<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>
1805<tr class="separator:abd854c117af4dbd12633db2fbc01dd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
1806<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>
1807<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>
1808<tr class="separator:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1809<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>
1810<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>
1811<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001812<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>
1813<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2">&#160;</td></tr>
1814<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>
1815<tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2">&#160;</td></tr>
1816<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>
1817<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1818<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>
1819<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
1820<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>
1821<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1822<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>
1823<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2">&#160;</td></tr>
1824<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>
1825<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1826<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>
1827<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
1828<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>
1829<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2">&#160;</td></tr>
1830<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>
1831<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1832<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>
1833<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
1834<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>
1835<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
1836<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>
1837<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1838<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>
1839<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2">&#160;</td></tr>
1840<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>
1841<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001842<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>
1843<tr class="separator:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001844<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>
1845<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2">&#160;</td></tr>
1846<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>
1847<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1848<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>
1849<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1850<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>
1851<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2">&#160;</td></tr>
1852<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>
1853<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
1854<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>
1855<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1856<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>
1857<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001858<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>
1859<tr class="separator:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001860<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>
1861<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
1862<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>
Kaizen8938bd32017-09-28 14:38:23 +01001863<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 +00001864<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1865<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>
Kaizen8938bd32017-09-28 14:38:23 +01001866<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 +00001867<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
1868<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>
Kaizen8938bd32017-09-28 14:38:23 +01001869<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 +00001870<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2">&#160;</td></tr>
1871<tr class="memitem:af87af588094f04e537df98eaf0426cb6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af87af588094f04e537df98eaf0426cb6">ICLTensor</a> = <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td></tr>
1872<tr class="separator:af87af588094f04e537df98eaf0426cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1873<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>
1874<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
1875<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>
1876<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
1877<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>
1878<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001879<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>
1880<tr class="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001881<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>
Kaizen8938bd32017-09-28 14:38:23 +01001882<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 +01001883<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
1884<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>
Kaizen8938bd32017-09-28 14:38:23 +01001885<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 +01001886<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1887<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>
Kaizen8938bd32017-09-28 14:38:23 +01001888<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 +01001889<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001890<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>
1891<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001892<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>
1893<tr class="separator:a0604c803e41880a4a16408efc4e6a69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001894<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>
1895<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001896<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>
1897<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>
1898<tr class="separator:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1899<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>
1900<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>
1901<tr class="separator:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1902<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>
1903<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001904</table><table class="memberdecls">
1905<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
1906Enumerations</h2></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001907<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/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001908&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,
1909<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,
1910<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,
1911<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,
Kaizen8938bd32017-09-28 14:38:23 +01001912<br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001913&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,
1914<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,
1915<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210
Kaizen8938bd32017-09-28 14:38:23 +01001916<br/>
1917 }</td></tr>
1918<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001919<tr class="separator:a735ac6c2a02e320969625308810444f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001920<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/>
1921&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>,
1922<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>,
1923<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>,
1924<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>,
1925<br/>
1926&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
1927<br/>
1928 }</td></tr>
1929<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1930<tr class="memitem:a5bc939238e1f14a4c39aaee8186a853d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">CPUTarget</a> { <br/>
1931&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,
1932<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,
1933<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,
1934<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,
1935<br/>
1936&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,
1937<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,
1938<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,
1939<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,
1940<br/>
1941&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,
1942<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (ARMV8 | A7x | 0x3),
1943<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> = (ARMV8_2 | A5x | 0x5),
1944<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (A55 | DOT),
1945<br/>
1946&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937">A72</a> = (ARMV8 | A7x | 0x2),
1947<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (ARMV8 | A7x | 0x3),
1948<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> = (ARMV8_2 | A7x | 0x5),
1949<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (A75 | DOT)
1950<br/>
1951 }</td></tr>
1952<tr class="memdesc:a5bc939238e1f14a4c39aaee8186a853d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available CPU Targets. <a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">More...</a><br/></td></tr>
1953<tr class="separator:a5bc939238e1f14a4c39aaee8186a853d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1954<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 +00001955&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1956<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1957<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1958<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001959<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001960&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
1961<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
1962<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1963<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001964<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001965&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
1966<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
1967<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
1968<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001969<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001970&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
1971<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
1972<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
1973<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001974<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001975&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
Kaizen8938bd32017-09-28 14:38:23 +01001976<br/>
1977 }</td></tr>
1978<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00001979<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001980<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 +00001981&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1982<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1983<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01001984<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001985<br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001986&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
1987<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1988<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00001989<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001990<br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001991&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001992<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00001993<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01001994<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001995<br/>
1996&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1997<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01001998<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
1999<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
Kaizen8938bd32017-09-28 14:38:23 +01002000<br/>
2001 }</td></tr>
2002<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002003<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2004<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>,
2005<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
2006<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
Kaizen8938bd32017-09-28 14:38:23 +01002007 }</td></tr>
2008<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002009<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2">&#160;</td></tr>
2010<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>,
2011<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
Kaizen8938bd32017-09-28 14:38:23 +01002012 }</td></tr>
2013<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002014<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015<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>,
2016<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
2017<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
Kaizen8938bd32017-09-28 14:38:23 +01002018 }</td></tr>
2019<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002020<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2021<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>,
2022<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
Kaizen8938bd32017-09-28 14:38:23 +01002023 }</td></tr>
2024<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002025<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2">&#160;</td></tr>
2026<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>,
2027<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
Kaizen8938bd32017-09-28 14:38:23 +01002028 }</td></tr>
2029<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002030<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2">&#160;</td></tr>
2031<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>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002032<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002033<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
Kaizen8938bd32017-09-28 14:38:23 +01002034 }</td></tr>
2035<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002036<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2037<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>,
2038<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
2039<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
Kaizen8938bd32017-09-28 14:38:23 +01002040 }</td></tr>
2041<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002042<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2">&#160;</td></tr>
2043<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>,
2044<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
Kaizen8938bd32017-09-28 14:38:23 +01002045 }</td></tr>
2046<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002047<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2048<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>,
2049<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
Kaizen8938bd32017-09-28 14:38:23 +01002050 }</td></tr>
2051<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002052<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002053<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 +00002054&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2055<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
2056<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
2057<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002058<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00002059&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
2060<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
2061<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
2062<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002063<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00002064&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
2065<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
2066<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
2067<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
Kaizen8938bd32017-09-28 14:38:23 +01002068<br/>
2069 }</td></tr>
2070<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002071<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2072<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>,
2073<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
2074<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
2075<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
Kaizen8938bd32017-09-28 14:38:23 +01002076 }</td></tr>
2077<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002078<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2079<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,
2080<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
2081<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
Kaizen8938bd32017-09-28 14:38:23 +01002082 }</td></tr>
2083<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002084<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002085<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>,
2086<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>
2087 }</td></tr>
2088<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>
2089<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002090<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>,
2091<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002092<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
Kaizen8938bd32017-09-28 14:38:23 +01002093 }</td></tr>
2094<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002095<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002096<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,
2097<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2,
2098<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3
Kaizen8938bd32017-09-28 14:38:23 +01002099 }</td></tr>
2100<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002101<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2102<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>,
2103<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
Kaizen8938bd32017-09-28 14:38:23 +01002104 }</td></tr>
2105<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002106<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2107<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 +01002108<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>,
2109<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>
2110 }</td></tr>
2111<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002112<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002113<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>,
2114<a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a>
2115 }</td></tr>
2116<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>
2117<tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002118<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> { <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>,
2119<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>,
2120<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>,
2121<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>
Kaizen8938bd32017-09-28 14:38:23 +01002122 }</td></tr>
2123<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002124<tr class="separator:afa20b6a7f4383003babd690f026f22dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002125</table><table class="memberdecls">
2126<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
2127Functions</h2></td></tr>
2128<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>
Kaizen8938bd32017-09-28 14:38:23 +01002129<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 +00002130<tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002131<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>
2132<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>
2133<tr class="separator:ae5f4dd9f672832f7dce02fc14487f544"><td class="memSeparator" colspan="2">&#160;</td></tr>
2134<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>
2135<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>
2136<tr class="separator:afc95473636a442507fda7ad48f3414c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002137<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>
Kaizen8938bd32017-09-28 14:38:23 +01002138<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002139<tr class="separator:afab814721e78cbfc34e7e7fe2874fa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
2140<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplParams" colspan="2">template&lt;typename Kernel , typename... T&gt; </td></tr>
2141<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>
Kaizen8938bd32017-09-28 14:38:23 +01002142<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 kernel object It also calls the kernel's configuration. <a href="#a35fb9d1dde1b976f4b7d361aabcc7c0d">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002143<tr class="separator:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2144<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplParams" colspan="2">template&lt;typename Kernel &gt; </td></tr>
2145<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>
Kaizen8938bd32017-09-28 14:38:23 +01002146<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 kernel object. <a href="#abc72c95941485d8a068fa38372308574">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002147<tr class="separator:abc72c95941485d8a068fa38372308574"><td class="memSeparator" colspan="2">&#160;</td></tr>
2148<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>
Kaizen8938bd32017-09-28 14:38:23 +01002149<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 +01002150<tr class="separator:a9d0143bdde8255313aae6ac020dd629c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2151<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>
Kaizen8938bd32017-09-28 14:38:23 +01002152<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002153<tr class="separator:a4a351d5c39dec88af98a671da1c43fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002154<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>
2155<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>
2156<tr class="separator:a54c9b94a266f8065b64f001c47815b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
2157<tr class="memitem:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2499c7ccf5b1636360a9ac6cc52a67b">non_uniform_workgroup_support</a> (const cl::Device &amp;device)</td></tr>
2158<tr class="memdesc:aa2499c7ccf5b1636360a9ac6cc52a67b"><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="#aa2499c7ccf5b1636360a9ac6cc52a67b">More...</a><br/></td></tr>
2159<tr class="separator:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2160<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>
2161<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>
2162<tr class="separator:a0f68015f649819f1102aa73d7b88b29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002163<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>
2164<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002165<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>
Kaizen8938bd32017-09-28 14:38:23 +01002166<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 +00002167<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002168<tr class="memitem:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5930b66fce0674d707fbf4f2dfcacc8f">debug</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002169<tr class="memdesc:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a debug message. <a href="#a5930b66fce0674d707fbf4f2dfcacc8f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002170<tr class="separator:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2171<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>
Kaizen8938bd32017-09-28 14:38:23 +01002172<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 +01002173<tr class="separator:a203882febb616f5468d1b63b60ffb331"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002174<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>
2175<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>
2176<tr class="separator:a3e4f9ff20167e78399975ec02c009c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
2177<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>
2178<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>
2179<tr class="separator:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memSeparator" colspan="2">&#160;</td></tr>
2180<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>
2181<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>
2182<tr class="separator:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002183<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>
Kaizen8938bd32017-09-28 14:38:23 +01002184<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 +01002185<tr class="separator:a43315c66c4d00207f70143233b189085"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002186<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>
2187<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>
2188<tr class="separator:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002189<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>
Kaizen8938bd32017-09-28 14:38:23 +01002190<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 +01002191<tr class="separator:aa8cee074ec68e2ae7830a9472efd8429"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002192<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>
2193<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>
2194<tr class="separator:ab30659aa2125bd5857547d424e601e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002195<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>
Kaizen8938bd32017-09-28 14:38:23 +01002196<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 +01002197<tr class="separator:a532d90e007d0cb6f3d43107229c40c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
2198<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>
Kaizen8938bd32017-09-28 14:38:23 +01002199<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 +01002200<tr class="separator:a45669fcc0f31fce521179510e85dcb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002201<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>
2202<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>
2203<tr class="separator:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002204<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>
Kaizen8938bd32017-09-28 14:38:23 +01002205<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 +01002206<tr class="separator:ab97841950d268532e51f28a208ddafd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002207<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>
2208<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>
2209<tr class="separator:a70476eda2d46c943d572362fe2fc9d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002210<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>
Kaizen8938bd32017-09-28 14:38:23 +01002211<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 +01002212<tr class="separator:ae74bbb6e25cc1b774428722b2faad00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002213<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>
2214<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>
2215<tr class="separator:a217e5c603560d6f73971983c6d1572a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002216<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>
Kaizen8938bd32017-09-28 14:38:23 +01002217<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 +01002218<tr class="separator:aec48f137adc904d648dd7eba0d828fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002219<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>
2220<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>
2221<tr class="separator:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002222<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>
Kaizen8938bd32017-09-28 14:38:23 +01002223<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 +01002224<tr class="separator:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002225<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>
Kaizen8938bd32017-09-28 14:38:23 +01002226<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 +01002227<tr class="separator:a55c8a365b4242664f8c0f19e91bcee92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002228<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>
2229<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>
2230<tr class="separator:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
2231<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>
2232<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>
2233<tr class="separator:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002234<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>
Kaizen8938bd32017-09-28 14:38:23 +01002235<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 +01002236<tr class="separator:ab768d7001612a149c0bf695b773d659b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002237<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>
2238<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>
2239<tr class="separator:a162390097e05ddc016310bad881c461c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002240<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>
Kaizen8938bd32017-09-28 14:38:23 +01002241<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 +01002242<tr class="separator:ae39636f0e83dd3b854b89181a230216f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002243<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>
2244<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>
2245<tr class="separator:a62b21ae2dd27770147d5b7c265fa534c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2246<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>
2247<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>
2248<tr class="separator:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memSeparator" colspan="2">&#160;</td></tr>
2249<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>
2250<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>
2251<tr class="separator:aba5b39758733711eaf3015d17839feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2252<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>
2253<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>
2254<tr class="separator:acc38b787d0451ec4a3e632ed919ac298"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002255<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>
Kaizen8938bd32017-09-28 14:38:23 +01002256<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 +01002257<tr class="separator:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002258<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>
2259<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>
2260<tr class="separator:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002261<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>
Kaizen8938bd32017-09-28 14:38:23 +01002262<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 +01002263<tr class="separator:a62232512d049619479b670c58a607924"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002264<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>
2265<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>
2266<tr class="separator:a4f425447c1efb8d2b48cb50b110f4739"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002267<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>
Kaizen8938bd32017-09-28 14:38:23 +01002268<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 +01002269<tr class="separator:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002270<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>
2271<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>
2272<tr class="separator:a790df824287a4f498e648dbbb481906b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002273<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>
Kaizen8938bd32017-09-28 14:38:23 +01002274<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 +01002275<tr class="separator:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002276<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>
2277<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>
2278<tr class="separator:a4a4859f4f212d3824e70a36aed901b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002279<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002280<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if<br class="typebreak"/>
2281&lt; <a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a>&lt; T &gt;<br class="typebreak"/>
2282::<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adfe7525e3cd542da6c043a98f93a8d3c">operator&amp;</a> (T lhs, T rhs)</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002283<tr class="separator:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002284<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2285<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>
2286<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>
2287<tr class="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2288<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2289<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>
2290<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>
2291<tr class="separator:a1c8d639ec2b3086a9506e72605a32333"><td class="memSeparator" colspan="2">&#160;</td></tr>
2292<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2293<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>
2294<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>
2295<tr class="separator:afa55519774605e5b840fb031fdd7b196"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002296<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>
Kaizen8938bd32017-09-28 14:38:23 +01002297<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 +01002298<tr class="separator:ab7b3af731907e85fcaf72555c446176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2299<tr class="memitem:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2300<tr class="memitem:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c0b9414fe3a6ef6a7a23bd324ae9e67">clamp</a> (const T &amp;n, const T &amp;lower, const T &amp;upper)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002301<tr class="memdesc:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs clamping among a lower and upper value. <a href="#a1c0b9414fe3a6ef6a7a23bd324ae9e67">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002302<tr class="separator:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
2303<tr class="memitem:a76e58198af8e930a851637e7e3eccbd2"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
2304<tr class="memitem:a76e58198af8e930a851637e7e3eccbd2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a> (F &amp;&amp;)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002305<tr class="memdesc:a76e58198af8e930a851637e7e3eccbd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base case of for_each. <a href="#a76e58198af8e930a851637e7e3eccbd2">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002306<tr class="separator:a76e58198af8e930a851637e7e3eccbd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2307<tr class="memitem:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memTemplParams" colspan="2">template&lt;typename F , typename T , typename... Ts&gt; </td></tr>
2308<tr class="memitem:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a> (F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002309<tr class="memdesc:ab951ff3c9484cd4b243344b3a0f12d95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the function for each of the arguments. <a href="#ab951ff3c9484cd4b243344b3a0f12d95">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002310<tr class="separator:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
2311<tr class="memitem:a6905c41fd996c479e46791ef58e440aa"><td class="memTemplParams" colspan="2">template&lt;typename F , typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002312<tr class="memitem:a6905c41fd996c479e46791ef58e440aa"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6905c41fd996c479e46791ef58e440aa">foldl</a> (F &amp;&amp;, const T &amp;<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)</td></tr>
2313<tr class="memdesc:a6905c41fd996c479e46791ef58e440aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base case of foldl. <a href="#a6905c41fd996c479e46791ef58e440aa">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002314<tr class="separator:a6905c41fd996c479e46791ef58e440aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2315<tr class="memitem:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memTemplParams" colspan="2">template&lt;typename F , typename T , typename U &gt; </td></tr>
2316<tr class="memitem:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f8e5c5fc77465cf3ac58b3d15305a5f">foldl</a> (F &amp;&amp;func, T &amp;&amp;value1, U &amp;&amp;value2) -&gt; decltype(func(value1, value2))</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002317<tr class="memdesc:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base case of foldl. <a href="#a7f8e5c5fc77465cf3ac58b3d15305a5f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002318<tr class="separator:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2319<tr class="memitem:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memTemplParams" colspan="2">template&lt;typename F , typename I , typename T , typename... Vs&gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002320<tr class="memitem:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memTemplItemLeft" align="right" valign="top">I&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a> (F &amp;&amp;func, I &amp;&amp;initial, T &amp;&amp;<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, Vs &amp;&amp;...values)</td></tr>
2321<tr class="memdesc:a05d0de315da2ecf1fa7d22ffad49b254"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fold left. <a href="#a05d0de315da2ecf1fa7d22ffad49b254">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002322<tr class="separator:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memSeparator" colspan="2">&#160;</td></tr>
2323<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplParams" colspan="2">template&lt;typename L , typename... Ts&gt; </td></tr>
2324<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>
Kaizen8938bd32017-09-28 14:38:23 +01002325<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 +01002326<tr class="separator:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002327<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2328<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>
Kaizen8938bd32017-09-28 14:38:23 +01002329<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 +00002330<tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002331<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>
Kaizen8938bd32017-09-28 14:38:23 +01002332<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 +01002333<tr class="separator:aa2117aef4381edbdf81e17ec088df7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2334<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>
Kaizen8938bd32017-09-28 14:38:23 +01002335<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 +01002336<tr class="separator:a47456b4d520aee1cba80bf6e20f6685a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2337<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>
Kaizen8938bd32017-09-28 14:38:23 +01002338<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 +01002339<tr class="separator:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002340<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2341<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3bb1b3d01f14dbc0beb1e826eefeddc6">intersect_valid_regions</a> (Ts &amp;&amp;...regions)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002342<tr class="memdesc:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersect multiple valid regions. <a href="#a3bb1b3d01f14dbc0beb1e826eefeddc6">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002343<tr class="separator:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002344<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
2345<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>
Kaizen8938bd32017-09-28 14:38:23 +01002346<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 +01002347<tr class="separator:a35178800b82e07a49da5a81cdeda9a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2348<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2349<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>
Kaizen8938bd32017-09-28 14:38:23 +01002350<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 +01002351<tr class="separator:a8c35748731709927597cb5a2c227e682"><td class="memSeparator" colspan="2">&#160;</td></tr>
2352<tr class="memitem:a1c9627ac3d73a67e9312c2c9740ff0a3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c9627ac3d73a67e9312c2c9740ff0a3">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)</td></tr>
2353<tr class="separator:a1c9627ac3d73a67e9312c2c9740ff0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2354<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>
2355<tr class="separator:a9d1a839c51134b2ae171a2264c541b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2356<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>
2357<tr class="separator:a8076ba239b6681067b6cfea7f773a39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2358<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>
2359<tr class="separator:ad19446be52c2c162fa678b9ae236f445"><td class="memSeparator" colspan="2">&#160;</td></tr>
2360<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>
2361<tr class="separator:a0894ed18ca6f55d6053882676cc2c95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002362<tr class="memitem:ae3c6412e9c2b3b6c75a577f700e9b228"><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#ae3c6412e9c2b3b6c75a577f700e9b228">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> policy, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size, bool border_undefined)</td></tr>
2363<tr class="memdesc:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#ae3c6412e9c2b3b6c75a577f700e9b228">More...</a><br/></td></tr>
2364<tr class="separator:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="memSeparator" colspan="2">&#160;</td></tr>
2365<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>
2366<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>
2367<tr class="separator:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2368<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>
2369<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>
2370<tr class="separator:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002371<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>
Kaizen8938bd32017-09-28 14:38:23 +01002372<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 +00002373<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2374<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>
Kaizen8938bd32017-09-28 14:38:23 +01002375<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 +00002376<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2377<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>
2378<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2">&#160;</td></tr>
2379<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>
2380<tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2381<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template&lt;bool yuyv, bool alpha&gt; </td></tr>
2382<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>
2383<tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2384<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template&lt;bool uv, bool alpha&gt; </td></tr>
2385<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>
2386<tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2">&#160;</td></tr>
2387<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2388<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>
2389<tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2">&#160;</td></tr>
2390<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
2391<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>
2392<tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2393<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>
2394<tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2395<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
2396<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>
2397<tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2">&#160;</td></tr>
2398<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
2399<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>
2400<tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
2401<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
2402<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>
2403<tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
2404<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>
2405<tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2406<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2407<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>
2408<tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2409<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2410<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>
2411<tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2">&#160;</td></tr>
2412<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2413<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>
2414<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002415<tr class="memitem:a85ff7d135f7aa13359bd575139ba14dd"><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#a85ff7d135f7aa13359bd575139ba14dd">vget_low_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002416<tr class="memdesc:a85ff7d135f7aa13359bd575139ba14dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#a85ff7d135f7aa13359bd575139ba14dd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002417<tr class="separator:a85ff7d135f7aa13359bd575139ba14dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002418<tr class="memitem:ae895c5b470fcf069afd626bb36c63e3d"><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#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2419<tr class="memdesc:ae895c5b470fcf069afd626bb36c63e3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#ae895c5b470fcf069afd626bb36c63e3d">More...</a><br/></td></tr>
2420<tr class="separator:ae895c5b470fcf069afd626bb36c63e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002421<tr class="memitem:ab93c92d0f3228809b6a4bfaa24eb4924"><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#ab93c92d0f3228809b6a4bfaa24eb4924">vget_high_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002422<tr class="memdesc:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ab93c92d0f3228809b6a4bfaa24eb4924">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002423<tr class="separator:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002424<tr class="memitem:ac2edef8bf07bce91b37aa02b952b8ed6"><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#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2425<tr class="memdesc:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ac2edef8bf07bce91b37aa02b952b8ed6">More...</a><br/></td></tr>
2426<tr class="separator:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002427<tr class="memitem:a77ef79482edac98140bbdfaeffb78b8f"><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#a77ef79482edac98140bbdfaeffb78b8f">vld1_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002428<tr class="memdesc:a77ef79482edac98140bbdfaeffb78b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (8 elements) <a href="#a77ef79482edac98140bbdfaeffb78b8f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002429<tr class="separator:a77ef79482edac98140bbdfaeffb78b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002430<tr class="memitem:a1470ca9d692f773f33ddbd9b3a37f1f9"><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#a1470ca9d692f773f33ddbd9b3a37f1f9">vld1_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002431<tr class="memdesc:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (4 elements) <a href="#a1470ca9d692f773f33ddbd9b3a37f1f9">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002432<tr class="separator:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002433<tr class="memitem:aba22755f7d41ffc62e23e5594751ecaa"><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#aba22755f7d41ffc62e23e5594751ecaa">vld1q_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
2434<tr class="memdesc:aba22755f7d41ffc62e23e5594751ecaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (16 elements) <a href="#aba22755f7d41ffc62e23e5594751ecaa">More...</a><br/></td></tr>
2435<tr class="separator:aba22755f7d41ffc62e23e5594751ecaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002436<tr class="memitem:aaa2cfaf59eb25ffb975bea87844e23c6"><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#aaa2cfaf59eb25ffb975bea87844e23c6">vld1q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002437<tr class="memdesc:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (8 elements) <a href="#aaa2cfaf59eb25ffb975bea87844e23c6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002438<tr class="separator:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2439<tr class="memitem:ada853a8e19c80626633d95392d2b4a8b"><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#ada853a8e19c80626633d95392d2b4a8b">vld1_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002440<tr class="memdesc:ada853a8e19c80626633d95392d2b4a8b"><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="#ada853a8e19c80626633d95392d2b4a8b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002441<tr class="separator:ada853a8e19c80626633d95392d2b4a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002442<tr class="memitem:a4cd20897bfcf3b38125c1b1cd3642d2f"><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#a4cd20897bfcf3b38125c1b1cd3642d2f">vld1_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2443<tr class="memdesc:a4cd20897bfcf3b38125c1b1cd3642d2f"><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="#a4cd20897bfcf3b38125c1b1cd3642d2f">More...</a><br/></td></tr>
2444<tr class="separator:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002445<tr class="memitem:ad988b528a38525b8ceca56ed8d09c801"><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#ad988b528a38525b8ceca56ed8d09c801">vld1q_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002446<tr class="memdesc:ad988b528a38525b8ceca56ed8d09c801"><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="#ad988b528a38525b8ceca56ed8d09c801">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002447<tr class="separator:ad988b528a38525b8ceca56ed8d09c801"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002448<tr class="memitem:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><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#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">vld1q_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2449<tr class="memdesc:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><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="#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">More...</a><br/></td></tr>
2450<tr class="separator:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2451<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>
2452<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>
2453<tr class="separator:a8bab58697ee7d7df117384a05d4e2f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002454<tr class="memitem:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a509f3f9d910651d71d9f7dc3b5b3b92a">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>
Kaizen8938bd32017-09-28 14:38:23 +01002455<tr class="memdesc:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (8 elements) <a href="#a509f3f9d910651d71d9f7dc3b5b3b92a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002456<tr class="separator:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002457<tr class="memitem:a1d54a1ef0078902b2334d2fddba74ca6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d54a1ef0078902b2334d2fddba74ca6">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>
Kaizen8938bd32017-09-28 14:38:23 +01002458<tr class="memdesc:a1d54a1ef0078902b2334d2fddba74ca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (4 elements) <a href="#a1d54a1ef0078902b2334d2fddba74ca6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002459<tr class="separator:a1d54a1ef0078902b2334d2fddba74ca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002460<tr class="memitem:acf4cb0bc89b25c5fac96935d040207f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf4cb0bc89b25c5fac96935d040207f6">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>
2461<tr class="memdesc:acf4cb0bc89b25c5fac96935d040207f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (16 elements) <a href="#acf4cb0bc89b25c5fac96935d040207f6">More...</a><br/></td></tr>
2462<tr class="separator:acf4cb0bc89b25c5fac96935d040207f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002463<tr class="memitem:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bb5f297efd64b941f5022ea3cd7ee9a">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>
Kaizen8938bd32017-09-28 14:38:23 +01002464<tr class="memdesc:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (8 elements) <a href="#a8bb5f297efd64b941f5022ea3cd7ee9a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002465<tr class="separator:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002466<tr class="memitem:a22c6d123d670e84d939d5b887976328d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22c6d123d670e84d939d5b887976328d">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>
2467<tr class="memdesc:a22c6d123d670e84d939d5b887976328d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store two 16 bit fixed point vector to memory (8x2 elements) <a href="#a22c6d123d670e84d939d5b887976328d">More...</a><br/></td></tr>
2468<tr class="separator:a22c6d123d670e84d939d5b887976328d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002469<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>
Kaizen8938bd32017-09-28 14:38:23 +01002470<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 +01002471<tr class="separator:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002472<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>
2473<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>
2474<tr class="separator:a12e7578c32321d2362114563881153ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002475<tr class="memitem:a1a226812e3cfdf3494adbdd92d4a1cb3"><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#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002476<tr class="memdesc:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (8 elements) <a href="#a1a226812e3cfdf3494adbdd92d4a1cb3">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002477<tr class="separator:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002478<tr class="memitem:a1f6c3965dec29d8ac84ff84a164e9d8e"><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#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
2479<tr class="memdesc:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (4 elements) <a href="#a1f6c3965dec29d8ac84ff84a164e9d8e">More...</a><br/></td></tr>
2480<tr class="separator:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002481<tr class="memitem:adbd4df93ed00fcda54f91e669ea2be04"><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#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002482<tr class="memdesc:adbd4df93ed00fcda54f91e669ea2be04"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (16 elements) <a href="#adbd4df93ed00fcda54f91e669ea2be04">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002483<tr class="separator:adbd4df93ed00fcda54f91e669ea2be04"><td class="memSeparator" colspan="2">&#160;</td></tr>
2484<tr class="memitem:ab20e66231de6c259952534de39214784"><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#ab20e66231de6c259952534de39214784">vdupq_n_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002485<tr class="memdesc:ab20e66231de6c259952534de39214784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 8 bit fixed point vector (16 elements) <a href="#ab20e66231de6c259952534de39214784">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002486<tr class="separator:ab20e66231de6c259952534de39214784"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002487<tr class="memitem:a2b3337b650277502ad64d8ba55f9b8b2"><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#a2b3337b650277502ad64d8ba55f9b8b2">vdupq_n_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
2488<tr class="memdesc:a2b3337b650277502ad64d8ba55f9b8b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 16 bit fixed point vector (8 elements) <a href="#a2b3337b650277502ad64d8ba55f9b8b2">More...</a><br/></td></tr>
2489<tr class="separator:a2b3337b650277502ad64d8ba55f9b8b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002490<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>
Kaizen8938bd32017-09-28 14:38:23 +01002491<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 +01002492<tr class="separator:a740436aed8843612da747f40ff926875"><td class="memSeparator" colspan="2">&#160;</td></tr>
2493<tr class="memitem:ab62f4e080614df358423180767cffefd"><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#ab62f4e080614df358423180767cffefd">vabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002494<tr class="memdesc:ab62f4e080614df358423180767cffefd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (8 elements) <a href="#ab62f4e080614df358423180767cffefd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002495<tr class="separator:ab62f4e080614df358423180767cffefd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002496<tr class="memitem:a5344249fe56e2a6cf0b7336c069cb846"><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#a5344249fe56e2a6cf0b7336c069cb846">vabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
2497<tr class="memdesc:a5344249fe56e2a6cf0b7336c069cb846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (4 elements) <a href="#a5344249fe56e2a6cf0b7336c069cb846">More...</a><br/></td></tr>
2498<tr class="separator:a5344249fe56e2a6cf0b7336c069cb846"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002499<tr class="memitem:a3e4c45da2bef323158955d7c3b9d148d"><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#a3e4c45da2bef323158955d7c3b9d148d">vabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002500<tr class="memdesc:a3e4c45da2bef323158955d7c3b9d148d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (16 elements) <a href="#a3e4c45da2bef323158955d7c3b9d148d">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002501<tr class="separator:a3e4c45da2bef323158955d7c3b9d148d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002502<tr class="memitem:a15cf61eaeb7d9b008f262936f6f4cca8"><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#a15cf61eaeb7d9b008f262936f6f4cca8">vabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2503<tr class="memdesc:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (8 elements) <a href="#a15cf61eaeb7d9b008f262936f6f4cca8">More...</a><br/></td></tr>
2504<tr class="separator:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002505<tr class="memitem:a4b2c9440d5fa4909ae909869877f39e3"><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#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002506<tr class="memdesc:a4b2c9440d5fa4909ae909869877f39e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (8 elements) <a href="#a4b2c9440d5fa4909ae909869877f39e3">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002507<tr class="separator:a4b2c9440d5fa4909ae909869877f39e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002508<tr class="memitem:a7c97511a35de87be34f48b4ab4b3c222"><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#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
2509<tr class="memdesc:a7c97511a35de87be34f48b4ab4b3c222"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (4 elements) <a href="#a7c97511a35de87be34f48b4ab4b3c222">More...</a><br/></td></tr>
2510<tr class="separator:a7c97511a35de87be34f48b4ab4b3c222"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002511<tr class="memitem:ac8095edd652a1f3a76bf9d0f4251827a"><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#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002512<tr class="memdesc:ac8095edd652a1f3a76bf9d0f4251827a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (16 elements) <a href="#ac8095edd652a1f3a76bf9d0f4251827a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002513<tr class="separator:ac8095edd652a1f3a76bf9d0f4251827a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002514<tr class="memitem:aa001ed913705cf378d947052435917aa"><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#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2515<tr class="memdesc:aa001ed913705cf378d947052435917aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (8 elements) <a href="#aa001ed913705cf378d947052435917aa">More...</a><br/></td></tr>
2516<tr class="separator:aa001ed913705cf378d947052435917aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002517<tr class="memitem:a3e913e95e286244f24f9a381909c8b26"><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#a3e913e95e286244f24f9a381909c8b26">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>
Kaizen8938bd32017-09-28 14:38:23 +01002518<tr class="memdesc:a3e913e95e286244f24f9a381909c8b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (8 elements) <a href="#a3e913e95e286244f24f9a381909c8b26">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002519<tr class="separator:a3e913e95e286244f24f9a381909c8b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002520<tr class="memitem:a5db8c0cf0dba918904733f0c9a8bedc8"><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#a5db8c0cf0dba918904733f0c9a8bedc8">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>
2521<tr class="memdesc:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (4 elements) <a href="#a5db8c0cf0dba918904733f0c9a8bedc8">More...</a><br/></td></tr>
2522<tr class="separator:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002523<tr class="memitem:a1627f818fb2ca90f7c3880f959030556"><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#a1627f818fb2ca90f7c3880f959030556">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>
Kaizen8938bd32017-09-28 14:38:23 +01002524<tr class="memdesc:a1627f818fb2ca90f7c3880f959030556"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (16 elements) <a href="#a1627f818fb2ca90f7c3880f959030556">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002525<tr class="separator:a1627f818fb2ca90f7c3880f959030556"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002526<tr class="memitem:a952d1f0a7f47167985554aed39b737ac"><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#a952d1f0a7f47167985554aed39b737ac">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>
2527<tr class="memdesc:a952d1f0a7f47167985554aed39b737ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (8 elements) <a href="#a952d1f0a7f47167985554aed39b737ac">More...</a><br/></td></tr>
2528<tr class="separator:a952d1f0a7f47167985554aed39b737ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002529<tr class="memitem:a1ecd37cd4eb461a98ca7c429e51802d2"><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#a1ecd37cd4eb461a98ca7c429e51802d2">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>
Kaizen8938bd32017-09-28 14:38:23 +01002530<tr class="memdesc:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise max (8 elements) <a href="#a1ecd37cd4eb461a98ca7c429e51802d2">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002531<tr class="separator:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002532<tr class="memitem:a8ee6fe28466be3c48a70debe663b08d4"><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#a8ee6fe28466be3c48a70debe663b08d4">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>
2533<tr class="memdesc:a8ee6fe28466be3c48a70debe663b08d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise max (4 elements) <a href="#a8ee6fe28466be3c48a70debe663b08d4">More...</a><br/></td></tr>
2534<tr class="separator:a8ee6fe28466be3c48a70debe663b08d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002535<tr class="memitem:abed4a7c95569e1fa72d0f8bfe5a50c84"><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#abed4a7c95569e1fa72d0f8bfe5a50c84">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>
Kaizen8938bd32017-09-28 14:38:23 +01002536<tr class="memdesc:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (8 elements) <a href="#abed4a7c95569e1fa72d0f8bfe5a50c84">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002537<tr class="separator:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002538<tr class="memitem:ac0eb95618787b12b93aeb2f3f101dad2"><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#ac0eb95618787b12b93aeb2f3f101dad2">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>
2539<tr class="memdesc:ac0eb95618787b12b93aeb2f3f101dad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (4 elements) <a href="#ac0eb95618787b12b93aeb2f3f101dad2">More...</a><br/></td></tr>
2540<tr class="separator:ac0eb95618787b12b93aeb2f3f101dad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002541<tr class="memitem:a3b393341c8500b469780137b3548f70b"><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#a3b393341c8500b469780137b3548f70b">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>
Kaizen8938bd32017-09-28 14:38:23 +01002542<tr class="memdesc:a3b393341c8500b469780137b3548f70b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (16 elements) <a href="#a3b393341c8500b469780137b3548f70b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002543<tr class="separator:a3b393341c8500b469780137b3548f70b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002544<tr class="memitem:a9724e1c56a877ce483c84420297dd638"><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#a9724e1c56a877ce483c84420297dd638">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>
2545<tr class="memdesc:a9724e1c56a877ce483c84420297dd638"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (8 elements) <a href="#a9724e1c56a877ce483c84420297dd638">More...</a><br/></td></tr>
2546<tr class="separator:a9724e1c56a877ce483c84420297dd638"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002547<tr class="memitem:ad3f599d91685017d37e87d36170a5342"><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#ad3f599d91685017d37e87d36170a5342">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>
Kaizen8938bd32017-09-28 14:38:23 +01002548<tr class="memdesc:ad3f599d91685017d37e87d36170a5342"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise min (8 elements) <a href="#ad3f599d91685017d37e87d36170a5342">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002549<tr class="separator:ad3f599d91685017d37e87d36170a5342"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002550<tr class="memitem:a9d9d1279b08f3e79fd0cf019b79138f9"><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#a9d9d1279b08f3e79fd0cf019b79138f9">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>
2551<tr class="memdesc:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise min (4 elements) <a href="#a9d9d1279b08f3e79fd0cf019b79138f9">More...</a><br/></td></tr>
2552<tr class="separator:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002553<tr class="memitem:ad91fc981c1b7b04a1975de3aefc6a4f7"><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#ad91fc981c1b7b04a1975de3aefc6a4f7">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>
Kaizen8938bd32017-09-28 14:38:23 +01002554<tr class="memdesc:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (8 elements) <a href="#ad91fc981c1b7b04a1975de3aefc6a4f7">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002555<tr class="separator:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002556<tr class="memitem:ac28c9ffea6f2c962ec87f69d377faaeb"><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#ac28c9ffea6f2c962ec87f69d377faaeb">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>
2557<tr class="memdesc:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (4 elements) <a href="#ac28c9ffea6f2c962ec87f69d377faaeb">More...</a><br/></td></tr>
2558<tr class="separator:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002559<tr class="memitem:a30eeb53208a2f67d4b0cf73a81b09467"><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#a30eeb53208a2f67d4b0cf73a81b09467">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>
Kaizen8938bd32017-09-28 14:38:23 +01002560<tr class="memdesc:a30eeb53208a2f67d4b0cf73a81b09467"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (16 elements) <a href="#a30eeb53208a2f67d4b0cf73a81b09467">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002561<tr class="separator:a30eeb53208a2f67d4b0cf73a81b09467"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002562<tr class="memitem:a2a84234e327a554d7ce7f97f269b6efc"><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#a2a84234e327a554d7ce7f97f269b6efc">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>
2563<tr class="memdesc:a2a84234e327a554d7ce7f97f269b6efc"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (8 elements) <a href="#a2a84234e327a554d7ce7f97f269b6efc">More...</a><br/></td></tr>
2564<tr class="separator:a2a84234e327a554d7ce7f97f269b6efc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002565<tr class="memitem:a8a14fe5fc71105c9bfebb28a58f06a52"><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#a8a14fe5fc71105c9bfebb28a58f06a52">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>
Kaizen8938bd32017-09-28 14:38:23 +01002566<tr class="memdesc:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (8 elements) <a href="#a8a14fe5fc71105c9bfebb28a58f06a52">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002567<tr class="separator:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002568<tr class="memitem:ad80ab0f6b783c10e0488cb84a8812e8f"><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#ad80ab0f6b783c10e0488cb84a8812e8f">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>
Kaizen8938bd32017-09-28 14:38:23 +01002569<tr class="memdesc:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (4 elements) <a href="#ad80ab0f6b783c10e0488cb84a8812e8f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002570<tr class="separator:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002571<tr class="memitem:a9765c5ee2d3cc9e3ca983fd2f47ba916"><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#a9765c5ee2d3cc9e3ca983fd2f47ba916">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>
2572<tr class="memdesc:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (16 elements) <a href="#a9765c5ee2d3cc9e3ca983fd2f47ba916">More...</a><br/></td></tr>
2573<tr class="separator:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002574<tr class="memitem:a9d88750b393cdfe6f5685107bb1d98f7"><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#a9d88750b393cdfe6f5685107bb1d98f7">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>
Kaizen8938bd32017-09-28 14:38:23 +01002575<tr class="memdesc:a9d88750b393cdfe6f5685107bb1d98f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (8 elements) <a href="#a9d88750b393cdfe6f5685107bb1d98f7">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002576<tr class="separator:a9d88750b393cdfe6f5685107bb1d98f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2577<tr class="memitem:ac73b89ba44bae1df9a8998ad2a99996e"><td class="memItemLeft" align="right" valign="top">int16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac73b89ba44bae1df9a8998ad2a99996e">vpaddl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002578<tr class="memdesc:ac73b89ba44bae1df9a8998ad2a99996e"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating pairwise add (8 elements) <a href="#ac73b89ba44bae1df9a8998ad2a99996e">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002579<tr class="separator:ac73b89ba44bae1df9a8998ad2a99996e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2580<tr class="memitem:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><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#a90c8ce2712bdb44fd58e3fa8b78bf6fb">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>
Kaizen8938bd32017-09-28 14:38:23 +01002581<tr class="memdesc:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (8 elements) <a href="#a90c8ce2712bdb44fd58e3fa8b78bf6fb">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002582<tr class="separator:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002583<tr class="memitem:a420a19dca7258dbae20af6d92dc62926"><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#a420a19dca7258dbae20af6d92dc62926">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>
2584<tr class="memdesc:a420a19dca7258dbae20af6d92dc62926"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (4 elements) <a href="#a420a19dca7258dbae20af6d92dc62926">More...</a><br/></td></tr>
2585<tr class="separator:a420a19dca7258dbae20af6d92dc62926"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002586<tr class="memitem:a1adda6690cbca8a996255e311e4762d4"><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#a1adda6690cbca8a996255e311e4762d4">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>
Kaizen8938bd32017-09-28 14:38:23 +01002587<tr class="memdesc:a1adda6690cbca8a996255e311e4762d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (16 elements) <a href="#a1adda6690cbca8a996255e311e4762d4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002588<tr class="separator:a1adda6690cbca8a996255e311e4762d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002589<tr class="memitem:a43569be4a403f390486148701b424e8a"><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#a43569be4a403f390486148701b424e8a">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>
2590<tr class="memdesc:a43569be4a403f390486148701b424e8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (8 elements) <a href="#a43569be4a403f390486148701b424e8a">More...</a><br/></td></tr>
2591<tr class="separator:a43569be4a403f390486148701b424e8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002592<tr class="memitem:a5b1437029acce06690a938e09f5a762a"><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#a5b1437029acce06690a938e09f5a762a">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>
Kaizen8938bd32017-09-28 14:38:23 +01002593<tr class="memdesc:a5b1437029acce06690a938e09f5a762a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (8 elements) <a href="#a5b1437029acce06690a938e09f5a762a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002594<tr class="separator:a5b1437029acce06690a938e09f5a762a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002595<tr class="memitem:a73a131b9775ce771a1a25607a83b0ca9"><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#a73a131b9775ce771a1a25607a83b0ca9">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>
2596<tr class="memdesc:a73a131b9775ce771a1a25607a83b0ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (4 elements) <a href="#a73a131b9775ce771a1a25607a83b0ca9">More...</a><br/></td></tr>
2597<tr class="separator:a73a131b9775ce771a1a25607a83b0ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002598<tr class="memitem:ab2a6ce3d8239e49c81af1ebc617680b4"><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#ab2a6ce3d8239e49c81af1ebc617680b4">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>
Kaizen8938bd32017-09-28 14:38:23 +01002599<tr class="memdesc:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (16 elements) <a href="#ab2a6ce3d8239e49c81af1ebc617680b4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002600<tr class="separator:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002601<tr class="memitem:a9edb31327a1e06c730d5a09b14dcfeb9"><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#a9edb31327a1e06c730d5a09b14dcfeb9">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>
2602<tr class="memdesc:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (8 elements) <a href="#a9edb31327a1e06c730d5a09b14dcfeb9">More...</a><br/></td></tr>
2603<tr class="separator:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002604<tr class="memitem:afccf1305c480f2338af8925bba6b54cd"><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#afccf1305c480f2338af8925bba6b54cd">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>
Kaizen8938bd32017-09-28 14:38:23 +01002605<tr class="memdesc:afccf1305c480f2338af8925bba6b54cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (8 elements) <a href="#afccf1305c480f2338af8925bba6b54cd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002606<tr class="separator:afccf1305c480f2338af8925bba6b54cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002607<tr class="memitem:ac1b67e3283a1cae4d57b7f64137f5f5c"><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#ac1b67e3283a1cae4d57b7f64137f5f5c">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>
2608<tr class="memdesc:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (4 elements) <a href="#ac1b67e3283a1cae4d57b7f64137f5f5c">More...</a><br/></td></tr>
2609<tr class="separator:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002610<tr class="memitem:a031b17d4102856aa4d6bf7ebf83bf0ab"><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#a031b17d4102856aa4d6bf7ebf83bf0ab">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>
Kaizen8938bd32017-09-28 14:38:23 +01002611<tr class="memdesc:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (16 elements) <a href="#a031b17d4102856aa4d6bf7ebf83bf0ab">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002612<tr class="separator:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002613<tr class="memitem:a74ea79cda0ff6a819b2e5176fe0fc622"><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#a74ea79cda0ff6a819b2e5176fe0fc622">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>
2614<tr class="memdesc:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (8 elements) <a href="#a74ea79cda0ff6a819b2e5176fe0fc622">More...</a><br/></td></tr>
2615<tr class="separator:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002616<tr class="memitem:a746205173d1a1f3955fa0c26b5be3b10"><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#a746205173d1a1f3955fa0c26b5be3b10">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>
Kaizen8938bd32017-09-28 14:38:23 +01002617<tr class="memdesc:a746205173d1a1f3955fa0c26b5be3b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (8 elements) <a href="#a746205173d1a1f3955fa0c26b5be3b10">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002618<tr class="separator:a746205173d1a1f3955fa0c26b5be3b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002619<tr class="memitem:aec34399f16d824f79571abe464556466"><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#aec34399f16d824f79571abe464556466">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>
2620<tr class="memdesc:aec34399f16d824f79571abe464556466"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (4 elements) <a href="#aec34399f16d824f79571abe464556466">More...</a><br/></td></tr>
2621<tr class="separator:aec34399f16d824f79571abe464556466"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002622<tr class="memitem:a081c0605c83155125ad95a144a1d6071"><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#a081c0605c83155125ad95a144a1d6071">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>
Kaizen8938bd32017-09-28 14:38:23 +01002623<tr class="memdesc:a081c0605c83155125ad95a144a1d6071"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (16 elements) <a href="#a081c0605c83155125ad95a144a1d6071">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002624<tr class="separator:a081c0605c83155125ad95a144a1d6071"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002625<tr class="memitem:a982d792d366430a954d96e8575d3c313"><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#a982d792d366430a954d96e8575d3c313">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>
2626<tr class="memdesc:a982d792d366430a954d96e8575d3c313"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (8 elements) <a href="#a982d792d366430a954d96e8575d3c313">More...</a><br/></td></tr>
2627<tr class="separator:a982d792d366430a954d96e8575d3c313"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002628<tr class="memitem:a3e959a9add1078033f3a27725323df13"><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#a3e959a9add1078033f3a27725323df13">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>
Kaizen8938bd32017-09-28 14:38:23 +01002629<tr class="memdesc:a3e959a9add1078033f3a27725323df13"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector long multiply (8 elements) <a href="#a3e959a9add1078033f3a27725323df13">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002630<tr class="separator:a3e959a9add1078033f3a27725323df13"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002631<tr class="memitem:afce8b13d7a800aa8ac24733160130cfc"><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#afce8b13d7a800aa8ac24733160130cfc">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>
2632<tr class="memdesc:afce8b13d7a800aa8ac24733160130cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector long multiply (4 elements) <a href="#afce8b13d7a800aa8ac24733160130cfc">More...</a><br/></td></tr>
2633<tr class="separator:afce8b13d7a800aa8ac24733160130cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002634<tr class="memitem:a26fd8532b87adbcf27214504c38918e4"><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#a26fd8532b87adbcf27214504c38918e4">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>
Kaizen8938bd32017-09-28 14:38:23 +01002635<tr class="memdesc:a26fd8532b87adbcf27214504c38918e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (8 elements). <a href="#a26fd8532b87adbcf27214504c38918e4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002636<tr class="separator:a26fd8532b87adbcf27214504c38918e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002637<tr class="memitem:a274a6a8a684dd31dbd2a1ebef37b38db"><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#a274a6a8a684dd31dbd2a1ebef37b38db">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>
2638<tr class="memdesc:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (4 elements). <a href="#a274a6a8a684dd31dbd2a1ebef37b38db">More...</a><br/></td></tr>
2639<tr class="separator:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002640<tr class="memitem:aca905840b37a91fff71e163aa619904c"><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#aca905840b37a91fff71e163aa619904c">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>
Kaizen8938bd32017-09-28 14:38:23 +01002641<tr class="memdesc:aca905840b37a91fff71e163aa619904c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (16 elements). <a href="#aca905840b37a91fff71e163aa619904c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002642<tr class="separator:aca905840b37a91fff71e163aa619904c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002643<tr class="memitem:afac88503bedaf0d617729062991518d7"><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#afac88503bedaf0d617729062991518d7">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>
2644<tr class="memdesc:afac88503bedaf0d617729062991518d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (16 elements). <a href="#afac88503bedaf0d617729062991518d7">More...</a><br/></td></tr>
2645<tr class="separator:afac88503bedaf0d617729062991518d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002646<tr class="memitem:ac6cb55578e8ff1f3c20aa50f2e728679"><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#ac6cb55578e8ff1f3c20aa50f2e728679">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>
Kaizen8938bd32017-09-28 14:38:23 +01002647<tr class="memdesc:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#ac6cb55578e8ff1f3c20aa50f2e728679">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002648<tr class="separator:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002649<tr class="memitem:aa761736badde8e65c51952cc613be3b9"><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#aa761736badde8e65c51952cc613be3b9">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>
2650<tr class="memdesc:aa761736badde8e65c51952cc613be3b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (4 elements). <a href="#aa761736badde8e65c51952cc613be3b9">More...</a><br/></td></tr>
2651<tr class="separator:aa761736badde8e65c51952cc613be3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002652<tr class="memitem:a037ac8df4a7e30a455a97218b88b67ad"><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#a037ac8df4a7e30a455a97218b88b67ad">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>
Kaizen8938bd32017-09-28 14:38:23 +01002653<tr class="memdesc:a037ac8df4a7e30a455a97218b88b67ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (16 elements). <a href="#a037ac8df4a7e30a455a97218b88b67ad">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002654<tr class="separator:a037ac8df4a7e30a455a97218b88b67ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002655<tr class="memitem:aed829745c42ecd74cfff15bc92936ba5"><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#aed829745c42ecd74cfff15bc92936ba5">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>
2656<tr class="memdesc:aed829745c42ecd74cfff15bc92936ba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#aed829745c42ecd74cfff15bc92936ba5">More...</a><br/></td></tr>
2657<tr class="separator:aed829745c42ecd74cfff15bc92936ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002658<tr class="memitem:a13873b51e98dcb41229ccf911e671693"><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#a13873b51e98dcb41229ccf911e671693">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>
Kaizen8938bd32017-09-28 14:38:23 +01002659<tr class="memdesc:a13873b51e98dcb41229ccf911e671693"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate long (8 elements). <a href="#a13873b51e98dcb41229ccf911e671693">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002660<tr class="separator:a13873b51e98dcb41229ccf911e671693"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002661<tr class="memitem:ae236b9df08e568bb4b1dcc89896cff7e"><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#ae236b9df08e568bb4b1dcc89896cff7e">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>
2662<tr class="memdesc:ae236b9df08e568bb4b1dcc89896cff7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate long (4 elements). <a href="#ae236b9df08e568bb4b1dcc89896cff7e">More...</a><br/></td></tr>
2663<tr class="separator:ae236b9df08e568bb4b1dcc89896cff7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002664<tr class="memitem:aedfa26202753ca9db96ae3bcb51b14b0"><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#aedfa26202753ca9db96ae3bcb51b14b0">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>
Kaizen8938bd32017-09-28 14:38:23 +01002665<tr class="memdesc:aedfa26202753ca9db96ae3bcb51b14b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate long (8 elements). <a href="#aedfa26202753ca9db96ae3bcb51b14b0">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002666<tr class="separator:aedfa26202753ca9db96ae3bcb51b14b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002667<tr class="memitem:a71633dedee7ccca61420733d9fd24fae"><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#a71633dedee7ccca61420733d9fd24fae">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>
2668<tr class="memdesc:a71633dedee7ccca61420733d9fd24fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate long (4 elements). <a href="#a71633dedee7ccca61420733d9fd24fae">More...</a><br/></td></tr>
2669<tr class="separator:a71633dedee7ccca61420733d9fd24fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
2670<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>
2671<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>
2672<tr class="separator:a371a36182341de1fa885d16e8780302f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2673<tr class="memitem:afbaee7c07c41b0138ee0f3aefecc6160"><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#afbaee7c07c41b0138ee0f3aefecc6160">vqcvt_qs16_f32</a> (const float32x4_t a, int fixed_point_position)</td></tr>
2674<tr class="memdesc:afbaee7c07c41b0138ee0f3aefecc6160"><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="#afbaee7c07c41b0138ee0f3aefecc6160">More...</a><br/></td></tr>
2675<tr class="separator:afbaee7c07c41b0138ee0f3aefecc6160"><td class="memSeparator" colspan="2">&#160;</td></tr>
2676<tr class="memitem:ad7eb7d308bb87e94eb693bc13eda5adc"><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#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a> (const float32x4x4_t &amp;a, int fixed_point_position)</td></tr>
2677<tr class="memdesc:ad7eb7d308bb87e94eb693bc13eda5adc"><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="#ad7eb7d308bb87e94eb693bc13eda5adc">More...</a><br/></td></tr>
2678<tr class="separator:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2679<tr class="memitem:afe99b690ec0046061f66f699fa055b47"><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#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a> (const float32x4x2_t &amp;a, int fixed_point_position)</td></tr>
2680<tr class="memdesc:afe99b690ec0046061f66f699fa055b47"><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="#afe99b690ec0046061f66f699fa055b47">More...</a><br/></td></tr>
2681<tr class="separator:afe99b690ec0046061f66f699fa055b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002682<tr class="memitem:a14a78befffd5c48b43554fdc28d654ff"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14a78befffd5c48b43554fdc28d654ff">vcvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002683<tr class="memdesc:a14a78befffd5c48b43554fdc28d654ff"><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="#a14a78befffd5c48b43554fdc28d654ff">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002684<tr class="separator:a14a78befffd5c48b43554fdc28d654ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002685<tr class="memitem:a771203a3bf0d0df11dbf90f492525656"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a771203a3bf0d0df11dbf90f492525656">vcvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2686<tr class="memdesc:a771203a3bf0d0df11dbf90f492525656"><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="#a771203a3bf0d0df11dbf90f492525656">More...</a><br/></td></tr>
2687<tr class="separator:a771203a3bf0d0df11dbf90f492525656"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002688<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>
Kaizen8938bd32017-09-28 14:38:23 +01002689<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 +01002690<tr class="separator:a19e68f6a298ae587a491df52d6859350"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002691<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>
2692<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>
2693<tr class="separator:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002694<tr class="memitem:aa24b270b0193ad8983dfecd6105c4936"><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#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002695<tr class="memdesc:aa24b270b0193ad8983dfecd6105c4936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aa24b270b0193ad8983dfecd6105c4936">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002696<tr class="separator:aa24b270b0193ad8983dfecd6105c4936"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002697<tr class="memitem:a8e14017f1276f4a4e14078d93ed692bd"><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#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2698<tr class="memdesc:a8e14017f1276f4a4e14078d93ed692bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a8e14017f1276f4a4e14078d93ed692bd">More...</a><br/></td></tr>
2699<tr class="separator:a8e14017f1276f4a4e14078d93ed692bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002700<tr class="memitem:abbeb1dc4834fb4e97cf94d702d0e0f91"><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#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002701<tr class="memdesc:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#abbeb1dc4834fb4e97cf94d702d0e0f91">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002702<tr class="separator:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002703<tr class="memitem:aea1b943c0452ea124c9f8ac0d1315bed"><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#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2704<tr class="memdesc:aea1b943c0452ea124c9f8ac0d1315bed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aea1b943c0452ea124c9f8ac0d1315bed">More...</a><br/></td></tr>
2705<tr class="separator:aea1b943c0452ea124c9f8ac0d1315bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002706<tr class="memitem:aeab4c6963804a85c9ea6c319f4e95a0b"><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#aeab4c6963804a85c9ea6c319f4e95a0b">vdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int8x8_t b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002707<tr class="memdesc:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (8 elements) <a href="#aeab4c6963804a85c9ea6c319f4e95a0b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002708<tr class="separator:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002709<tr class="memitem:aa65479f6532283c215e398735d0b3c22"><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#aa65479f6532283c215e398735d0b3c22">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>
2710<tr class="memdesc:aa65479f6532283c215e398735d0b3c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (4 elements) <a href="#aa65479f6532283c215e398735d0b3c22">More...</a><br/></td></tr>
2711<tr class="separator:aa65479f6532283c215e398735d0b3c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
2712<tr class="memitem:ae589b6f4ada9d9cb81f70897d7991cd1"><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#ae589b6f4ada9d9cb81f70897d7991cd1">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>
2713<tr class="memdesc:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (16 elements) <a href="#ae589b6f4ada9d9cb81f70897d7991cd1">More...</a><br/></td></tr>
2714<tr class="separator:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2715<tr class="memitem:a2c21a21a9004609887c0a6f5304faa2a"><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#a2c21a21a9004609887c0a6f5304faa2a">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>
2716<tr class="memdesc:a2c21a21a9004609887c0a6f5304faa2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (8 elements) <a href="#a2c21a21a9004609887c0a6f5304faa2a">More...</a><br/></td></tr>
2717<tr class="separator:a2c21a21a9004609887c0a6f5304faa2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002718<tr class="memitem:a91b74be928419cd95068ccc9c6f1cd83"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2719<tr class="memitem:a91b74be928419cd95068ccc9c6f1cd83"><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#a91b74be928419cd95068ccc9c6f1cd83">vtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002720<tr class="memdesc:a91b74be928419cd95068ccc9c6f1cd83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a91b74be928419cd95068ccc9c6f1cd83">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002721<tr class="separator:a91b74be928419cd95068ccc9c6f1cd83"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002722<tr class="memitem:ab6470f57e0d7659ea7823f13bb89724f"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2723<tr class="memitem:ab6470f57e0d7659ea7823f13bb89724f"><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#ab6470f57e0d7659ea7823f13bb89724f">vtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2724<tr class="memdesc:ab6470f57e0d7659ea7823f13bb89724f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ab6470f57e0d7659ea7823f13bb89724f">More...</a><br/></td></tr>
2725<tr class="separator:ab6470f57e0d7659ea7823f13bb89724f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002726<tr class="memitem:a9b9a80aab8862e344ef91591a0e6e199"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2727<tr class="memitem:a9b9a80aab8862e344ef91591a0e6e199"><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#a9b9a80aab8862e344ef91591a0e6e199">vtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002728<tr class="memdesc:a9b9a80aab8862e344ef91591a0e6e199"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a9b9a80aab8862e344ef91591a0e6e199">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002729<tr class="separator:a9b9a80aab8862e344ef91591a0e6e199"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002730<tr class="memitem:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2731<tr class="memitem:ac26478d3b59cae5c3efa4bf3819002fa"><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#ac26478d3b59cae5c3efa4bf3819002fa">vtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2732<tr class="memdesc:ac26478d3b59cae5c3efa4bf3819002fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ac26478d3b59cae5c3efa4bf3819002fa">More...</a><br/></td></tr>
2733<tr class="separator:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002734<tr class="memitem:a635b41196d74b1f2c4d9ee9298444796"><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#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002735<tr class="memdesc:a635b41196d74b1f2c4d9ee9298444796"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (8 elements) <a href="#a635b41196d74b1f2c4d9ee9298444796">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002736<tr class="separator:a635b41196d74b1f2c4d9ee9298444796"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002737<tr class="memitem:aa3c9489e850081532442f4da59515852"><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#aa3c9489e850081532442f4da59515852">vqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2738<tr class="memdesc:aa3c9489e850081532442f4da59515852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (4 elements) <a href="#aa3c9489e850081532442f4da59515852">More...</a><br/></td></tr>
2739<tr class="separator:aa3c9489e850081532442f4da59515852"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002740<tr class="memitem:ae6cf1822b8fbad305677650a2b751247"><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#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002741<tr class="memdesc:ae6cf1822b8fbad305677650a2b751247"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (16 elements) <a href="#ae6cf1822b8fbad305677650a2b751247">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002742<tr class="separator:ae6cf1822b8fbad305677650a2b751247"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002743<tr class="memitem:a5b5e085002cf5a69fb80e6991d0a4556"><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#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2744<tr class="memdesc:a5b5e085002cf5a69fb80e6991d0a4556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (8 elements) <a href="#a5b5e085002cf5a69fb80e6991d0a4556">More...</a><br/></td></tr>
2745<tr class="separator:a5b5e085002cf5a69fb80e6991d0a4556"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002746<tr class="memitem:a475d617b2ee92ec39588e6d6e488471a"><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#a475d617b2ee92ec39588e6d6e488471a">vlog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002747<tr class="memdesc:a475d617b2ee92ec39588e6d6e488471a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 8 bit (8 elements) <a href="#a475d617b2ee92ec39588e6d6e488471a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002748<tr class="separator:a475d617b2ee92ec39588e6d6e488471a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002749<tr class="memitem:ad9e26d94cb0b929e30b88400cd5c60d2"><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#ad9e26d94cb0b929e30b88400cd5c60d2">vlog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2750<tr class="memdesc:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (4 elements) <a href="#ad9e26d94cb0b929e30b88400cd5c60d2">More...</a><br/></td></tr>
2751<tr class="separator:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002752<tr class="memitem:a340b9cd5ad88f1a821498c6fad80e82c"><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#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002753<tr class="memdesc:a340b9cd5ad88f1a821498c6fad80e82c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16bit (16 elements) <a href="#a340b9cd5ad88f1a821498c6fad80e82c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002754<tr class="separator:a340b9cd5ad88f1a821498c6fad80e82c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002755<tr class="memitem:a756ac701185cfc4924443db164fd65ae"><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#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2756<tr class="memdesc:a756ac701185cfc4924443db164fd65ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (8 elements) <a href="#a756ac701185cfc4924443db164fd65ae">More...</a><br/></td></tr>
2757<tr class="separator:a756ac701185cfc4924443db164fd65ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002758<tr class="memitem:ab7fbbbe8d980de582a73b5546b303b1f"><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#ab7fbbbe8d980de582a73b5546b303b1f">vinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002759<tr class="memdesc:ab7fbbbe8d980de582a73b5546b303b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#ab7fbbbe8d980de582a73b5546b303b1f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002760<tr class="separator:ab7fbbbe8d980de582a73b5546b303b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002761<tr class="memitem:aed1eb26d2b6435ae9dba79558611b415"><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#aed1eb26d2b6435ae9dba79558611b415">vinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2762<tr class="memdesc:aed1eb26d2b6435ae9dba79558611b415"><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="#aed1eb26d2b6435ae9dba79558611b415">More...</a><br/></td></tr>
2763<tr class="separator:aed1eb26d2b6435ae9dba79558611b415"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002764<tr class="memitem:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><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#a5ddc3dc4b4ee6847fd96c6a8599e20e4">vqinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002765<tr class="memdesc:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><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="#a5ddc3dc4b4ee6847fd96c6a8599e20e4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002766<tr class="separator:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002767<tr class="memitem:a23041b440c544f24afd9b1e79a6d77df"><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#a23041b440c544f24afd9b1e79a6d77df">vqinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2768<tr class="memdesc:a23041b440c544f24afd9b1e79a6d77df"><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="#a23041b440c544f24afd9b1e79a6d77df">More...</a><br/></td></tr>
2769<tr class="separator:a23041b440c544f24afd9b1e79a6d77df"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002770<tr class="memitem:a4be9120d5c04e6aab0831095acd24534"><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#a4be9120d5c04e6aab0831095acd24534">vinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002771<tr class="memdesc:a4be9120d5c04e6aab0831095acd24534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#a4be9120d5c04e6aab0831095acd24534">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002772<tr class="separator:a4be9120d5c04e6aab0831095acd24534"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002773<tr class="memitem:a7ddffc87df07ac9782f4e498865c66d4"><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#a7ddffc87df07ac9782f4e498865c66d4">vinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2774<tr class="memdesc:a7ddffc87df07ac9782f4e498865c66d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a7ddffc87df07ac9782f4e498865c66d4">More...</a><br/></td></tr>
2775<tr class="separator:a7ddffc87df07ac9782f4e498865c66d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002776<tr class="memitem:ad5d5110467053814882fb616c6cb855b"><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#ad5d5110467053814882fb616c6cb855b">vqinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002777<tr class="memdesc:ad5d5110467053814882fb616c6cb855b"><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="#ad5d5110467053814882fb616c6cb855b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002778<tr class="separator:ad5d5110467053814882fb616c6cb855b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002779<tr class="memitem:a74613d11a6b769ddcdd28d80fb8d74a8"><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#a74613d11a6b769ddcdd28d80fb8d74a8">vqinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2780<tr class="memdesc:a74613d11a6b769ddcdd28d80fb8d74a8"><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="#a74613d11a6b769ddcdd28d80fb8d74a8">More...</a><br/></td></tr>
2781<tr class="separator:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2782<tr class="memitem:a2b97d40b6d61e8453d755711fed30a38"><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#a2b97d40b6d61e8453d755711fed30a38">vqtanh_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
2783<tr class="memdesc:a2b97d40b6d61e8453d755711fed30a38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (8 elements) <a href="#a2b97d40b6d61e8453d755711fed30a38">More...</a><br/></td></tr>
2784<tr class="separator:a2b97d40b6d61e8453d755711fed30a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
2785<tr class="memitem:a81b5a6029b604d0a1daf4d4ac63a56c8"><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#a81b5a6029b604d0a1daf4d4ac63a56c8">vqtanh_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2786<tr class="memdesc:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16 bit (4 elements) <a href="#a81b5a6029b604d0a1daf4d4ac63a56c8">More...</a><br/></td></tr>
2787<tr class="separator:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2788<tr class="memitem:a81ea8bde4e35ce63e8e10708bae0caea"><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#a81ea8bde4e35ce63e8e10708bae0caea">vqtanhq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2789<tr class="memdesc:a81ea8bde4e35ce63e8e10708bae0caea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (16 elements) <a href="#a81ea8bde4e35ce63e8e10708bae0caea">More...</a><br/></td></tr>
2790<tr class="separator:a81ea8bde4e35ce63e8e10708bae0caea"><td class="memSeparator" colspan="2">&#160;</td></tr>
2791<tr class="memitem:ab9f9b779eb9bb6ecb730548a1e87da65"><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#ab9f9b779eb9bb6ecb730548a1e87da65">vqtanhq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2792<tr class="memdesc:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16bit (8 elements) <a href="#ab9f9b779eb9bb6ecb730548a1e87da65">More...</a><br/></td></tr>
2793<tr class="separator:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="memSeparator" colspan="2">&#160;</td></tr>
2794<tr class="memitem:aa0061a2146587eea4a393ff14232d8fe"><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#aa0061a2146587eea4a393ff14232d8fe">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>
2795<tr class="memdesc:aa0061a2146587eea4a393ff14232d8fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 8bit (16 elements). <a href="#aa0061a2146587eea4a393ff14232d8fe">More...</a><br/></td></tr>
2796<tr class="separator:aa0061a2146587eea4a393ff14232d8fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
2797<tr class="memitem:ad705110ee89e7d32c319671b9b92e0ba"><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#ad705110ee89e7d32c319671b9b92e0ba">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>
2798<tr class="memdesc:ad705110ee89e7d32c319671b9b92e0ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 16bit (8 elements). <a href="#ad705110ee89e7d32c319671b9b92e0ba">More...</a><br/></td></tr>
2799<tr class="separator:ad705110ee89e7d32c319671b9b92e0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2800<tr class="memitem:a4e6c2516e84e006167b046690d9a0c84"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e6c2516e84e006167b046690d9a0c84">vmax2q_f32</a> (float32x4x2_t a, float32x4x2_t b)</td></tr>
2801<tr class="memdesc:a4e6c2516e84e006167b046690d9a0c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. <a href="#a4e6c2516e84e006167b046690d9a0c84">More...</a><br/></td></tr>
2802<tr class="separator:a4e6c2516e84e006167b046690d9a0c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
2803<tr class="memitem:a1c9f2b26b64fd697fa1b22450521876d"><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#a1c9f2b26b64fd697fa1b22450521876d">vld2q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2804<tr class="separator:a1c9f2b26b64fd697fa1b22450521876d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002805<tr class="memitem:aa9a56a13e02fa346fcbe59257b2cef74"><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#aa9a56a13e02fa346fcbe59257b2cef74">vqmovn_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2806<tr class="separator:aa9a56a13e02fa346fcbe59257b2cef74"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002807<tr class="memitem:acd99794ca54cbddbb4bda5d78d0caea7"><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#acd99794ca54cbddbb4bda5d78d0caea7">vqmovn_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a)</td></tr>
2808<tr class="separator:acd99794ca54cbddbb4bda5d78d0caea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002809<tr class="memitem:aed2fc8d1b9642b7625379a930ef4914a"><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#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
2810<tr class="separator:aed2fc8d1b9642b7625379a930ef4914a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002811<tr class="memitem:ada6db431017d7911b0647cfb7a8711de"><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#ada6db431017d7911b0647cfb7a8711de">vdupq_n_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a)</td></tr>
2812<tr class="separator:ada6db431017d7911b0647cfb7a8711de"><td class="memSeparator" colspan="2">&#160;</td></tr>
2813<tr class="memitem:af4ce9287cfb7aef16f79a3152c3f3bbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4ce9287cfb7aef16f79a3152c3f3bbd">vqadd_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> a, <a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> b)</td></tr>
2814<tr class="separator:af4ce9287cfb7aef16f79a3152c3f3bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
2815<tr class="memitem:a4158859b4b6af057b01b2c2d745d66b2"><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#a4158859b4b6af057b01b2c2d745d66b2">vqaddq_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> b)</td></tr>
2816<tr class="separator:a4158859b4b6af057b01b2c2d745d66b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2817<tr class="memitem:abc68ac054570316bfd48d4c4c84c3b0e"><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#abc68ac054570316bfd48d4c4c84c3b0e">vqcvt_qs8_f32</a> (const float32x4x2_t &amp;a, int fixed_point_position)</td></tr>
2818<tr class="separator:abc68ac054570316bfd48d4c4c84c3b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002819<tr class="memitem:ac18aedae4207e681f6f833281d2395a0"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac18aedae4207e681f6f833281d2395a0">vcvtq_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2820<tr class="separator:ac18aedae4207e681f6f833281d2395a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002821<tr class="memitem:a81653ad507d968c3f760564c7949a86e"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a81653ad507d968c3f760564c7949a86e">vcvtq_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2822<tr class="separator:a81653ad507d968c3f760564c7949a86e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2823<tr class="memitem:a3e6537037711264ed5e8f33c8564c325"><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#a3e6537037711264ed5e8f33c8564c325">vqrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
2824<tr class="separator:a3e6537037711264ed5e8f33c8564c325"><td class="memSeparator" colspan="2">&#160;</td></tr>
2825<tr class="memitem:ada5b8019889d6b38b3cb64ccdd3731ca"><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#ada5b8019889d6b38b3cb64ccdd3731ca">vqrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2826<tr class="separator:ada5b8019889d6b38b3cb64ccdd3731ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002827<tr class="memitem:a3dd4382391c752128ab7b3a6dd68314b"><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#a3dd4382391c752128ab7b3a6dd68314b">vqrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2828<tr class="separator:a3dd4382391c752128ab7b3a6dd68314b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002829<tr class="memitem:a6a368d809128ff6bce989cda02c536d8"><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#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2830<tr class="separator:a6a368d809128ff6bce989cda02c536d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2831<tr class="memitem:a3de0bc67f9a2ef3bcfe922e50c3b5ec9"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2832<tr class="memitem:a3de0bc67f9a2ef3bcfe922e50c3b5ec9"><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#a3de0bc67f9a2ef3bcfe922e50c3b5ec9">vqtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
2833<tr class="separator:a3de0bc67f9a2ef3bcfe922e50c3b5ec9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2834<tr class="memitem:af39bcc812b6e450e92622e0f30b37d92"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2835<tr class="memitem:af39bcc812b6e450e92622e0f30b37d92"><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#af39bcc812b6e450e92622e0f30b37d92">vqtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2836<tr class="separator:af39bcc812b6e450e92622e0f30b37d92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002837<tr class="memitem:aa754195778af2be8fd3c48192eb1e5b6"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2838<tr class="memitem:aa754195778af2be8fd3c48192eb1e5b6"><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#aa754195778af2be8fd3c48192eb1e5b6">vqtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2839<tr class="separator:aa754195778af2be8fd3c48192eb1e5b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002840<tr class="memitem:a080bc54b67bc7930ab173117baf1cd07"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2841<tr class="memitem:a080bc54b67bc7930ab173117baf1cd07"><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#a080bc54b67bc7930ab173117baf1cd07">vqtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2842<tr class="separator:a080bc54b67bc7930ab173117baf1cd07"><td class="memSeparator" colspan="2">&#160;</td></tr>
2843<tr class="memitem:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb7ad6f2d80bafc0a8fb0c920909b9fb">vfloorq_f32</a> (float32x4_t val)</td></tr>
2844<tr class="memdesc:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate floor of a vector. <a href="#adb7ad6f2d80bafc0a8fb0c920909b9fb">More...</a><br/></td></tr>
2845<tr class="separator:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2846<tr class="memitem:a902d274ff1dbe2052b0f2364a98d2b41"><td class="memItemLeft" align="right" valign="top">float32x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a902d274ff1dbe2052b0f2364a98d2b41">vinvsqrt_f32</a> (float32x2_t x)</td></tr>
2847<tr class="memdesc:a902d274ff1dbe2052b0f2364a98d2b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#a902d274ff1dbe2052b0f2364a98d2b41">More...</a><br/></td></tr>
2848<tr class="separator:a902d274ff1dbe2052b0f2364a98d2b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002849<tr class="memitem:a2e27db6b9692c4c2013653e276af654d"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2e27db6b9692c4c2013653e276af654d">vinvsqrtq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002850<tr class="memdesc:a2e27db6b9692c4c2013653e276af654d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#a2e27db6b9692c4c2013653e276af654d">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002851<tr class="separator:a2e27db6b9692c4c2013653e276af654d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002852<tr class="memitem:a7bb067c606cdc07805181688b9bee569"><td class="memItemLeft" align="right" valign="top">float32x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7bb067c606cdc07805181688b9bee569">vinv_f32</a> (float32x2_t x)</td></tr>
2853<tr class="memdesc:a7bb067c606cdc07805181688b9bee569"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a7bb067c606cdc07805181688b9bee569">More...</a><br/></td></tr>
2854<tr class="separator:a7bb067c606cdc07805181688b9bee569"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002855<tr class="memitem:ac8f459d5899b79c00fb4042a5b3470fb"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002856<tr class="memdesc:ac8f459d5899b79c00fb4042a5b3470fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#ac8f459d5899b79c00fb4042a5b3470fb">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002857<tr class="separator:ac8f459d5899b79c00fb4042a5b3470fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2858<tr class="memitem:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a> (float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002859<tr class="memdesc:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#a4fa76a98dce5ed1b655ff840f2ce6e57">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002860<tr class="separator:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="memSeparator" colspan="2">&#160;</td></tr>
2861<tr class="memitem:ade3ef16de304661943c900ac9a47d28f"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002862<tr class="memdesc:ade3ef16de304661943c900ac9a47d28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#ade3ef16de304661943c900ac9a47d28f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002863<tr class="separator:ade3ef16de304661943c900ac9a47d28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2864<tr class="memitem:a37a3e03a22ad160a2e9e5c133607e020"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002865<tr class="memdesc:a37a3e03a22ad160a2e9e5c133607e020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm. <a href="#a37a3e03a22ad160a2e9e5c133607e020">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002866<tr class="separator:a37a3e03a22ad160a2e9e5c133607e020"><td class="memSeparator" colspan="2">&#160;</td></tr>
2867<tr class="memitem:a7845701adefdb1adafc98ca3c4918c2e"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7845701adefdb1adafc98ca3c4918c2e">vtanhq_f32</a> (float32x4_t val)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002868<tr class="memdesc:a7845701adefdb1adafc98ca3c4918c2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a7845701adefdb1adafc98ca3c4918c2e">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002869<tr class="separator:a7845701adefdb1adafc98ca3c4918c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2870<tr class="memitem:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45c3c1474c3e3ec31ec13efaf6acd261">vpowq_f32</a> (float32x4_t val, float32x4_t n)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002871<tr class="memdesc:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate n power of a number. <a href="#a45c3c1474c3e3ec31ec13efaf6acd261">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002872<tr class="separator:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002873<tr class="memitem:a841e85dc31bee3fa3f1855eabf895325"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a841e85dc31bee3fa3f1855eabf895325">vtanhq_f16</a> (float16x8_t val)</td></tr>
2874<tr class="memdesc:a841e85dc31bee3fa3f1855eabf895325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a841e85dc31bee3fa3f1855eabf895325">More...</a><br/></td></tr>
2875<tr class="separator:a841e85dc31bee3fa3f1855eabf895325"><td class="memSeparator" colspan="2">&#160;</td></tr>
2876<tr class="memitem:aba029f555d1868e560b8a278bdf87341"><td class="memItemLeft" align="right" valign="top">float16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba029f555d1868e560b8a278bdf87341">vinv_f16</a> (float16x4_t x)</td></tr>
2877<tr class="memdesc:aba029f555d1868e560b8a278bdf87341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#aba029f555d1868e560b8a278bdf87341">More...</a><br/></td></tr>
2878<tr class="separator:aba029f555d1868e560b8a278bdf87341"><td class="memSeparator" colspan="2">&#160;</td></tr>
2879<tr class="memitem:a5ccd23ffe952767d73334cabcdbff246"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">vinvq_f16</a> (float16x8_t x)</td></tr>
2880<tr class="memdesc:a5ccd23ffe952767d73334cabcdbff246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a5ccd23ffe952767d73334cabcdbff246">More...</a><br/></td></tr>
2881<tr class="separator:a5ccd23ffe952767d73334cabcdbff246"><td class="memSeparator" colspan="2">&#160;</td></tr>
2882<tr class="memitem:ab74b7f62070607d8dfb02364664d7867"><td class="memItemLeft" align="right" valign="top">float16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab74b7f62070607d8dfb02364664d7867">vinvsqrt_f16</a> (float16x4_t x)</td></tr>
2883<tr class="memdesc:ab74b7f62070607d8dfb02364664d7867"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#ab74b7f62070607d8dfb02364664d7867">More...</a><br/></td></tr>
2884<tr class="separator:ab74b7f62070607d8dfb02364664d7867"><td class="memSeparator" colspan="2">&#160;</td></tr>
2885<tr class="memitem:a78ef1abe4de2152c366a40f638f7fb91"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a78ef1abe4de2152c366a40f638f7fb91">vinvsqrtq_f16</a> (float16x8_t x)</td></tr>
2886<tr class="memdesc:a78ef1abe4de2152c366a40f638f7fb91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#a78ef1abe4de2152c366a40f638f7fb91">More...</a><br/></td></tr>
2887<tr class="separator:a78ef1abe4de2152c366a40f638f7fb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
2888<tr class="memitem:a829992d2c673006879696821024df5b7"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a> (float16x8_t x)</td></tr>
2889<tr class="memdesc:a829992d2c673006879696821024df5b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#a829992d2c673006879696821024df5b7">More...</a><br/></td></tr>
2890<tr class="separator:a829992d2c673006879696821024df5b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2891<tr class="memitem:a0b601c13358a452569202d3fb718963d"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b601c13358a452569202d3fb718963d">vpowq_f16</a> (float16x8_t val, float16x8_t n)</td></tr>
2892<tr class="memdesc:a0b601c13358a452569202d3fb718963d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate n power of a number. <a href="#a0b601c13358a452569202d3fb718963d">More...</a><br/></td></tr>
2893<tr class="separator:a0b601c13358a452569202d3fb718963d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2894<tr class="memitem:afaad64bc527ee67d3374b67610a34a13"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a> (float16x8_t x, const std::array&lt; float16x8_t, 8 &gt; &amp;coeffs)</td></tr>
2895<tr class="separator:afaad64bc527ee67d3374b67610a34a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
2896<tr class="memitem:a38bedb9142df17a66ff1b90974f19512"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">vlogq_f16</a> (float16x8_t x)</td></tr>
2897<tr class="separator:a38bedb9142df17a66ff1b90974f19512"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002898<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002899<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 <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T divisor) -&gt; decltype(((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>+divisor-1)/divisor)*divisor)</td></tr>
2900<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 +00002901<tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2902<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002903<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 <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T divisor) -&gt; decltype((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>/divisor)*divisor)</td></tr>
2904<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 +00002905<tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2">&#160;</td></tr>
2906<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
2907<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>
Kaizen8938bd32017-09-28 14:38:23 +01002908<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00002909<tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
2910<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>
Kaizen8938bd32017-09-28 14:38:23 +01002911<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002912<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2913<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>
Kaizen8938bd32017-09-28 14:38:23 +01002914<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 +00002915<tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002916<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>
Kaizen8938bd32017-09-28 14:38:23 +01002917<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 +00002918<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
2919<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>
Kaizen8938bd32017-09-28 14:38:23 +01002920<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 +00002921<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2922<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>
Kaizen8938bd32017-09-28 14:38:23 +01002923<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 +00002924<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2925<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>
Kaizen8938bd32017-09-28 14:38:23 +01002926<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 +00002927<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
2928<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>
Kaizen8938bd32017-09-28 14:38:23 +01002929<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 +00002930<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2">&#160;</td></tr>
2931<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>
Kaizen8938bd32017-09-28 14:38:23 +01002932<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 +00002933<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2934<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>
Kaizen8938bd32017-09-28 14:38:23 +01002935<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 +00002936<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002937<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 <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
2938<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 +00002939<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2940<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>
Kaizen8938bd32017-09-28 14:38:23 +01002941<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 +00002942<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002943<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 <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
2944<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 +00002945<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002946<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 <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
2947<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 +00002948<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002949<tr class="memitem:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memItemLeft" align="right" valign="top">const std::pair&lt; unsigned int, <br class="typebreak"/>
2950unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">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)</td></tr>
2951<tr class="memdesc:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">More...</a><br/></td></tr>
2952<tr class="separator:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002953<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>
Kaizen8938bd32017-09-28 14:38:23 +01002954<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 +00002955<tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2956<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>
Kaizen8938bd32017-09-28 14:38:23 +01002957<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 +00002958<tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2959<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>
Kaizen8938bd32017-09-28 14:38:23 +01002960<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 +00002961<tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2">&#160;</td></tr>
2962<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>
Kaizen8938bd32017-09-28 14:38:23 +01002963<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 +00002964<tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2965<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>
Kaizen8938bd32017-09-28 14:38:23 +01002966<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 +00002967<tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2968<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>
Kaizen8938bd32017-09-28 14:38:23 +01002969<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 +00002970<tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2">&#160;</td></tr>
2971<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>
Kaizen8938bd32017-09-28 14:38:23 +01002972<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 +00002973<tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2">&#160;</td></tr>
2974<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>
Kaizen8938bd32017-09-28 14:38:23 +01002975<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 +00002976<tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002977<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>
Kaizen8938bd32017-09-28 14:38:23 +01002978<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 +01002979<tr class="separator:afb5698af5404d5d11e3516c87b6e7041"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002980<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>
2981<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>
2982<tr class="separator:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002983<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>
Kaizen8938bd32017-09-28 14:38:23 +01002984<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 +01002985<tr class="separator:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002986<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>
Kaizen8938bd32017-09-28 14:38:23 +01002987<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 +00002988<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002989<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>
Kaizen8938bd32017-09-28 14:38:23 +01002990<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 +01002991<tr class="separator:ab6bb62694ae8369d18a9c9687040975e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002992<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>
2993<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>
2994<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01002995<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2996<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>
Kaizen8938bd32017-09-28 14:38:23 +01002997<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 +01002998<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
2999<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3000<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>
Kaizen8938bd32017-09-28 14:38:23 +01003001<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 +01003002<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3003<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>
Kaizen8938bd32017-09-28 14:38:23 +01003004<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 +01003005<tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3006<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>
Kaizen8938bd32017-09-28 14:38:23 +01003007<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 +01003008<tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003009<tr class="memitem:a078507835115009a81ee2974d6073bb9"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3010<tr class="memitem:a078507835115009a81ee2974d6073bb9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a078507835115009a81ee2974d6073bb9">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003011<tr class="memdesc:a078507835115009a81ee2974d6073bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if one of the pointers is a nullptr. <a href="#a078507835115009a81ee2974d6073bb9">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003012<tr class="separator:a078507835115009a81ee2974d6073bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003013<tr class="memitem:a26a9847c05c48bd1470f22f898ee254d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a9847c05c48bd1470f22f898ee254d">error_on_mismatching_windows</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003014<tr class="memdesc:a26a9847c05c48bd1470f22f898ee254d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed window is invalid. <a href="#a26a9847c05c48bd1470f22f898ee254d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003015<tr class="separator:a26a9847c05c48bd1470f22f898ee254d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3016<tr class="memitem:a0916477887763c20822b43be144963eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0916477887763c20822b43be144963eb">error_on_invalid_subwindow</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;sub)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003017<tr class="memdesc:a0916477887763c20822b43be144963eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed subwindow is invalid. <a href="#a0916477887763c20822b43be144963eb">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003018<tr class="separator:a0916477887763c20822b43be144963eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003019<tr class="memitem:ade618d7802413e82df0d9c1dbb049138"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade618d7802413e82df0d9c1dbb049138">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>
3020<tr class="memdesc:ade618d7802413e82df0d9c1dbb049138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the window can't be collapsed at the given dimension. <a href="#ade618d7802413e82df0d9c1dbb049138">More...</a><br/></td></tr>
3021<tr class="separator:ade618d7802413e82df0d9c1dbb049138"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003022<tr class="memitem:a130822528598f21a48f7ee0e6d8438a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a130822528598f21a48f7ee0e6d8438a0">error_on_coordinates_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;pos, unsigned int max_dim)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003023<tr class="memdesc:a130822528598f21a48f7ee0e6d8438a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed coordinates have too many dimensions. <a href="#a130822528598f21a48f7ee0e6d8438a0">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003024<tr class="separator:a130822528598f21a48f7ee0e6d8438a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3025<tr class="memitem:a6fed5543ae383442a51362e6607c4e65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fed5543ae383442a51362e6607c4e65">error_on_window_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, unsigned int max_dim)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003026<tr class="memdesc:a6fed5543ae383442a51362e6607c4e65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed window has too many dimensions. <a href="#a6fed5543ae383442a51362e6607c4e65">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003027<tr class="separator:a6fed5543ae383442a51362e6607c4e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003028<tr class="memitem:aff062b84c57c614a2de4d54db2cbc31c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3029<tr class="memitem:aff062b84c57c614a2de4d54db2cbc31c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff062b84c57c614a2de4d54db2cbc31c">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>
Kaizen8938bd32017-09-28 14:38:23 +01003030<tr class="memdesc:aff062b84c57c614a2de4d54db2cbc31c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed dimension objects differ. <a href="#aff062b84c57c614a2de4d54db2cbc31c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003031<tr class="separator:aff062b84c57c614a2de4d54db2cbc31c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003032<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3033<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b689868b627ba9e22c8473c5f985512">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003034<tr class="memdesc:a7b689868b627ba9e22c8473c5f985512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different shapes from the given dimension. <a href="#a7b689868b627ba9e22c8473c5f985512">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003035<tr class="separator:a7b689868b627ba9e22c8473c5f985512"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003036<tr class="memitem:a496e03102bca40f666c12a575d4a6157"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3037<tr class="memitem:a496e03102bca40f666c12a575d4a6157"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">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>
Kaizen8938bd32017-09-28 14:38:23 +01003038<tr class="memdesc:a496e03102bca40f666c12a575d4a6157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different shapes from the given dimension. <a href="#a496e03102bca40f666c12a575d4a6157">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003039<tr class="separator:a496e03102bca40f666c12a575d4a6157"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003040<tr class="memitem:a464883e1c23b02d47d8db21956a8f117"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3041<tr class="memitem:a464883e1c23b02d47d8db21956a8f117"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a464883e1c23b02d47d8db21956a8f117">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>
3042<tr class="memdesc:a464883e1c23b02d47d8db21956a8f117"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different data types. <a href="#a464883e1c23b02d47d8db21956a8f117">More...</a><br/></td></tr>
3043<tr class="separator:a464883e1c23b02d47d8db21956a8f117"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003044<tr class="memitem:a526ed43a37ba0faf2c1789175ec1a350"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3045<tr class="memitem:a526ed43a37ba0faf2c1789175ec1a350"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a526ed43a37ba0faf2c1789175ec1a350">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>
Kaizen8938bd32017-09-28 14:38:23 +01003046<tr class="memdesc:a526ed43a37ba0faf2c1789175ec1a350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed tensors have different fixed point data types or different fixed point positions. <a href="#a526ed43a37ba0faf2c1789175ec1a350">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003047<tr class="separator:a526ed43a37ba0faf2c1789175ec1a350"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003048<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename F , typename... Fs&gt; </td></tr>
3049<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>
Kaizen8938bd32017-09-28 14:38:23 +01003050<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 +00003051<tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3052<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3053<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003054<tr class="memdesc:a0c52339d3cb372d145deeafb5a313807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a0c52339d3cb372d145deeafb5a313807">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003055<tr class="separator:a0c52339d3cb372d145deeafb5a313807"><td class="memSeparator" colspan="2">&#160;</td></tr>
3056<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3057<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a690ce072b4480f4a5bad433f23c9fe05">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003058<tr class="memdesc:a690ce072b4480f4a5bad433f23c9fe05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. <a href="#a690ce072b4480f4a5bad433f23c9fe05">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003059<tr class="separator:a690ce072b4480f4a5bad433f23c9fe05"><td class="memSeparator" colspan="2">&#160;</td></tr>
3060<tr class="memitem:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65c8e0610dff27ecf1ef30214f08d19e">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003061<tr class="memdesc:a65c8e0610dff27ecf1ef30214f08d19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the tensor is not 2D. <a href="#a65c8e0610dff27ecf1ef30214f08d19e">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003062<tr class="separator:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3063<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3064<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593d972357b3bcfeecb87207dc925417">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &amp;&amp;channel, Ts &amp;&amp;...channels)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003065<tr class="memdesc:a593d972357b3bcfeecb87207dc925417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the channel is not in channels. <a href="#a593d972357b3bcfeecb87207dc925417">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003066<tr class="separator:a593d972357b3bcfeecb87207dc925417"><td class="memSeparator" colspan="2">&#160;</td></tr>
3067<tr class="memitem:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad0d001a84424d440f9a11fc1b80ed2ff">error_on_channel_not_in_known_format</a> (const char *function, const char *file, const int line, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> fmt, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> cn)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003068<tr class="memdesc:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the channel is not in format. <a href="#ad0d001a84424d440f9a11fc1b80ed2ff">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003069<tr class="separator:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
3070<tr class="memitem:a307666ca482a84d5a64251d78889a818"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a307666ca482a84d5a64251d78889a818">error_on_invalid_multi_hog</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *multi_hog)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003071<tr class="memdesc:a307666ca482a84d5a64251d78889a818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. <a href="#a307666ca482a84d5a64251d78889a818">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003072<tr class="separator:a307666ca482a84d5a64251d78889a818"><td class="memSeparator" colspan="2">&#160;</td></tr>
3073<tr class="memitem:a21a4884cd1dbfa83351b8efa265f526a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21a4884cd1dbfa83351b8efa265f526a">error_on_unconfigured_kernel</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *kernel)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003074<tr class="memdesc:a21a4884cd1dbfa83351b8efa265f526a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the kernel is not configured. <a href="#a21a4884cd1dbfa83351b8efa265f526a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003075<tr class="separator:a21a4884cd1dbfa83351b8efa265f526a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003076<tr class="memitem:a36ffb104aed50deb360db6f3afa4c394"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a36ffb104aed50deb360db6f3afa4c394">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>
Kaizen8938bd32017-09-28 14:38:23 +01003077<tr class="memdesc:a36ffb104aed50deb360db6f3afa4c394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if if the coordinates and shape of the subtensor are within the parent tensor. <a href="#a36ffb104aed50deb360db6f3afa4c394">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003078<tr class="separator:a36ffb104aed50deb360db6f3afa4c394"><td class="memSeparator" colspan="2">&#160;</td></tr>
3079<tr class="memitem:a858e835f22c359080a09709c6dd950b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a858e835f22c359080a09709c6dd950b1">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>
Kaizen8938bd32017-09-28 14:38:23 +01003080<tr class="memdesc:a858e835f22c359080a09709c6dd950b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the valid region of a subtensor is not inside the valid region of the parent tensor. <a href="#a858e835f22c359080a09709c6dd950b1">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003081<tr class="separator:a858e835f22c359080a09709c6dd950b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3082<tr class="memitem:a064db352a2f4153e6237054343d5fe7a"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3083<tr class="memitem:a064db352a2f4153e6237054343d5fe7a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a064db352a2f4153e6237054343d5fe7a">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>
Kaizen8938bd32017-09-28 14:38:23 +01003084<tr class="memdesc:a064db352a2f4153e6237054343d5fe7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the input fixed-point positions are different. <a href="#a064db352a2f4153e6237054343d5fe7a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003085<tr class="separator:a064db352a2f4153e6237054343d5fe7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3086<tr class="memitem:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003087<tr class="memitem:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9afdaa4d8bbb78938110ada1daf87f8b">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
3088<tr class="memdesc:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the fixed-point value is not representable in the specified Q format. <a href="#a9afdaa4d8bbb78938110ada1daf87f8b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003089<tr class="separator:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3090<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>
Kaizen8938bd32017-09-28 14:38:23 +01003091<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">Scheduler::Type</a> into a string. <a href="#aa5191117dc677a74552769b87131b1b6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003092<tr class="separator:aa5191117dc677a74552769b87131b1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003093<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>
3094<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>
3095<tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003096<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3097<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>
Kaizen8938bd32017-09-28 14:38:23 +01003098<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 +01003099<tr class="separator:a18d43401e8f84ed020429b41ec4e99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003100<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>
3101<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>
3102<tr class="separator:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3103<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>
3104<tr class="separator:aabe16be22edb41656e66ed9eae3b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3105<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>
3106<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>
3107<tr class="separator:acec416ec5af175a7aad47a518fefb770"><td class="memSeparator" colspan="2">&#160;</td></tr>
3108<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>
3109<tr class="separator:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003110<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>
Kaizen8938bd32017-09-28 14:38:23 +01003111<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 +01003112<tr class="separator:a295edc9f8caf95838db2c5e251153514"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003113<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>
3114<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>
3115<tr class="separator:a5972c7131d378f567af9c2961f088a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3116<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>
3117<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>
3118<tr class="separator:a352b805b77fde4f32f44af271580677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3119<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>
3120<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>
3121<tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3122<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>
3123<tr class="separator:a72626d2cca3922127c41526e37e9e623"><td class="memSeparator" colspan="2">&#160;</td></tr>
3124<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>
3125<tr class="separator:a8a18c453150ab547c1add44b3ed3bc56"><td class="memSeparator" colspan="2">&#160;</td></tr>
3126<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>
3127<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>
3128<tr class="separator:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3129<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>
3130<tr class="separator:a45dd771bdecbafb975fd267c2ae320a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3131<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>
3132<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>
3133<tr class="separator:a336cf1e870f467e44c184587a13feeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
3134<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>
3135<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>
3136<tr class="separator:ae72a61a2ca5c962ab1d37065e5598060"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003137<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>
Kaizen8938bd32017-09-28 14:38:23 +01003138<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 +01003139<tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003140<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>
3141<tr class="separator:a96b47511b549b48d2ead05b5c757ccc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003142<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>
Kaizen8938bd32017-09-28 14:38:23 +01003143<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 +01003144<tr class="separator:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003145<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>
3146<tr class="separator:ab0e6381843dc9901bb59285ec846dc5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003147<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>
Kaizen8938bd32017-09-28 14:38:23 +01003148<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 +01003149<tr class="separator:aa66be15c012986ebd4c1934b97e08a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003150<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>
3151<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>
3152<tr class="separator:a7929032d41d5f23cd1778a70508d0219"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003153<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>
Kaizen8938bd32017-09-28 14:38:23 +01003154<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 +01003155<tr class="separator:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003156<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>
3157<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>
3158<tr class="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3159<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3160<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>
3161<tr class="separator:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
3162<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>
3163<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>
3164<tr class="separator:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3165<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>
3166<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>
3167<tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
3168<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>
3169<tr class="memdesc:a8af36ae3a3613112c3a95e57f606359a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PadStridInfo type. <a href="#a8af36ae3a3613112c3a95e57f606359a">More...</a><br/></td></tr>
3170<tr class="separator:a8af36ae3a3613112c3a95e57f606359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3171<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>
3172<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3173<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>
3174<tr class="separator:a0604106dd269acd58152a81ba87cc265"><td class="memSeparator" colspan="2">&#160;</td></tr>
3175<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>
3176<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3177<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>
3178<tr class="memdesc:a4287c6842a60e5f6bf309e55f8813527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ConversionPolicy type. <a href="#a4287c6842a60e5f6bf309e55f8813527">More...</a><br/></td></tr>
3179<tr class="separator:a4287c6842a60e5f6bf309e55f8813527"><td class="memSeparator" colspan="2">&#160;</td></tr>
3180<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>
3181<tr class="separator:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3182<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>
3183<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>
3184<tr class="separator:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3185<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>
3186<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3187<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>
3188<tr class="separator:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3189<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>
3190<tr class="separator:a2872d19dd10dc3117813d291c08e0383"><td class="memSeparator" colspan="2">&#160;</td></tr>
3191<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>
3192<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
3193<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>
3194<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>
3195<tr class="separator:a9a2e48a508dc85b7280f955876bb4462"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003196</table><table class="memberdecls">
3197<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
3198Variables</h2></td></tr>
3199<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>
3200<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3201<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>
3202<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3203<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>
3204<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003205<tr class="memitem:a2260e62edc9c3e04a06e8016136b10b1"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float16x8_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">exp_tab_f16</a></td></tr>
3206<tr class="separator:a2260e62edc9c3e04a06e8016136b10b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3207<tr class="memitem:a0a8b2a577b2f9370e7b1c4735f007be1"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float16x8_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">log_tab_f16</a></td></tr>
3208<tr class="separator:a0a8b2a577b2f9370e7b1c4735f007be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003209<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>
Kaizen8938bd32017-09-28 14:38:23 +01003210<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 +00003211<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3212<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>
3213<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3214<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>
3215<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
3216</table>
3217<h2 class="groupheader">Typedef Documentation</h2>
3218<a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
3219<div class="memitem">
3220<div class="memproto">
3221 <table class="memname">
3222 <tr>
3223 <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>
3224 </tr>
3225 </table>
3226</div><div class="memdoc">
3227
Kaizen8938bd32017-09-28 14:38:23 +01003228<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00003229
3230</div>
3231</div>
3232<a class="anchor" id="a4751499f1c526c7285e7e946c2e84541"></a>
3233<div class="memitem">
3234<div class="memproto">
3235 <table class="memname">
3236 <tr>
3237 <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>
3238 </tr>
3239 </table>
3240</div><div class="memdoc">
3241
3242<p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
3243
3244<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>
3245
3246</div>
3247</div>
3248<a class="anchor" id="a843447b81f09d837e90d44e6e6bd236d"></a>
3249<div class="memitem">
3250<div class="memproto">
3251 <table class="memname">
3252 <tr>
3253 <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>
3254 </tr>
3255 </table>
3256</div><div class="memdoc">
3257
3258<p>Basic function to run 5x5 convolution. </p>
3259
Kaizen8938bd32017-09-28 14:38:23 +01003260<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 +00003261
3262</div>
3263</div>
3264<a class="anchor" id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
3265<div class="memitem">
3266<div class="memproto">
3267 <table class="memname">
3268 <tr>
3269 <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>
3270 </tr>
3271 </table>
3272</div><div class="memdoc">
3273
3274<p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
3275
3276<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>
3277
3278</div>
3279</div>
3280<a class="anchor" id="a1992a8362b7074e709394a5219d16e62"></a>
3281<div class="memitem">
3282<div class="memproto">
3283 <table class="memname">
3284 <tr>
3285 <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>
3286 </tr>
3287 </table>
3288</div><div class="memdoc">
3289
3290<p>Basic function to run 7x7 convolution. </p>
3291
Kaizen8938bd32017-09-28 14:38:23 +01003292<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 +00003293
3294</div>
3295</div>
3296<a class="anchor" id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
3297<div class="memitem">
3298<div class="memproto">
3299 <table class="memname">
3300 <tr>
3301 <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>
3302 </tr>
3303 </table>
3304</div><div class="memdoc">
3305
3306<p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
3307
3308<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>
3309
3310</div>
3311</div>
3312<a class="anchor" id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
3313<div class="memitem">
3314<div class="memproto">
3315 <table class="memname">
3316 <tr>
3317 <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>
3318 </tr>
3319 </table>
3320</div><div class="memdoc">
3321
3322<p>Basic function to run 9x9 convolution. </p>
3323
Kaizen8938bd32017-09-28 14:38:23 +01003324<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 +00003325
3326</div>
3327</div>
3328<a class="anchor" id="a908439cd5cf8253865d5c70a413fd607"></a>
3329<div class="memitem">
3330<div class="memproto">
3331 <table class="memname">
3332 <tr>
3333 <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>
3334 </tr>
3335 </table>
3336</div><div class="memdoc">
3337
3338<p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
3339
3340<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>
3341
3342</div>
3343</div>
3344<a class="anchor" id="a0fd5f0310a26faad00b905bac3792726"></a>
3345<div class="memitem">
3346<div class="memproto">
3347 <table class="memname">
3348 <tr>
3349 <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>
3350 </tr>
3351 </table>
3352</div><div class="memdoc">
3353
Kaizen8938bd32017-09-28 14:38:23 +01003354<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003355
3356</div>
3357</div>
3358<a class="anchor" id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
3359<div class="memitem">
3360<div class="memproto">
3361 <table class="memname">
3362 <tr>
3363 <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>
3364 </tr>
3365 </table>
3366</div><div class="memdoc">
3367
Kaizen8938bd32017-09-28 14:38:23 +01003368<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003369
3370</div>
3371</div>
3372<a class="anchor" id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
3373<div class="memitem">
3374<div class="memproto">
3375 <table class="memname">
3376 <tr>
3377 <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>
3378 </tr>
3379 </table>
3380</div><div class="memdoc">
3381
Kaizen8938bd32017-09-28 14:38:23 +01003382<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00114">114</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003383
3384</div>
3385</div>
3386<a class="anchor" id="aae712f442eae2d56d17529ca6cb9cb77"></a>
3387<div class="memitem">
3388<div class="memproto">
3389 <table class="memname">
3390 <tr>
3391 <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>
3392 </tr>
3393 </table>
3394</div><div class="memdoc">
3395
3396<p>Definition at line <a class="el" href="_c_l_tensor_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
3397
3398</div>
3399</div>
3400<a class="anchor" id="a5fb8cb339705102066c915d18f0701ac"></a>
3401<div class="memitem">
3402<div class="memproto">
3403 <table class="memname">
3404 <tr>
3405 <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>
3406 </tr>
3407 </table>
3408</div><div class="memdoc">
3409
Kaizen8938bd32017-09-28 14:38:23 +01003410<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00112">112</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003411
3412</div>
3413</div>
3414<a class="anchor" id="a8a401a071524761c661a75969c951cf5"></a>
3415<div class="memitem">
3416<div class="memproto">
3417 <table class="memname">
3418 <tr>
3419 <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>
3420 </tr>
3421 </table>
3422</div><div class="memdoc">
3423
Kaizen8938bd32017-09-28 14:38:23 +01003424<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 +00003425
3426</div>
3427</div>
3428<a class="anchor" id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
3429<div class="memitem">
3430<div class="memproto">
3431 <table class="memname">
3432 <tr>
3433 <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>
3434 </tr>
3435 </table>
3436</div><div class="memdoc">
3437
Kaizen8938bd32017-09-28 14:38:23 +01003438<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003439
3440</div>
3441</div>
3442<a class="anchor" id="a70997613219641045213b0c12948fb74"></a>
3443<div class="memitem">
3444<div class="memproto">
3445 <table class="memname">
3446 <tr>
3447 <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>
3448 </tr>
3449 </table>
3450</div><div class="memdoc">
3451
Kaizen8938bd32017-09-28 14:38:23 +01003452<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
3453
3454</div>
3455</div>
3456<a class="anchor" id="ac87d48489667d7ff7fc4cc7d0d12c52e"></a>
3457<div class="memitem">
3458<div class="memproto">
3459 <table class="memname">
3460 <tr>
3461 <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>
3462 </tr>
3463 </table>
3464</div><div class="memdoc">
3465
3466<p>Definition at line <a class="el" href="_c_l_memory_group_8h_source.xhtml#l00034">34</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 +00003467
3468</div>
3469</div>
3470<a class="anchor" id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
3471<div class="memitem">
3472<div class="memproto">
3473 <table class="memname">
3474 <tr>
3475 <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>
3476 </tr>
3477 </table>
3478</div><div class="memdoc">
3479
Kaizen8938bd32017-09-28 14:38:23 +01003480<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
3481
3482</div>
3483</div>
3484<a class="anchor" id="a7d756aef16b9c22456bb7aca8fbb4f4c"></a>
3485<div class="memitem">
3486<div class="memproto">
3487 <table class="memname">
3488 <tr>
3489 <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>
3490 </tr>
3491 </table>
3492</div><div class="memdoc">
3493
3494<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 +00003495
3496</div>
3497</div>
3498<a class="anchor" id="ac72d613f7270604dbcad2553c278b16c"></a>
3499<div class="memitem">
3500<div class="memproto">
3501 <table class="memname">
3502 <tr>
3503 <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>
3504 </tr>
3505 </table>
3506</div><div class="memdoc">
3507
3508<p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
3509
3510<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>
3511
3512</div>
3513</div>
3514<a class="anchor" id="ac7295b0d8d71be75033238ad7fbba38c"></a>
3515<div class="memitem">
3516<div class="memproto">
3517 <table class="memname">
3518 <tr>
3519 <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>
3520 </tr>
3521 </table>
3522</div><div class="memdoc">
3523
3524<p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
3525
3526<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>
3527
3528</div>
3529</div>
3530<a class="anchor" id="aab26624bf4b326f8145b2909a5042004"></a>
3531<div class="memitem">
3532<div class="memproto">
3533 <table class="memname">
3534 <tr>
3535 <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>
3536 </tr>
3537 </table>
3538</div><div class="memdoc">
3539
3540<p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
3541
3542<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>
3543
3544</div>
3545</div>
3546<a class="anchor" id="a0ffdf01e236016ce8d366a69875d1375"></a>
3547<div class="memitem">
3548<div class="memproto">
3549 <table class="memname">
3550 <tr>
3551 <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>
3552 </tr>
3553 </table>
3554</div><div class="memdoc">
3555
3556<p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
3557
3558<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>
3559
3560</div>
3561</div>
3562<a class="anchor" id="a9f34ccad344bc43d25e8be2b828853aa"></a>
3563<div class="memitem">
3564<div class="memproto">
3565 <table class="memname">
3566 <tr>
3567 <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>
3568 </tr>
3569 </table>
3570</div><div class="memdoc">
3571
3572<p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
3573
3574<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>
3575
3576</div>
3577</div>
3578<a class="anchor" id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
3579<div class="memitem">
3580<div class="memproto">
3581 <table class="memname">
3582 <tr>
3583 <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>
3584 </tr>
3585 </table>
3586</div><div class="memdoc">
3587
3588<p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
3589
3590<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>
3591
3592</div>
3593</div>
3594<a class="anchor" id="a3f9ab729931f4e4fa36ff1683186d988"></a>
3595<div class="memitem">
3596<div class="memproto">
3597 <table class="memname">
3598 <tr>
3599 <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>
3600 </tr>
3601 </table>
3602</div><div class="memdoc">
3603
Kaizen8938bd32017-09-28 14:38:23 +01003604<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003605
3606</div>
3607</div>
3608<a class="anchor" id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
3609<div class="memitem">
3610<div class="memproto">
3611 <table class="memname">
3612 <tr>
3613 <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>
3614 </tr>
3615 </table>
3616</div><div class="memdoc">
3617
Kaizen8938bd32017-09-28 14:38:23 +01003618<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003619
3620</div>
3621</div>
3622<a class="anchor" id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
3623<div class="memitem">
3624<div class="memproto">
3625 <table class="memname">
3626 <tr>
3627 <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>
3628 </tr>
3629 </table>
3630</div><div class="memdoc">
3631
Kaizen8938bd32017-09-28 14:38:23 +01003632<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 +00003633
3634</div>
3635</div>
3636<a class="anchor" id="aa031694bb03711e09e25546ad2b643cc"></a>
3637<div class="memitem">
3638<div class="memproto">
3639 <table class="memname">
3640 <tr>
3641 <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>
3642 </tr>
3643 </table>
3644</div><div class="memdoc">
3645
Kaizen8938bd32017-09-28 14:38:23 +01003646<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 +00003647
3648</div>
3649</div>
3650<a class="anchor" id="a327abccf7b43aa32d6a24319b986f3ab"></a>
3651<div class="memitem">
3652<div class="memproto">
3653 <table class="memname">
3654 <tr>
3655 <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>
3656 </tr>
3657 </table>
3658</div><div class="memdoc">
3659
3660<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>
3661
3662</div>
3663</div>
3664<a class="anchor" id="a5fe01ab895629edd84a511b56657d79e"></a>
3665<div class="memitem">
3666<div class="memproto">
3667 <table class="memname">
3668 <tr>
3669 <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>
3670 </tr>
3671 </table>
3672</div><div class="memdoc">
3673
3674<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00066">66</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
3675
3676</div>
3677</div>
3678<a class="anchor" id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
3679<div class="memitem">
3680<div class="memproto">
3681 <table class="memname">
3682 <tr>
3683 <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>
3684 </tr>
3685 </table>
3686</div><div class="memdoc">
3687
3688<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>
3689
3690</div>
3691</div>
Kaizen8938bd32017-09-28 14:38:23 +01003692<a class="anchor" id="ad2398d0f2ce77c10bbebf1f85317dde5"></a>
3693<div class="memitem">
3694<div class="memproto">
3695 <table class="memname">
3696 <tr>
3697 <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>
3698 </tr>
3699 </table>
3700</div><div class="memdoc">
3701
3702<p>A map of the groups and memory mappings. </p>
3703
3704<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>
3705
3706</div>
3707</div>
3708<a class="anchor" id="a73e2825fd61d349c5ca2f5313e3c8ea1"></a>
3709<div class="memitem">
3710<div class="memproto">
3711 <table class="memname">
3712 <tr>
3713 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td>
3714 </tr>
3715 </table>
3716</div><div class="memdoc">
3717
3718<p>16-bit floating point type </p>
3719
3720<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00039">39</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
3721
3722</div>
3723</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003724<a class="anchor" id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
3725<div class="memitem">
3726<div class="memproto">
3727 <table class="memname">
3728 <tr>
3729 <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>
3730 </tr>
3731 </table>
3732</div><div class="memdoc">
3733
3734<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>
3735
3736</div>
3737</div>
3738<a class="anchor" id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
3739<div class="memitem">
3740<div class="memproto">
3741 <table class="memname">
3742 <tr>
3743 <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>
3744 </tr>
3745 </table>
3746</div><div class="memdoc">
3747
Kaizen8938bd32017-09-28 14:38:23 +01003748<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003749
3750</div>
3751</div>
3752<a class="anchor" id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
3753<div class="memitem">
3754<div class="memproto">
3755 <table class="memname">
3756 <tr>
3757 <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>
3758 </tr>
3759 </table>
3760</div><div class="memdoc">
3761
Kaizen8938bd32017-09-28 14:38:23 +01003762<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003763
3764</div>
3765</div>
3766<a class="anchor" id="a631bac7c033a0d341c631870f9755217"></a>
3767<div class="memitem">
3768<div class="memproto">
3769 <table class="memname">
3770 <tr>
3771 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_float&gt;</td>
3772 </tr>
3773 </table>
3774</div><div class="memdoc">
3775
Kaizen8938bd32017-09-28 14:38:23 +01003776<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 +00003777
3778</div>
3779</div>
3780<a class="anchor" id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
3781<div class="memitem">
3782<div class="memproto">
3783 <table class="memname">
3784 <tr>
3785 <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>
3786 </tr>
3787 </table>
3788</div><div class="memdoc">
3789
3790<p>Definition at line <a class="el" href="_i_c_l_multi_image_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_i_c_l_multi_image_8h_source.xhtml">ICLMultiImage.h</a>.</p>
3791
3792</div>
3793</div>
3794<a class="anchor" id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
3795<div class="memitem">
3796<div class="memproto">
3797 <table class="memname">
3798 <tr>
3799 <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>
3800 </tr>
3801 </table>
3802</div><div class="memdoc">
3803
Kaizen8938bd32017-09-28 14:38:23 +01003804<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00117">117</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 +00003805
3806</div>
3807</div>
3808<a class="anchor" id="ab95380ecf1c0253f6c785c0f59194066"></a>
3809<div class="memitem">
3810<div class="memproto">
3811 <table class="memname">
3812 <tr>
3813 <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>
3814 </tr>
3815 </table>
3816</div><div class="memdoc">
3817
Kaizen8938bd32017-09-28 14:38:23 +01003818<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00118">118</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 +00003819
3820</div>
3821</div>
3822<a class="anchor" id="adb969f0e554bf563f2fa671399d59280"></a>
3823<div class="memitem">
3824<div class="memproto">
3825 <table class="memname">
3826 <tr>
3827 <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>
3828 </tr>
3829 </table>
3830</div><div class="memdoc">
3831
Kaizen8938bd32017-09-28 14:38:23 +01003832<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003833
3834</div>
3835</div>
3836<a class="anchor" id="a569a32a7a853d4708fd4f4840c88a157"></a>
3837<div class="memitem">
3838<div class="memproto">
3839 <table class="memname">
3840 <tr>
3841 <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>
3842 </tr>
3843 </table>
3844</div><div class="memdoc">
3845
3846<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00065">65</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
3847
3848</div>
3849</div>
3850<a class="anchor" id="a0339a19c93dde6754834a7d4ec7dab73"></a>
3851<div class="memitem">
3852<div class="memproto">
3853 <table class="memname">
3854 <tr>
3855 <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>
3856 </tr>
3857 </table>
3858</div><div class="memdoc">
3859
3860<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00067">67</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
3861
3862</div>
3863</div>
Kaizen8938bd32017-09-28 14:38:23 +01003864<a class="anchor" id="a64e11fcdd0f4a3f7d832495b7053fbe9"></a>
3865<div class="memitem">
3866<div class="memproto">
3867 <table class="memname">
3868 <tr>
3869 <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>
3870 </tr>
3871 </table>
3872</div><div class="memdoc">
3873
3874<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00112">112</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
3875
3876</div>
3877</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003878<a class="anchor" id="a68396eee600b3d23bf7f95a802e65dff"></a>
3879<div class="memitem">
3880<div class="memproto">
3881 <table class="memname">
3882 <tr>
3883 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#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>
3884 </tr>
3885 </table>
3886</div><div class="memdoc">
3887
Kaizen8938bd32017-09-28 14:38:23 +01003888<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003889
3890</div>
3891</div>
3892<a class="anchor" id="af87af588094f04e537df98eaf0426cb6"></a>
3893<div class="memitem">
3894<div class="memproto">
3895 <table class="memname">
3896 <tr>
3897 <td class="memname">using <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> = <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td>
3898 </tr>
3899 </table>
3900</div><div class="memdoc">
3901
3902<p>Definition at line <a class="el" href="_c_l_histogram_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_c_l_histogram_8h_source.xhtml">CLHistogram.h</a>.</p>
3903
3904</div>
3905</div>
3906<a class="anchor" id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
3907<div class="memitem">
3908<div class="memproto">
3909 <table class="memname">
3910 <tr>
3911 <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>
3912 </tr>
3913 </table>
3914</div><div class="memdoc">
3915
Kaizen8938bd32017-09-28 14:38:23 +01003916<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003917
3918</div>
3919</div>
3920<a class="anchor" id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
3921<div class="memitem">
3922<div class="memproto">
3923 <table class="memname">
3924 <tr>
3925 <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>
3926 </tr>
3927 </table>
3928</div><div class="memdoc">
3929
Kaizen8938bd32017-09-28 14:38:23 +01003930<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00116">116</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003931
3932</div>
3933</div>
3934<a class="anchor" id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
3935<div class="memitem">
3936<div class="memproto">
3937 <table class="memname">
3938 <tr>
3939 <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>
3940 </tr>
3941 </table>
3942</div><div class="memdoc">
3943
Kaizen8938bd32017-09-28 14:38:23 +01003944<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00114">114</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003945
3946</div>
3947</div>
3948<a class="anchor" id="aac9efd49d3bbbd53779713e5fb37de62"></a>
3949<div class="memitem">
3950<div class="memproto">
3951 <table class="memname">
3952 <tr>
3953 <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>
3954 </tr>
3955 </table>
3956</div><div class="memdoc">
3957
Kaizen8938bd32017-09-28 14:38:23 +01003958<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 +00003959
3960</div>
3961</div>
3962<a class="anchor" id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
3963<div class="memitem">
3964<div class="memproto">
3965 <table class="memname">
3966 <tr>
3967 <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>
3968 </tr>
3969 </table>
3970</div><div class="memdoc">
3971
Kaizen8938bd32017-09-28 14:38:23 +01003972<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 +00003973
3974</div>
3975</div>
3976<a class="anchor" id="a8a82a1928159e86b0778c3c14e8842be"></a>
3977<div class="memitem">
3978<div class="memproto">
3979 <table class="memname">
3980 <tr>
3981 <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>
3982 </tr>
3983 </table>
3984</div><div class="memdoc">
3985
Kaizen8938bd32017-09-28 14:38:23 +01003986<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00149">149</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003987
3988</div>
3989</div>
3990<a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
3991<div class="memitem">
3992<div class="memproto">
3993 <table class="memname">
3994 <tr>
3995 <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>
3996 </tr>
3997 </table>
3998</div><div class="memdoc">
3999
4000<p>Definition at line <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml">CPPCornerCandidatesKernel.h</a>.</p>
4001
4002</div>
4003</div>
4004<a class="anchor" id="a1dd5e04cea002eae658fa2a899848ad7"></a>
4005<div class="memitem">
4006<div class="memproto">
4007 <table class="memname">
4008 <tr>
4009 <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>
4010 </tr>
4011 </table>
4012</div><div class="memdoc">
4013
Kaizen8938bd32017-09-28 14:38:23 +01004014<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00147">147</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004015
4016</div>
4017</div>
4018<a class="anchor" id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
4019<div class="memitem">
4020<div class="memproto">
4021 <table class="memname">
4022 <tr>
4023 <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>
4024 </tr>
4025 </table>
4026</div><div class="memdoc">
4027
Kaizen8938bd32017-09-28 14:38:23 +01004028<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 +00004029
4030</div>
4031</div>
4032<a class="anchor" id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
4033<div class="memitem">
4034<div class="memproto">
4035 <table class="memname">
4036 <tr>
4037 <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>
4038 </tr>
4039 </table>
4040</div><div class="memdoc">
4041
Kaizen8938bd32017-09-28 14:38:23 +01004042<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004043
4044</div>
4045</div>
4046<a class="anchor" id="a7fb6a368d181ef193475f725c713430a"></a>
4047<div class="memitem">
4048<div class="memproto">
4049 <table class="memname">
4050 <tr>
4051 <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>
4052 </tr>
4053 </table>
4054</div><div class="memdoc">
4055
Kaizen8938bd32017-09-28 14:38:23 +01004056<p>Definition at line <a class="el" href="runtime_2_tensor_8h_source.xhtml#l00063">63</a> of file <a class="el" href="runtime_2_tensor_8h_source.xhtml">Tensor.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004057
4058</div>
4059</div>
4060<a class="anchor" id="a9f3ed96e009111cfbe53d3f77c712390"></a>
4061<div class="memitem">
4062<div class="memproto">
4063 <table class="memname">
4064 <tr>
4065 <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>
4066 </tr>
4067 </table>
4068</div><div class="memdoc">
4069
4070<p>Definition at line <a class="el" href="_i_n_e_kernel_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_i_n_e_kernel_8h_source.xhtml">INEKernel.h</a>.</p>
4071
4072</div>
4073</div>
4074<a class="anchor" id="a19699533eb1b662e46a10715f6086487"></a>
4075<div class="memitem">
4076<div class="memproto">
4077 <table class="memname">
4078 <tr>
4079 <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>
4080 </tr>
4081 </table>
4082</div><div class="memdoc">
4083
4084<p>Definition at line <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml">NELKTrackerKernel.h</a>.</p>
4085
4086</div>
4087</div>
4088<a class="anchor" id="a4aad0c49ce3d7cf4693830398f190250"></a>
4089<div class="memitem">
4090<div class="memproto">
4091 <table class="memname">
4092 <tr>
4093 <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>
4094 </tr>
4095 </table>
4096</div><div class="memdoc">
4097
4098<p>Definition at line <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml">INESimpleKernel.h</a>.</p>
4099
4100</div>
4101</div>
4102<a class="anchor" id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
4103<div class="memitem">
4104<div class="memproto">
4105 <table class="memname">
4106 <tr>
4107 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a69c19b38cbee8fa6680513f6ff76bbb3">Int16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;int16_t&gt;</td>
4108 </tr>
4109 </table>
4110</div><div class="memdoc">
4111
4112<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>
4113
4114</div>
4115</div>
4116<a class="anchor" id="a6af9862834629c287a81b16837b51e44"></a>
4117<div class="memitem">
4118<div class="memproto">
4119 <table class="memname">
4120 <tr>
4121 <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>
4122 </tr>
4123 </table>
4124</div><div class="memdoc">
4125
4126<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00072">72</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4127
4128</div>
4129</div>
4130<a class="anchor" id="a2ab89a5d0959531aac270879cdd3ed78"></a>
4131<div class="memitem">
4132<div class="memproto">
4133 <table class="memname">
4134 <tr>
4135 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt;float, float, float&gt;</td>
4136 </tr>
4137 </table>
4138</div><div class="memdoc">
4139
Kaizen8938bd32017-09-28 14:38:23 +01004140<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">282</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
4141
4142</div>
4143</div>
4144<a class="anchor" id="ae273be451a4d6de5fa255cb8fb09a64b"></a>
4145<div class="memitem">
4146<div class="memproto">
4147 <table class="memname">
4148 <tr>
4149 <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>
4150 </tr>
4151 </table>
4152</div><div class="memdoc">
4153
4154<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00141">141</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004155
4156</div>
4157</div>
4158<a class="anchor" id="a32e4b9083329486a06960006af89a84c"></a>
4159<div class="memitem">
4160<div class="memproto">
4161 <table class="memname">
4162 <tr>
4163 <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>
4164 </tr>
4165 </table>
4166</div><div class="memdoc">
4167
Kaizen8938bd32017-09-28 14:38:23 +01004168<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00143">143</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004169
4170</div>
4171</div>
4172<a class="anchor" id="a1ffe8af91a934c926d102938db8d3ce1"></a>
4173<div class="memitem">
4174<div class="memproto">
4175 <table class="memname">
4176 <tr>
4177 <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>
4178 </tr>
4179 </table>
4180</div><div class="memdoc">
4181
Kaizen8938bd32017-09-28 14:38:23 +01004182<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00145">145</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004183
4184</div>
4185</div>
4186<a class="anchor" id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
4187<div class="memitem">
4188<div class="memproto">
4189 <table class="memname">
4190 <tr>
4191 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac9b2a6fa6e146437bfc8c0bee96e4760">IUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint32_t&gt;</td>
4192 </tr>
4193 </table>
4194</div><div class="memdoc">
4195
Kaizen8938bd32017-09-28 14:38:23 +01004196<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 +00004197
4198</div>
4199</div>
4200<a class="anchor" id="a276401fd5651e75431d3e1cc90601caa"></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#a276401fd5651e75431d3e1cc90601caa">IUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint8_t&gt;</td>
4206 </tr>
4207 </table>
4208</div><div class="memdoc">
4209
Kaizen8938bd32017-09-28 14:38:23 +01004210<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 +00004211
4212</div>
4213</div>
4214<a class="anchor" id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
4215<div class="memitem">
4216<div class="memproto">
4217 <table class="memname">
4218 <tr>
4219 <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>
4220 </tr>
4221 </table>
4222</div><div class="memdoc">
4223
4224<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00064">64</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4225
4226</div>
4227</div>
4228<a class="anchor" id="a681c120e2188371794ec3a59768c64ab"></a>
4229<div class="memitem">
4230<div class="memproto">
4231 <table class="memname">
4232 <tr>
4233 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#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>
4234 </tr>
4235 </table>
4236</div><div class="memdoc">
4237
Kaizen8938bd32017-09-28 14:38:23 +01004238<p>Definition at line <a class="el" href="_n_e_optical_flow_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_n_e_optical_flow_8h_source.xhtml">NEOpticalFlow.h</a>.</p>
4239
4240</div>
4241</div>
4242<a class="anchor" id="a0e7a03e2e133cb1fbb12517a3f646a09"></a>
4243<div class="memitem">
4244<div class="memproto">
4245 <table class="memname">
4246 <tr>
4247 <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>
4248 </tr>
4249 </table>
4250</div><div class="memdoc">
4251
4252<p>Definition at line <a class="el" href="_memory_group_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_memory_group_8h_source.xhtml">MemoryGroup.h</a>.</p>
4253
4254</div>
4255</div>
4256<a class="anchor" id="a762c7da7319adcc433b3ac7a67e18ed5"></a>
4257<div class="memitem">
4258<div class="memproto">
4259 <table class="memname">
4260 <tr>
4261 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt;void **, size_t&gt;</td>
4262 </tr>
4263 </table>
4264</div><div class="memdoc">
4265
4266<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>
4267<dl class="section note"><dt>Note</dt><dd>All objects are pre-pinned to specific buffers to avoid any relevant overheads </dd></dl>
4268
4269<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>
4270
4271</div>
4272</div>
4273<a class="anchor" id="acded863dbfdd730829d4188d67eefcf0"></a>
4274<div class="memitem">
4275<div class="memproto">
4276 <table class="memname">
4277 <tr>
4278 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td>
4279 </tr>
4280 </table>
4281</div><div class="memdoc">
4282
4283<p>Definition at line <a class="el" href="_mutex_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_mutex_8h_source.xhtml">Mutex.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004284
4285</div>
4286</div>
4287<a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
4288<div class="memitem">
4289<div class="memproto">
4290 <table class="memname">
4291 <tr>
4292 <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>
4293 </tr>
4294 </table>
4295</div><div class="memdoc">
4296
4297<p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
4298
4299<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00084">84</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4300
4301</div>
4302</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004303<a class="anchor" id="adbc7771d367ba8f51da1450d3602e5c0"></a>
4304<div class="memitem">
4305<div class="memproto">
4306 <table class="memname">
4307 <tr>
4308 <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>
4309 </tr>
4310 </table>
4311</div><div class="memdoc">
4312
4313<p>Basic function to run 5x5 convolution. </p>
4314
Kaizen8938bd32017-09-28 14:38:23 +01004315<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 +01004316
4317</div>
4318</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004319<a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
4320<div class="memitem">
4321<div class="memproto">
4322 <table class="memname">
4323 <tr>
4324 <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>
4325 </tr>
4326 </table>
4327</div><div class="memdoc">
4328
4329<p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
4330
4331<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4332
4333</div>
4334</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004335<a class="anchor" id="aeb2682fbeb2766df26b4be1971c9757d"></a>
4336<div class="memitem">
4337<div class="memproto">
4338 <table class="memname">
4339 <tr>
4340 <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>
4341 </tr>
4342 </table>
4343</div><div class="memdoc">
4344
4345<p>Basic function to run 7x7 convolution. </p>
4346
Kaizen8938bd32017-09-28 14:38:23 +01004347<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 +01004348
4349</div>
4350</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004351<a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
4352<div class="memitem">
4353<div class="memproto">
4354 <table class="memname">
4355 <tr>
4356 <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>
4357 </tr>
4358 </table>
4359</div><div class="memdoc">
4360
4361<p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
4362
4363<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>
4364
4365</div>
4366</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004367<a class="anchor" id="ae5a088552f26a1afafd0cbf821d256fb"></a>
4368<div class="memitem">
4369<div class="memproto">
4370 <table class="memname">
4371 <tr>
4372 <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>
4373 </tr>
4374 </table>
4375</div><div class="memdoc">
4376
4377<p>Basic function to run 9x9 convolution. </p>
4378
Kaizen8938bd32017-09-28 14:38:23 +01004379<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 +01004380
4381</div>
4382</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004383<a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
4384<div class="memitem">
4385<div class="memproto">
4386 <table class="memname">
4387 <tr>
4388 <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>
4389 </tr>
4390 </table>
4391</div><div class="memdoc">
4392
4393<p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
4394
4395<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>
4396
4397</div>
4398</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004399<a class="anchor" id="a0604c803e41880a4a16408efc4e6a69b"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00004400<div class="memitem">
4401<div class="memproto">
4402 <table class="memname">
4403 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004404 <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 +00004405 </tr>
4406 </table>
4407</div><div class="memdoc">
4408
4409<p>Definition at line <a class="el" href="_n_e_scheduler_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_n_e_scheduler_8h_source.xhtml">NEScheduler.h</a>.</p>
4410
4411</div>
4412</div>
4413<a class="anchor" id="ac78a7593874c21cff86478c1ba6df27b"></a>
4414<div class="memitem">
4415<div class="memproto">
4416 <table class="memname">
4417 <tr>
4418 <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>
4419 </tr>
4420 </table>
4421</div><div class="memdoc">
4422
4423<p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
4424
4425<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00130">130</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4426
4427</div>
4428</div>
4429<a class="anchor" id="ae4152320657df499674ed64b16c28a7b"></a>
4430<div class="memitem">
4431<div class="memproto">
4432 <table class="memname">
4433 <tr>
4434 <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>
4435 </tr>
4436 </table>
4437</div><div class="memdoc">
4438
4439<p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
4440
4441<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00186">186</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4442
4443</div>
4444</div>
4445<a class="anchor" id="aca4adbcd292c26b0e392c59875c1e926"></a>
4446<div class="memitem">
4447<div class="memproto">
4448 <table class="memname">
4449 <tr>
4450 <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>
4451 </tr>
4452 </table>
4453</div><div class="memdoc">
4454
4455<p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
4456
4457<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00132">132</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4458
4459</div>
4460</div>
4461<a class="anchor" id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
4462<div class="memitem">
4463<div class="memproto">
4464 <table class="memname">
4465 <tr>
4466 <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>
4467 </tr>
4468 </table>
4469</div><div class="memdoc">
4470
4471<p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
4472
4473<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4474
4475</div>
4476</div>
4477<a class="anchor" id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
4478<div class="memitem">
4479<div class="memproto">
4480 <table class="memname">
4481 <tr>
4482 <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>
4483 </tr>
4484 </table>
4485</div><div class="memdoc">
4486
4487<p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
4488
4489<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00134">134</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4490
4491</div>
4492</div>
4493<a class="anchor" id="a6310d21f215fface41df4cde725a62b9"></a>
4494<div class="memitem">
4495<div class="memproto">
4496 <table class="memname">
4497 <tr>
4498 <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>
4499 </tr>
4500 </table>
4501</div><div class="memdoc">
4502
4503<p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
4504
4505<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00190">190</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4506
4507</div>
4508</div>
4509<a class="anchor" id="a4467b302fc9ec312c40580336ab783da"></a>
4510<div class="memitem">
4511<div class="memproto">
4512 <table class="memname">
4513 <tr>
4514 <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>
4515 </tr>
4516 </table>
4517</div><div class="memdoc">
4518
Kaizen8938bd32017-09-28 14:38:23 +01004519<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00206">206</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004520
4521</div>
4522</div>
4523<a class="anchor" id="a1521eea74b97de8f2df9304e44179400"></a>
4524<div class="memitem">
4525<div class="memproto">
4526 <table class="memname">
4527 <tr>
4528 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td>
4529 </tr>
4530 </table>
4531</div><div class="memdoc">
4532
4533<p>16 bit fixed point scalar value </p>
4534
4535<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>
4536
4537</div>
4538</div>
4539<a class="anchor" id="a82c56f0856f56d430393e6a00baee983"></a>
4540<div class="memitem">
4541<div class="memproto">
4542 <table class="memname">
4543 <tr>
4544 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td>
4545 </tr>
4546 </table>
4547</div><div class="memdoc">
4548
4549<p>16 bit fixed point vector with 4 elements </p>
4550
4551<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>
4552
4553</div>
4554</div>
4555<a class="anchor" id="a8d57e0f4f122442011213667168ef538"></a>
4556<div class="memitem">
4557<div class="memproto">
4558 <table class="memname">
4559 <tr>
4560 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td>
4561 </tr>
4562 </table>
4563</div><div class="memdoc">
4564
4565<p>16 bit fixed point vector with 8 elements </p>
4566
4567<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>
4568
4569</div>
4570</div>
4571<a class="anchor" id="a63f034ee885f20111e7f5d44e48e6d93"></a>
4572<div class="memitem">
4573<div class="memproto">
4574 <table class="memname">
4575 <tr>
4576 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td>
4577 </tr>
4578 </table>
4579</div><div class="memdoc">
4580
4581<p>16 bit fixed point vector with 12 elements </p>
4582
4583<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>
4584
4585</div>
4586</div>
4587<a class="anchor" id="a8525b18a2f34c3497bbfbd0e7c3a7875"></a>
4588<div class="memitem">
4589<div class="memproto">
4590 <table class="memname">
4591 <tr>
4592 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td>
4593 </tr>
4594 </table>
4595</div><div class="memdoc">
4596
4597<p>16 bit fixed point vector with 16 elements </p>
4598
4599<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>
4600
4601</div>
4602</div>
4603<a class="anchor" id="a4e15143176bfacdde8b06f4bb0b67427"></a>
4604<div class="memitem">
4605<div class="memproto">
4606 <table class="memname">
4607 <tr>
4608 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td>
4609 </tr>
4610 </table>
4611</div><div class="memdoc">
4612
4613<p>16 bit fixed point vector with 8 elements </p>
4614
4615<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>
4616
4617</div>
4618</div>
4619<a class="anchor" id="a3c4099e91913f28017e1f57b8e5cbf9f"></a>
4620<div class="memitem">
4621<div class="memproto">
4622 <table class="memname">
4623 <tr>
4624 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td>
4625 </tr>
4626 </table>
4627</div><div class="memdoc">
4628
4629<p>16 bit fixed point vector with 16 elements </p>
4630
4631<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>
4632
4633</div>
4634</div>
4635<a class="anchor" id="a65e109cf43ade8a2a3c57a1120b90b05"></a>
4636<div class="memitem">
4637<div class="memproto">
4638 <table class="memname">
4639 <tr>
4640 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td>
4641 </tr>
4642 </table>
4643</div><div class="memdoc">
4644
4645<p>16 bit fixed point vector with 24 elements </p>
4646
4647<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>
4648
4649</div>
4650</div>
4651<a class="anchor" id="a6bc1e8d62f1055278d8f05454faa422f"></a>
4652<div class="memitem">
4653<div class="memproto">
4654 <table class="memname">
4655 <tr>
4656 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td>
4657 </tr>
4658 </table>
4659</div><div class="memdoc">
4660
4661<p>16 bit fixed point vector with 32 elements </p>
4662
4663<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>
4664
4665</div>
4666</div>
4667<a class="anchor" id="aa06c95f9976f3729316d689b4419089f"></a>
4668<div class="memitem">
4669<div class="memproto">
4670 <table class="memname">
4671 <tr>
4672 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td>
4673 </tr>
4674 </table>
4675</div><div class="memdoc">
4676
4677<p>32 bit fixed point scalar value </p>
4678
4679<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>
4680
4681</div>
4682</div>
Kaizen8938bd32017-09-28 14:38:23 +01004683<a class="anchor" id="addcffa8e8086154c0449c23e6b0dff83"></a>
4684<div class="memitem">
4685<div class="memproto">
4686 <table class="memname">
4687 <tr>
4688 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td>
4689 </tr>
4690 </table>
4691</div><div class="memdoc">
4692
4693<p>32 bit fixed point vector with 2 elements </p>
4694
4695<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>
4696
4697</div>
4698</div>
4699<a class="anchor" id="abd854c117af4dbd12633db2fbc01dd49"></a>
4700<div class="memitem">
4701<div class="memproto">
4702 <table class="memname">
4703 <tr>
4704 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td>
4705 </tr>
4706 </table>
4707</div><div class="memdoc">
4708
4709<p>32 bit fixed point vector with 4 elements </p>
4710
4711<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>
4712
4713</div>
4714</div>
4715<a class="anchor" id="a6ed7f8448a2a08a531e8202334e4dcdd"></a>
4716<div class="memitem">
4717<div class="memproto">
4718 <table class="memname">
4719 <tr>
4720 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td>
4721 </tr>
4722 </table>
4723</div><div class="memdoc">
4724
4725<p>32 bit fixed point vector with 8 elements </p>
4726
4727<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>
4728
4729</div>
4730</div>
4731<a class="anchor" id="adc3be0bc3741b081217b2609abcf0333"></a>
4732<div class="memitem">
4733<div class="memproto">
4734 <table class="memname">
4735 <tr>
4736 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td>
4737 </tr>
4738 </table>
4739</div><div class="memdoc">
4740
4741<p>64 bit fixed point scalar value </p>
4742
4743<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>
4744
4745</div>
4746</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004747<a class="anchor" id="a4c3f681c30c9398c45bc3cd5dc4f038a"></a>
4748<div class="memitem">
4749<div class="memproto">
4750 <table class="memname">
4751 <tr>
4752 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td>
4753 </tr>
4754 </table>
4755</div><div class="memdoc">
4756
4757<p>8 bit fixed point scalar value </p>
4758
4759<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>
4760
4761</div>
4762</div>
4763<a class="anchor" id="a5b99ed49abd6b7bf13dafdd17bcef855"></a>
4764<div class="memitem">
4765<div class="memproto">
4766 <table class="memname">
4767 <tr>
4768 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td>
4769 </tr>
4770 </table>
4771</div><div class="memdoc">
4772
4773<p>8 bit fixed point vector with 16 elements </p>
4774
4775<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>
4776
4777</div>
4778</div>
4779<a class="anchor" id="a09108711e0c18d4e9811ea4597d573b1"></a>
4780<div class="memitem">
4781<div class="memproto">
4782 <table class="memname">
4783 <tr>
4784 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td>
4785 </tr>
4786 </table>
4787</div><div class="memdoc">
4788
4789<p>8 bit fixed point vector with 32 elements </p>
4790
4791<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>
4792
4793</div>
4794</div>
4795<a class="anchor" id="a7e175277ee7de6a5aeb5cd8916dbb346"></a>
4796<div class="memitem">
4797<div class="memproto">
4798 <table class="memname">
4799 <tr>
4800 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td>
4801 </tr>
4802 </table>
4803</div><div class="memdoc">
4804
4805<p>8 bit fixed point vector with 48 elements </p>
4806
4807<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>
4808
4809</div>
4810</div>
4811<a class="anchor" id="a3c4b33603ffff71e9f02c4be1a2f14d5"></a>
4812<div class="memitem">
4813<div class="memproto">
4814 <table class="memname">
4815 <tr>
4816 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td>
4817 </tr>
4818 </table>
4819</div><div class="memdoc">
4820
4821<p>8 bit fixed point vector with 64 elements </p>
4822
4823<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>
4824
4825</div>
4826</div>
4827<a class="anchor" id="a16a1bee14f1db073f75caa76dacf5078"></a>
4828<div class="memitem">
4829<div class="memproto">
4830 <table class="memname">
4831 <tr>
4832 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td>
4833 </tr>
4834 </table>
4835</div><div class="memdoc">
4836
4837<p>8 bit fixed point vector with 8 elements </p>
4838
4839<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>
4840
4841</div>
4842</div>
4843<a class="anchor" id="ace2375b626995858a398e1ffb3108f14"></a>
4844<div class="memitem">
4845<div class="memproto">
4846 <table class="memname">
4847 <tr>
4848 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td>
4849 </tr>
4850 </table>
4851</div><div class="memdoc">
4852
4853<p>8 bit fixed point vector with 16 elements </p>
4854
4855<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>
4856
4857</div>
4858</div>
4859<a class="anchor" id="a252c74fae9a9238ef7c23d306e670706"></a>
4860<div class="memitem">
4861<div class="memproto">
4862 <table class="memname">
4863 <tr>
4864 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td>
4865 </tr>
4866 </table>
4867</div><div class="memdoc">
4868
4869<p>8 bit fixed point vector with 24 elements </p>
4870
4871<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>
4872
4873</div>
4874</div>
4875<a class="anchor" id="a01ae65c0a0736d4293e657a66bde1538"></a>
4876<div class="memitem">
4877<div class="memproto">
4878 <table class="memname">
4879 <tr>
4880 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td>
4881 </tr>
4882 </table>
4883</div><div class="memdoc">
4884
4885<p>8 bit fixed point vector with 32 elements </p>
4886
4887<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 +00004888
4889</div>
4890</div>
4891<a class="anchor" id="abd445adaaca7913c9344c90dc8c76358"></a>
4892<div class="memitem">
4893<div class="memproto">
4894 <table class="memname">
4895 <tr>
4896 <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>
4897 </tr>
4898 </table>
4899</div><div class="memdoc">
4900
4901<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>
4902
4903</div>
4904</div>
4905<a class="anchor" id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
4906<div class="memitem">
4907<div class="memproto">
4908 <table class="memname">
4909 <tr>
4910 <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>
4911 </tr>
4912 </table>
4913</div><div class="memdoc">
4914
4915<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>
4916
4917</div>
4918</div>
4919<a class="anchor" id="acd6eb2619ccd5eee4963de3195785359"></a>
4920<div class="memitem">
4921<div class="memproto">
4922 <table class="memname">
4923 <tr>
4924 <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>
4925 </tr>
4926 </table>
4927</div><div class="memdoc">
4928
4929<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4930
4931</div>
4932</div>
4933<a class="anchor" id="a9dbb5e00a3f397691eb782f03f65375c"></a>
4934<div class="memitem">
4935<div class="memproto">
4936 <table class="memname">
4937 <tr>
4938 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9dbb5e00a3f397691eb782f03f65375c">UInt8Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint8_t&gt;</td>
4939 </tr>
4940 </table>
4941</div><div class="memdoc">
4942
4943<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4944
4945</div>
4946</div>
4947<h2 class="groupheader">Enumeration Type Documentation</h2>
4948<a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
4949<div class="memitem">
4950<div class="memproto">
4951<table class="mlabels">
4952 <tr>
4953 <td class="mlabels-left">
4954 <table class="memname">
4955 <tr>
4956 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
4957 </tr>
4958 </table>
4959 </td>
4960 <td class="mlabels-right">
4961<span class="mlabels"><span class="mlabel">strong</span></span> </td>
4962 </tr>
4963</table>
4964</div><div class="memdoc">
4965
4966<p>Bilinear Interpolation method used by LKTracker. </p>
4967<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01004968<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00004969</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01004970<tr><td class="fieldname"><em><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00004971</td></tr>
4972</table>
4973
Kaizen8938bd32017-09-28 14:38:23 +01004974<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00224">224</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
4975<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;{</div>
4976<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div>
4977<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div>
4978<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;};</div>
4979<div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004980<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>
4981</div><!-- fragment -->
4982</div>
4983</div>
4984<a class="anchor" id="a15a05537a472ee742404821851529327"></a>
4985<div class="memitem">
4986<div class="memproto">
4987<table class="mlabels">
4988 <tr>
4989 <td class="mlabels-left">
4990 <table class="memname">
4991 <tr>
4992 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
4993 </tr>
4994 </table>
4995 </td>
4996 <td class="mlabels-right">
4997<span class="mlabels"><span class="mlabel">strong</span></span> </td>
4998 </tr>
4999</table>
5000</div><div class="memdoc">
5001
5002<p>Methods available to handle borders. </p>
5003<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005004<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005005<p>Borders are left undefined. </p>
5006</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005007<tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005008<p>Pixels outside the image are assumed to have a constant value. </p>
5009</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005010<tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005011<p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
5012</td></tr>
5013</table>
5014
Kaizen8938bd32017-09-28 14:38:23 +01005015<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00128">128</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5016<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;{</div>
5017<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div>
5018<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div>
5019<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div>
5020<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;};</div>
5021<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 +00005022<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>
5023<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>
5024</div><!-- fragment -->
5025</div>
5026</div>
5027<a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
5028<div class="memitem">
5029<div class="memproto">
5030<table class="mlabels">
5031 <tr>
5032 <td class="mlabels-left">
5033 <table class="memname">
5034 <tr>
5035 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
5036 </tr>
5037 </table>
5038 </td>
5039 <td class="mlabels-right">
5040<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5041 </tr>
5042</table>
5043</div><div class="memdoc">
5044
5045<p>Available channels. </p>
5046<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005047<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005048</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005049<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005050<p>Unknown channel format. </p>
5051<p>First channel (used by formats with unknown channel types). </p>
5052</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005053<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005054<p>Second channel (used by formats with unknown channel types). </p>
5055</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005056<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005057<p>Third channel (used by formats with unknown channel types). </p>
5058</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005059<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005060<p>Fourth channel (used by formats with unknown channel types). </p>
5061</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005062<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005063<p>Red channel. </p>
5064</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005065<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005066<p>Green channel. </p>
5067</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005068<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005069<p>Blue channel. </p>
5070</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005071<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005072<p>Alpha channel. </p>
5073</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005074<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005075<p>Luma channel. </p>
5076</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005077<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005078<p>Cb/U channel. </p>
5079</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005080<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005081<p>Cr/V/Value channel. </p>
5082</td></tr>
5083</table>
5084
Kaizen8938bd32017-09-28 14:38:23 +01005085<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00316">316</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5086<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;{</div>
5087<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div>
5088<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div>
5089<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div>
5090<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div>
5091<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div>
5092<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div>
5093<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div>
5094<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div>
5095<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div>
5096<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div>
5097<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div>
5098<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div>
5099<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;};</div>
5100<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 +00005101<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>
5102<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>
5103<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>
5104<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 +00005105<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>
5106<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>
5107<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>
5108<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>
5109<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 +01005110<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 +00005111<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>
5112</div><!-- fragment -->
5113</div>
5114</div>
Kaizen8938bd32017-09-28 14:38:23 +01005115<a class="anchor" id="a3a440b3893fa10608d4428958be1c52e"></a>
5116<div class="memitem">
5117<div class="memproto">
5118<table class="mlabels">
5119 <tr>
5120 <td class="mlabels-left">
5121 <table class="memname">
5122 <tr>
5123 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a></td>
5124 </tr>
5125 </table>
5126 </td>
5127 <td class="mlabels-right">
5128<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5129 </tr>
5130</table>
5131</div><div class="memdoc">
5132<table class="fieldtable">
5133<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10</em>&#160;</td><td class="fielddoc">
5134</td></tr>
5135<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11</em>&#160;</td><td class="fielddoc">
5136</td></tr>
5137<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12</em>&#160;</td><td class="fielddoc">
5138</td></tr>
5139<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20</em>&#160;</td><td class="fielddoc">
5140</td></tr>
5141<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
5142</td></tr>
5143</table>
5144
5145<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
5146<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
5147<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>, <span class="comment">/* the OpenCL 1.0 */</span></div>
5148<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>, <span class="comment">/* the OpenCL 1.1 */</span></div>
5149<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>, <span class="comment">/* the OpenCL 1.2 */</span></div>
5150<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>, <span class="comment">/* the OpenCL 2.0 and above */</span></div>
5151<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> <span class="comment">/* unkown version */</span></div>
5152<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div>
5153<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">arm_compute::CLVersion::CL20</a></div></div>
5154<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">arm_compute::CLVersion::CL12</a></div></div>
5155<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">arm_compute::CLVersion::CL10</a></div></div>
5156<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">arm_compute::CLVersion::CL11</a></div></div>
5157<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
5158</div><!-- fragment -->
5159</div>
5160</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005161<a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
5162<div class="memitem">
5163<div class="memproto">
5164<table class="mlabels">
5165 <tr>
5166 <td class="mlabels-left">
5167 <table class="memname">
5168 <tr>
5169 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
5170 </tr>
5171 </table>
5172 </td>
5173 <td class="mlabels-right">
5174<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5175 </tr>
5176</table>
5177</div><div class="memdoc">
5178
5179<p>Policy to handle overflow. </p>
5180<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005181<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005182<p>Wrap around. </p>
5183</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005184<tr><td class="fieldname"><em><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005185<p>Saturate. </p>
5186</td></tr>
5187</table>
5188
Kaizen8938bd32017-09-28 14:38:23 +01005189<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00209">209</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5190<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
5191<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div>
5192<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div>
5193<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;};</div>
5194<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 +00005195<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>
5196</div><!-- fragment -->
5197</div>
5198</div>
Kaizen8938bd32017-09-28 14:38:23 +01005199<a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853d"></a>
5200<div class="memitem">
5201<div class="memproto">
5202<table class="mlabels">
5203 <tr>
5204 <td class="mlabels-left">
5205 <table class="memname">
5206 <tr>
5207 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">CPUTarget</a></td>
5208 </tr>
5209 </table>
5210 </td>
5211 <td class="mlabels-right">
5212<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5213 </tr>
5214</table>
5215</div><div class="memdoc">
5216
5217<p>Available CPU Targets. </p>
5218<table class="fieldtable">
5219<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2"></a>ARCH_MASK</em>&#160;</td><td class="fielddoc">
5220</td></tr>
5221<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5"></a>CPU_MODEL</em>&#160;</td><td class="fielddoc">
5222</td></tr>
5223<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22"></a>INTRINSICS</em>&#160;</td><td class="fielddoc">
5224</td></tr>
5225<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"></a>ARMV7</em>&#160;</td><td class="fielddoc">
5226</td></tr>
5227<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd"></a>ARMV8</em>&#160;</td><td class="fielddoc">
5228</td></tr>
5229<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d"></a>ARMV8_2</em>&#160;</td><td class="fielddoc">
5230</td></tr>
5231<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e"></a>A7x</em>&#160;</td><td class="fielddoc">
5232</td></tr>
5233<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced"></a>A5x</em>&#160;</td><td class="fielddoc">
5234</td></tr>
5235<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"></a>DOT</em>&#160;</td><td class="fielddoc">
5236</td></tr>
5237<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53</em>&#160;</td><td class="fielddoc">
5238</td></tr>
5239<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"></a>A55</em>&#160;</td><td class="fielddoc">
5240</td></tr>
5241<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893"></a>A55_DOT</em>&#160;</td><td class="fielddoc">
5242</td></tr>
5243<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937"></a>A72</em>&#160;</td><td class="fielddoc">
5244</td></tr>
5245<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373"></a>A73</em>&#160;</td><td class="fielddoc">
5246</td></tr>
5247<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"></a>A75</em>&#160;</td><td class="fielddoc">
5248</td></tr>
5249<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15"></a>A75_DOT</em>&#160;</td><td class="fielddoc">
5250</td></tr>
5251</table>
5252
5253<p>Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
5254<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div>
5255<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,</div>
5256<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,</div>
5257<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,</div>
5258<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,</div>
5259<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,</div>
5260<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,</div>
5261<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,</div>
5262<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,</div>
5263<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,</div>
5264<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
5265<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div>
5266<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; A55 = (ARMV8_2 | A5x | 0x5),</div>
5267<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div>
5268<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; A72 = (ARMV8 | A7x | 0x2),</div>
5269<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div>
5270<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; A75 = (ARMV8_2 | A7x | 0x5),</div>
5271<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div>
5272<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;};</div>
5273<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">arm_compute::CPUTarget::ARMV7</a></div></div>
5274<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">arm_compute::CPUTarget::A75</a></div></div>
5275<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">arm_compute::CPUTarget::DOT</a></div></div>
5276<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">arm_compute::CPUTarget::A55</a></div></div>
5277<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">arm_compute::CPUTarget::A5x</a></div></div>
5278<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">arm_compute::CPUTarget::A55_DOT</a></div></div>
5279<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">arm_compute::CPUTarget::CPU_MODEL</a></div></div>
5280<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">arm_compute::CPUTarget::ARMV8_2</a></div></div>
5281<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">arm_compute::CPUTarget::A73</a></div></div>
5282<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">arm_compute::CPUTarget::A7x</a></div></div>
5283<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">arm_compute::CPUTarget::ARMV8</a></div></div>
5284<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">arm_compute::CPUTarget::ARCH_MASK</a></div></div>
5285<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">arm_compute::CPUTarget::INTRINSICS</a></div></div>
5286<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">arm_compute::CPUTarget::A53</a></div></div>
5287<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">arm_compute::CPUTarget::A75_DOT</a></div></div>
5288</div><!-- fragment -->
5289</div>
5290</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005291<a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
5292<div class="memitem">
5293<div class="memproto">
5294<table class="mlabels">
5295 <tr>
5296 <td class="mlabels-left">
5297 <table class="memname">
5298 <tr>
5299 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
5300 </tr>
5301 </table>
5302 </td>
5303 <td class="mlabels-right">
5304<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5305 </tr>
5306</table>
5307</div><div class="memdoc">
5308
5309<p>Available data types. </p>
5310<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005311<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005312</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005313<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005314</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005315<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005316</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005317<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"></a>QS8</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005318</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005319<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005320</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005321<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005322</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005323<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"></a>QS16</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005324</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005325<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005326</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005327<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005328</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005329<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"></a>QS32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005330</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005331<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005332</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005333<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005334</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005335<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005336</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005337<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005338</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005339<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64</em>&#160;</td><td class="fielddoc">
5340</td></tr>
5341<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005342</td></tr>
5343</table>
5344
Kaizen8938bd32017-09-28 14:38:23 +01005345<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00064">64</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5346<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
5347<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div>
5348<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div>
5349<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div>
5350<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,</div>
5351<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div>
5352<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div>
5353<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,</div>
5354<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div>
5355<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div>
5356<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,</div>
5357<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div>
5358<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div>
5359<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div>
5360<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div>
5361<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div>
5362<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div>
5363<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;};</div>
5364<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">arm_compute::DataType::QS16</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005365<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">arm_compute::DataType::QS8</a></div></div>
5366<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005367<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
5368<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005369<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
5370<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
5371<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div></div>
5372<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div></div>
5373<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
5374<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005375<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
5376<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">arm_compute::DataType::QS32</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005377<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div></div>
5378<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div></div>
5379<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div></div>
5380</div><!-- fragment -->
5381</div>
5382</div>
5383<a class="anchor" id="a1fece1bd804e64f39f602d1c3969849a"></a>
5384<div class="memitem">
5385<div class="memproto">
5386<table class="mlabels">
5387 <tr>
5388 <td class="mlabels-left">
5389 <table class="memname">
5390 <tr>
5391 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
5392 </tr>
5393 </table>
5394 </td>
5395 <td class="mlabels-right">
5396<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5397 </tr>
5398</table>
5399</div><div class="memdoc">
5400
5401<p>Dimension rounding type when down-scaling on CNNs. </p>
5402<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
5403<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005404<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005405<p>Floor rounding. </p>
5406</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005407<tr><td class="fieldname"><em><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005408<p>Ceil rounding. </p>
5409</td></tr>
5410</table>
5411
Kaizen8938bd32017-09-28 14:38:23 +01005412<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00391">391</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5413<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;{</div>
5414<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div>
5415<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div>
5416<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;};</div>
5417<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 +00005418<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>
5419</div><!-- fragment -->
5420</div>
5421</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005422<a class="anchor" id="afa20b6a7f4383003babd690f026f22dc"></a>
5423<div class="memitem">
5424<div class="memproto">
5425<table class="mlabels">
5426 <tr>
5427 <td class="mlabels-left">
5428 <table class="memname">
5429 <tr>
5430 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a></td>
5431 </tr>
5432 </table>
5433 </td>
5434 <td class="mlabels-right">
5435<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5436 </tr>
5437</table>
5438</div><div class="memdoc">
5439
5440<p>Fixed point operation. </p>
5441<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005442<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005443<p>Exponential. </p>
5444</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005445<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"></a>LOG</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005446<p>Logarithm. </p>
5447</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005448<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"></a>INV_SQRT</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005449<p>Inverse square root. </p>
5450</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005451<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"></a>RECIPROCAL</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005452<p>Reciprocal. </p>
5453</td></tr>
5454</table>
5455
Kaizen8938bd32017-09-28 14:38:23 +01005456<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>
5457<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
5458<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div>
5459<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, </div>
5460<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, </div>
5461<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a> </div>
5462<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;};</div>
5463<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 +01005464<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>
5465<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>
5466<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>
5467</div><!-- fragment -->
5468</div>
5469</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005470<a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
5471<div class="memitem">
5472<div class="memproto">
5473<table class="mlabels">
5474 <tr>
5475 <td class="mlabels-left">
5476 <table class="memname">
5477 <tr>
5478 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
5479 </tr>
5480 </table>
5481 </td>
5482 <td class="mlabels-right">
5483<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5484 </tr>
5485</table>
5486</div><div class="memdoc">
5487
5488<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
5489<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005490<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005491</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005492<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005493<p>Unknown image format. </p>
5494</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005495<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005496<p>1 channel, 1 U8 per channel </p>
5497</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005498<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005499<p>1 channel, 1 S16 per channel </p>
5500</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005501<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005502<p>1 channel, 1 U16 per channel </p>
5503</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005504<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005505<p>1 channel, 1 S32 per channel </p>
5506</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005507<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005508<p>1 channel, 1 U32 per channel </p>
5509</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005510<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005511<p>1 channel, 1 F16 per channel </p>
5512</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005513<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005514<p>1 channel, 1 F32 per channel </p>
5515</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005516<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005517<p>2 channel, 1 U8 per channel </p>
5518</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005519<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005520<p>3 channels, 1 U8 per channel </p>
5521</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005522<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005523<p>4 channels, 1 U8 per channel </p>
5524</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005525<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005526<p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
5527</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005528<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005529<p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
5530</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005531<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005532<p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
5533</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005534<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005535<p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
5536</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005537<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005538<p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
5539<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte </p>
5540</td></tr>
5541</table>
5542
Kaizen8938bd32017-09-28 14:38:23 +01005543<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00042">42</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5544<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
5545<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div>
5546<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div>
5547<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div>
5548<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div>
5549<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div>
5550<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div>
5551<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div>
5552<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div>
5553<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div>
5554<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div>
5555<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div>
5556<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div>
5557<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div>
5558<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div>
5559<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div>
5560<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div>
5561<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div>
5562<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div>
5563<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005564<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
5565<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
5566<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a></div><div class="ttdoc">A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </div></div>
5567<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005568<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </div></div>
5569<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
5570<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
5571<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a></div><div class="ttdoc">2 channel, 1 U8 per channel </div></div>
5572<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
5573<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a></div><div class="ttdoc">4 channels, 1 U8 per channel </div></div>
5574<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
5575<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </div></div>
5576<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a></div><div class="ttdoc">3 channels, 1 U8 per channel </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005577<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 +00005578<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a></div><div class="ttdoc">1 channel, 1 F32 per channel </div></div>
5579<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a></div><div class="ttdoc">A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </div></div>
5580</div><!-- fragment -->
5581</div>
5582</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005583<a class="anchor" id="a735ac6c2a02e320969625308810444f3"></a>
5584<div class="memitem">
5585<div class="memproto">
5586<table class="mlabels">
5587 <tr>
5588 <td class="mlabels-left">
5589 <table class="memname">
5590 <tr>
5591 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a></td>
5592 </tr>
5593 </table>
5594 </td>
5595 <td class="mlabels-right">
5596<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5597 </tr>
5598</table>
5599</div><div class="memdoc">
5600
5601<p>Available GPU Targets. </p>
5602<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005603<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005604</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005605<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005606</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005607<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005608</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005609<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005610</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005611<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005612</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005613<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005614</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005615<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298"></a>G70</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005616</td></tr>
5617</table>
5618
Kaizen8938bd32017-09-28 14:38:23 +01005619<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
5620<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
5621<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>
5622<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>
5623<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>
5624<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>
5625<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>
5626<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>
5627<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210</div>
5628<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div>
5629<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005630<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
5631<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>
5632<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">arm_compute::GPUTarget::T600</a></div></div>
5633<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">arm_compute::GPUTarget::G70</a></div></div>
5634<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">arm_compute::GPUTarget::MIDGARD</a></div></div>
5635<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">arm_compute::GPUTarget::BIFROST</a></div></div>
5636</div><!-- fragment -->
5637</div>
5638</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005639<a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
5640<div class="memitem">
5641<div class="memproto">
5642<table class="mlabels">
5643 <tr>
5644 <td class="mlabels-left">
5645 <table class="memname">
5646 <tr>
5647 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
5648 </tr>
5649 </table>
5650 </td>
5651 <td class="mlabels-right">
5652<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5653 </tr>
5654</table>
5655</div><div class="memdoc">
5656
5657<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>
5658<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005659<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005660<p>L2-norm. </p>
5661</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005662<tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005663<p>L2-norm followed by clipping. </p>
5664</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005665<tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005666<p>L1 norm. </p>
5667</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00005668</table>
5669
Kaizen8938bd32017-09-28 14:38:23 +01005670<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00365">365</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5671<div class="fragment"><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;{</div>
5672<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div>
5673<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div>
5674<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div>
5675<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;};</div>
5676<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 +00005677<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>
5678<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 +00005679</div><!-- fragment -->
5680</div>
5681</div>
5682<a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
5683<div class="memitem">
5684<div class="memproto">
5685<table class="mlabels">
5686 <tr>
5687 <td class="mlabels-left">
5688 <table class="memname">
5689 <tr>
5690 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a></td>
5691 </tr>
5692 </table>
5693 </td>
5694 <td class="mlabels-right">
5695<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5696 </tr>
5697</table>
5698</div><div class="memdoc">
5699
5700<p>Interpolation method. </p>
5701<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005702<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005703<p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
5704</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005705<tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005706<p>Output values are defined by bilinear interpolation between the pixels. </p>
5707</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005708<tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005709<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>
5710</td></tr>
5711</table>
5712
Kaizen8938bd32017-09-28 14:38:23 +01005713<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00216">216</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5714<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div>
5715<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div>
5716<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div>
5717<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div>
5718<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;};</div>
5719<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 +00005720<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>
5721<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>
5722</div><!-- fragment -->
5723</div>
5724</div>
5725<a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
5726<div class="memitem">
5727<div class="memproto">
5728<table class="mlabels">
5729 <tr>
5730 <td class="mlabels-left">
5731 <table class="memname">
5732 <tr>
5733 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
5734 </tr>
5735 </table>
5736 </td>
5737 <td class="mlabels-right">
5738<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5739 </tr>
5740</table>
5741</div><div class="memdoc">
5742
5743<p>Magnitude calculation type. </p>
5744<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005745<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005746<p>L1 normalization type. </p>
5747</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005748<tr><td class="fieldname"><em><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005749<p>L2 normalization type. </p>
5750</td></tr>
5751</table>
5752
Kaizen8938bd32017-09-28 14:38:23 +01005753<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00254">254</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5754<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;{</div>
5755<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div>
5756<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div>
5757<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;};</div>
5758<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 +00005759<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>
5760</div><!-- fragment -->
5761</div>
5762</div>
Kaizen8938bd32017-09-28 14:38:23 +01005763<a class="anchor" id="af0a4d6be70322c742c12da1edccbb74d"></a>
5764<div class="memitem">
5765<div class="memproto">
5766<table class="mlabels">
5767 <tr>
5768 <td class="mlabels-left">
5769 <table class="memname">
5770 <tr>
5771 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a></td>
5772 </tr>
5773 </table>
5774 </td>
5775 <td class="mlabels-right">
5776<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5777 </tr>
5778</table>
5779</div><div class="memdoc">
5780
5781<p>Mapping type. </p>
5782<table class="fieldtable">
5783<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS</em>&#160;</td><td class="fielddoc">
5784<p>Mappings are in blob granularity. </p>
5785</td></tr>
5786<tr><td class="fieldname"><em><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS</em>&#160;</td><td class="fielddoc">
5787<p>Mappings are in offset granularity in the same blob. </p>
5788</td></tr>
5789</table>
5790
5791<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>
5792<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
5793<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div>
5794<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div>
5795<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;};</div>
5796<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>
5797<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>
5798</div><!-- fragment -->
5799</div>
5800</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005801<a class="anchor" id="afdda916edc7502967bbec17ea3c06c02"></a>
5802<div class="memitem">
5803<div class="memproto">
5804<table class="mlabels">
5805 <tr>
5806 <td class="mlabels-left">
5807 <table class="memname">
5808 <tr>
5809 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
5810 </tr>
5811 </table>
5812 </td>
5813 <td class="mlabels-right">
5814<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5815 </tr>
5816</table>
5817</div><div class="memdoc">
5818
5819<p>Available matrix patterns. </p>
5820<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005821<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005822<p>Box pattern matrix. </p>
5823</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005824<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005825<p>Cross pattern matrix. </p>
5826</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005827<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005828<p>Disk pattern matrix. </p>
5829</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005830<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005831<p>Any other matrix pattern. </p>
5832</td></tr>
5833</table>
5834
Kaizen8938bd32017-09-28 14:38:23 +01005835<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00333">333</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5836<div class="fragment"><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;{</div>
5837<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div>
5838<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div>
5839<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div>
5840<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div>
5841<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;};</div>
5842<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 +00005843<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>
5844<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>
5845<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>
5846</div><!-- fragment -->
5847</div>
5848</div>
5849<a class="anchor" id="adf2ced65e536375a1c96425d9fced858"></a>
5850<div class="memitem">
5851<div class="memproto">
5852<table class="mlabels">
5853 <tr>
5854 <td class="mlabels-left">
5855 <table class="memname">
5856 <tr>
5857 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</td>
5858 </tr>
5859 </table>
5860 </td>
5861 <td class="mlabels-right">
5862<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5863 </tr>
5864</table>
5865</div><div class="memdoc">
5866
5867<p>Available non linear functions. </p>
5868<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005869<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005870<p>Non linear median filter. </p>
5871</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005872<tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005873<p>Non linear erode. </p>
5874</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005875<tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005876<p>Non linear dilate. </p>
5877</td></tr>
5878</table>
5879
Kaizen8938bd32017-09-28 14:38:23 +01005880<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">342</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5881<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; : <span class="keywordtype">unsigned</span></div>
5882<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;{</div>
5883<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div>
5884<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div>
5885<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div>
5886<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;};</div>
5887<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 +00005888<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>
5889<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>
5890</div><!-- fragment -->
5891</div>
5892</div>
5893<a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
5894<div class="memitem">
5895<div class="memproto">
5896<table class="mlabels">
5897 <tr>
5898 <td class="mlabels-left">
5899 <table class="memname">
5900 <tr>
5901 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
5902 </tr>
5903 </table>
5904 </td>
5905 <td class="mlabels-right">
5906<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5907 </tr>
5908</table>
5909</div><div class="memdoc">
5910
5911<p>The normalization type used for the normalization layer. </p>
5912<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005913<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005914<p>Normalization applied within the same map in 1D region. </p>
5915</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005916<tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005917<p>Normalization applied within the same map in 2D region. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005918</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005919<tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005920<p>Normalization applied cross maps. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005921</td></tr>
5922</table>
5923
Kaizen8938bd32017-09-28 14:38:23 +01005924<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00357">357</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5925<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div>
5926<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div>
5927<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div>
5928<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div>
5929<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;};</div>
5930<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 +01005931<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>
5932<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 +00005933</div><!-- fragment -->
5934</div>
5935</div>
5936<a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72"></a>
5937<div class="memitem">
5938<div class="memproto">
5939<table class="mlabels">
5940 <tr>
5941 <td class="mlabels-left">
5942 <table class="memname">
5943 <tr>
5944 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
5945 </tr>
5946 </table>
5947 </td>
5948 <td class="mlabels-right">
5949<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5950 </tr>
5951</table>
5952</div><div class="memdoc">
5953
5954<p>Phase calculation type. </p>
5955<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>
5956<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005957<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005958<p>Angle range: [0, 360]. </p>
5959</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005960<tr><td class="fieldname"><em><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005961<p>Angle range: [0, 180]. </p>
5962</td></tr>
5963</table>
5964
Kaizen8938bd32017-09-28 14:38:23 +01005965<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00264">264</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5966<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div>
5967<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div>
5968<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div>
5969<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;};</div>
5970<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 +00005971<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>
5972</div><!-- fragment -->
5973</div>
5974</div>
5975<a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93"></a>
5976<div class="memitem">
5977<div class="memproto">
5978<table class="mlabels">
5979 <tr>
5980 <td class="mlabels-left">
5981 <table class="memname">
5982 <tr>
5983 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
5984 </tr>
5985 </table>
5986 </td>
5987 <td class="mlabels-right">
5988<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5989 </tr>
5990</table>
5991</div><div class="memdoc">
5992
5993<p>Available pooling types. </p>
5994<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005995<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005996<p>Max Pooling. </p>
5997</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005998<tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005999<p>Average Pooling. </p>
6000</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006001<tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2</em>&#160;</td><td class="fielddoc">
6002<p>L2 Pooling. </p>
6003</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00006004</table>
6005
Kaizen8938bd32017-09-28 14:38:23 +01006006<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00398">398</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6007<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;{</div>
6008<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div>
6009<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div>
6010<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div>
6011<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;};</div>
6012<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>
6013<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 +00006014<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>
6015</div><!-- fragment -->
6016</div>
6017</div>
Kaizen8938bd32017-09-28 14:38:23 +01006018<a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45b"></a>
6019<div class="memitem">
6020<div class="memproto">
6021<table class="mlabels">
6022 <tr>
6023 <td class="mlabels-left">
6024 <table class="memname">
6025 <tr>
6026 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a></td>
6027 </tr>
6028 </table>
6029 </td>
6030 <td class="mlabels-right">
6031<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6032 </tr>
6033</table>
6034</div><div class="memdoc">
6035
6036<p>Available reduction operations. </p>
6037<table class="fieldtable">
6038<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE</em>&#160;</td><td class="fielddoc">
6039<p>Sum of squares. </p>
6040</td></tr>
6041<tr><td class="fieldname"><em><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM</em>&#160;</td><td class="fielddoc">
6042<p>Sum. </p>
6043</td></tr>
6044</table>
6045
6046<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">350</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6047<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;{</div>
6048<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div>
6049<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div>
6050<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;};</div>
6051<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>
6052<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>
6053</div><!-- fragment -->
6054</div>
6055</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006056<a class="anchor" id="add6426cbf2e057a195846d4ba09a50be"></a>
6057<div class="memitem">
6058<div class="memproto">
6059<table class="mlabels">
6060 <tr>
6061 <td class="mlabels-left">
6062 <table class="memname">
6063 <tr>
6064 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a></td>
6065 </tr>
6066 </table>
6067 </td>
6068 <td class="mlabels-right">
6069<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6070 </tr>
6071</table>
6072</div><div class="memdoc">
6073
6074<p>Rounding method. </p>
6075<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006076<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006077<p>Truncates the least significand values that are lost in operations. </p>
6078</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006079<tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006080<p>Rounds to nearest value; half rounds up. </p>
6081</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006082<tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006083<p>Rounds to nearest value; half rounds to nearest even. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006084</td></tr>
6085</table>
6086
Kaizen8938bd32017-09-28 14:38:23 +01006087<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00238">238</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6088<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div>
6089<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div>
6090<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, </div>
6091<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div>
6092<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;};</div>
6093<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 up. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006094<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 +00006095<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>
6096</div><!-- fragment -->
6097</div>
6098</div>
6099<a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
6100<div class="memitem">
6101<div class="memproto">
6102<table class="mlabels">
6103 <tr>
6104 <td class="mlabels-left">
6105 <table class="memname">
6106 <tr>
6107 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
6108 </tr>
6109 </table>
6110 </td>
6111 <td class="mlabels-right">
6112<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6113 </tr>
6114</table>
6115</div><div class="memdoc">
6116
6117<p>Termination criteria. </p>
6118<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006119<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006120</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006121<tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006122</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006123<tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006124</td></tr>
6125</table>
6126
Kaizen8938bd32017-09-28 14:38:23 +01006127<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">246</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6128<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;{</div>
6129<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div>
6130<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div>
6131<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div>
6132<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;};</div>
6133<div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006134<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>
6135<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>
6136</div><!-- fragment -->
6137</div>
6138</div>
6139<a class="anchor" id="a3e6b23e675649b83240691abbc42a649"></a>
6140<div class="memitem">
6141<div class="memproto">
6142<table class="mlabels">
6143 <tr>
6144 <td class="mlabels-left">
6145 <table class="memname">
6146 <tr>
6147 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
6148 </tr>
6149 </table>
6150 </td>
6151 <td class="mlabels-right">
6152<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6153 </tr>
6154</table>
6155</div><div class="memdoc">
6156
6157<p>Threshold mode. </p>
6158<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006159<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006160<p>Threshold with one value. </p>
6161</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006162<tr><td class="fieldname"><em><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006163<p>Threshold with two values. </p>
6164</td></tr>
6165</table>
6166
Kaizen8938bd32017-09-28 14:38:23 +01006167<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00231">231</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6168<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div>
6169<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div>
6170<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div>
6171<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;};</div>
6172<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 +00006173<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>
6174</div><!-- fragment -->
6175</div>
6176</div>
6177<h2 class="groupheader">Function Documentation</h2>
6178<a class="anchor" id="a41c1523098580451b378f76b8c37a0f0"></a>
6179<div class="memitem">
6180<div class="memproto">
6181<table class="mlabels">
6182 <tr>
6183 <td class="mlabels-left">
6184 <table class="memname">
6185 <tr>
6186 <td class="memname">int arm_compute::adjust_down </td>
6187 <td>(</td>
6188 <td class="paramtype">int&#160;</td>
6189 <td class="paramname"><em>required</em>, </td>
6190 </tr>
6191 <tr>
6192 <td class="paramkey"></td>
6193 <td></td>
6194 <td class="paramtype">int&#160;</td>
6195 <td class="paramname"><em>available</em>, </td>
6196 </tr>
6197 <tr>
6198 <td class="paramkey"></td>
6199 <td></td>
6200 <td class="paramtype">int&#160;</td>
6201 <td class="paramname"><em>step</em>&#160;</td>
6202 </tr>
6203 <tr>
6204 <td></td>
6205 <td>)</td>
6206 <td></td><td></td>
6207 </tr>
6208 </table>
6209 </td>
6210 <td class="mlabels-right">
6211<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6212 </tr>
6213</table>
6214</div><div class="memdoc">
6215
6216<p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
6217<dl class="params"><dt>Parameters</dt><dd>
6218 <table class="params">
6219 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
6220 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
6221 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
6222 </table>
6223 </dd>
6224</dl>
6225<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>
6226
6227<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>
6228
Anthony Barbierdbdab852017-06-23 15:42:00 +01006229<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01006230<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
6231<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>
6232<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
6233<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>
6234<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div>
6235<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#l00124">Error.h:124</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006236</div><!-- fragment -->
6237</div>
6238</div>
6239<a class="anchor" id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
6240<div class="memitem">
6241<div class="memproto">
6242<table class="mlabels">
6243 <tr>
6244 <td class="mlabels-left">
6245 <table class="memname">
6246 <tr>
6247 <td class="memname">int arm_compute::adjust_up </td>
6248 <td>(</td>
6249 <td class="paramtype">int&#160;</td>
6250 <td class="paramname"><em>required</em>, </td>
6251 </tr>
6252 <tr>
6253 <td class="paramkey"></td>
6254 <td></td>
6255 <td class="paramtype">int&#160;</td>
6256 <td class="paramname"><em>available</em>, </td>
6257 </tr>
6258 <tr>
6259 <td class="paramkey"></td>
6260 <td></td>
6261 <td class="paramtype">int&#160;</td>
6262 <td class="paramname"><em>step</em>&#160;</td>
6263 </tr>
6264 <tr>
6265 <td></td>
6266 <td>)</td>
6267 <td></td><td></td>
6268 </tr>
6269 </table>
6270 </td>
6271 <td class="mlabels-right">
6272<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6273 </tr>
6274</table>
6275</div><div class="memdoc">
6276
6277<p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
6278<dl class="params"><dt>Parameters</dt><dd>
6279 <table class="params">
6280 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
6281 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
6282 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
6283 </table>
6284 </dd>
6285</dl>
6286<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>
6287
6288<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>
6289
Anthony Barbierdbdab852017-06-23 15:42:00 +01006290<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01006291<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
6292<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>
6293<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
6294<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>
6295<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
6296<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#l00124">Error.h:124</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006297</div><!-- fragment -->
6298</div>
6299</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006300<a class="anchor" id="a1c9627ac3d73a67e9312c2c9740ff0a3"></a>
6301<div class="memitem">
6302<div class="memproto">
6303<table class="mlabels">
6304 <tr>
6305 <td class="mlabels-left">
6306 <table class="memname">
6307 <tr>
6308 <td class="memname">bool auto_init_if_empty </td>
6309 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006310 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006311 <td class="paramname"><em>info</em>, </td>
6312 </tr>
6313 <tr>
6314 <td class="paramkey"></td>
6315 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006316 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006317 <td class="paramname"><em>shape</em>, </td>
6318 </tr>
6319 <tr>
6320 <td class="paramkey"></td>
6321 <td></td>
6322 <td class="paramtype">int&#160;</td>
6323 <td class="paramname"><em>num_channels</em>, </td>
6324 </tr>
6325 <tr>
6326 <td class="paramkey"></td>
6327 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006328 <td class="paramtype">DataType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006329 <td class="paramname"><em>data_type</em>, </td>
6330 </tr>
6331 <tr>
6332 <td class="paramkey"></td>
6333 <td></td>
6334 <td class="paramtype">int&#160;</td>
6335 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
6336 </tr>
6337 <tr>
6338 <td></td>
6339 <td>)</td>
6340 <td></td><td></td>
6341 </tr>
6342 </table>
6343 </td>
6344 <td class="mlabels-right">
6345<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6346 </tr>
6347</table>
6348</div><div class="memdoc">
6349
Kaizen8938bd32017-09-28 14:38:23 +01006350<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00200">200</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006351
Kaizen8938bd32017-09-28 14:38:23 +01006352<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a4b622a0346ec30baf0b9a387e00c9ace">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aec2c125ece3cc6593a0be7f1fef3d97f">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ae05139a48d9360e44f5ef2eef64b23ec">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a40deec9ef7e7c892bef6b11b4d81c38e">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#l00135">TensorShape::total_size()</a>.</p>
6353<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div>
6354<div class="line"><a name="l00202"></a><span class="lineno"> 202</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>
6355<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
6356<div class="line"><a name="l00204"></a><span class="lineno"> 204</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>
6357<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div>
6358<div class="line"><a name="l00206"></a><span class="lineno"> 206</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>
6359<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div>
6360<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
6361<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
6362<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div>
6363<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
6364<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;}</div>
6365<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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
6366<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>
6367<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
6368</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01006369</div>
6370</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006371<a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
6372<div class="memitem">
6373<div class="memproto">
6374 <table class="memname">
6375 <tr>
6376 <td class="memname">std::string arm_compute::build_information </td>
6377 <td>(</td>
6378 <td class="paramname"></td><td>)</td>
6379 <td></td>
6380 </tr>
6381 </table>
6382</div><div class="memdoc">
6383
6384<p>Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. </p>
6385<p>Contains the version number and the build options used to build the library</p>
6386<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information </dd></dl>
6387
Anthony Barbier871448e2017-03-24 14:54:29 +00006388</div>
6389</div>
6390<a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
6391<div class="memitem">
6392<div class="memproto">
6393<table class="mlabels">
6394 <tr>
6395 <td class="mlabels-left">
6396 <table class="memname">
6397 <tr>
6398 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
6399 <td>(</td>
6400 <td class="paramtype">const int16_t *&#160;</td>
6401 <td class="paramname"><em>matrix</em>, </td>
6402 </tr>
6403 <tr>
6404 <td class="paramkey"></td>
6405 <td></td>
6406 <td class="paramtype">unsigned int&#160;</td>
6407 <td class="paramname"><em>matrix_size</em>&#160;</td>
6408 </tr>
6409 <tr>
6410 <td></td>
6411 <td>)</td>
6412 <td></td><td></td>
6413 </tr>
6414 </table>
6415 </td>
6416 <td class="mlabels-right">
6417<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6418 </tr>
6419</table>
6420</div><div class="memdoc">
6421
6422<p>Calculate the scale of the given square matrix. </p>
6423<p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
6424<dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
6425<dl class="params"><dt>Parameters</dt><dd>
6426 <table class="params">
6427 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
6428 <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>
6429 </table>
6430 </dd>
6431</dl>
6432<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>
6433
Kaizen8938bd32017-09-28 14:38:23 +01006434<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00415">415</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 +00006435
Kaizen8938bd32017-09-28 14:38:23 +01006436<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00276">size</a>.</p>
6437<div class="fragment"><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;{</div>
6438<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a> = matrix_size * matrix_size;</div>
6439<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
6440<div class="line"><a name="l00419"></a><span class="lineno"> 419</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>
6441<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div>
6442<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
6443<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>
6444<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#l00889">FixedPoint.h:889</a></div></div>
6445<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#l00914">FixedPoint.h:914</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006446</div><!-- fragment -->
6447</div>
6448</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006449<a class="anchor" id="afcdda83b6a85d5798f08d92c0e235e2e"></a>
6450<div class="memitem">
6451<div class="memproto">
6452 <table class="memname">
6453 <tr>
6454 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
6455 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006456 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006457 <td class="paramname"><em>info</em>, </td>
6458 </tr>
6459 <tr>
6460 <td class="paramkey"></td>
6461 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006462 <td class="paramtype">const Steps &amp;&#160;</td>
6463 <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006464 </tr>
6465 <tr>
6466 <td class="paramkey"></td>
6467 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006468 <td class="paramtype">BorderSize&#160;</td>
6469 <td class="paramname"><em>border_size</em> = <code>BorderSize()</code>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006470 </tr>
6471 <tr>
6472 <td></td>
6473 <td>)</td>
6474 <td></td><td></td>
6475 </tr>
6476 </table>
6477</div><div class="memdoc">
6478
6479<p>Calculate the maximum window for a given tensor shape and border setting. </p>
6480<p>The window will also includes the border.</p>
6481<dl class="params"><dt>Parameters</dt><dd>
6482 <table class="params">
6483 <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>
6484 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
6485 <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>
6486 </table>
6487 </dd>
6488</dl>
6489<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
6490
Anthony Barbierdbdab852017-06-23 15:42:00 +01006491</div>
6492</div>
6493<a class="anchor" id="aa2117aef4381edbdf81e17ec088df7f1"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00006494<div class="memitem">
6495<div class="memproto">
6496 <table class="memname">
6497 <tr>
6498 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
6499 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006500 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006501 <td class="paramname"><em>info</em>, </td>
6502 </tr>
6503 <tr>
6504 <td class="paramkey"></td>
6505 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006506 <td class="paramtype">const Steps &amp;&#160;</td>
6507 <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006508 </tr>
6509 <tr>
6510 <td class="paramkey"></td>
6511 <td></td>
6512 <td class="paramtype">bool&#160;</td>
6513 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
6514 </tr>
6515 <tr>
6516 <td class="paramkey"></td>
6517 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006518 <td class="paramtype">BorderSize&#160;</td>
6519 <td class="paramname"><em>border_size</em> = <code>BorderSize()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006520 </tr>
6521 <tr>
6522 <td></td>
6523 <td>)</td>
6524 <td></td><td></td>
6525 </tr>
6526 </table>
6527</div><div class="memdoc">
6528
6529<p>Calculate the maximum window for a given tensor shape and border setting. </p>
6530<dl class="params"><dt>Parameters</dt><dd>
6531 <table class="params">
6532 <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>
6533 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
6534 <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>
6535 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
6536 </table>
6537 </dd>
6538</dl>
6539<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
6540
Anthony Barbier871448e2017-03-24 14:54:29 +00006541</div>
6542</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006543<a class="anchor" id="a47456b4d520aee1cba80bf6e20f6685a"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00006544<div class="memitem">
6545<div class="memproto">
6546 <table class="memname">
6547 <tr>
6548 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
6549 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006550 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006551 <td class="paramname"><em>info</em>, </td>
6552 </tr>
6553 <tr>
6554 <td class="paramkey"></td>
6555 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006556 <td class="paramtype">const Steps &amp;&#160;</td>
6557 <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006558 </tr>
6559 <tr>
6560 <td class="paramkey"></td>
6561 <td></td>
6562 <td class="paramtype">bool&#160;</td>
6563 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
6564 </tr>
6565 <tr>
6566 <td class="paramkey"></td>
6567 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006568 <td class="paramtype">BorderSize&#160;</td>
6569 <td class="paramname"><em>border_size</em> = <code>BorderSize()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006570 </tr>
6571 <tr>
6572 <td></td>
6573 <td>)</td>
6574 <td></td><td></td>
6575 </tr>
6576 </table>
6577</div><div class="memdoc">
6578
6579<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
6580<dl class="params"><dt>Parameters</dt><dd>
6581 <table class="params">
6582 <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>
6583 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
6584 <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>
6585 <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>
6586 </table>
6587 </dd>
6588</dl>
6589<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
6590
Kaizen8938bd32017-09-28 14:38:23 +01006591</div>
6592</div>
6593<a class="anchor" id="ae3c6412e9c2b3b6c75a577f700e9b228"></a>
6594<div class="memitem">
6595<div class="memproto">
6596<table class="mlabels">
6597 <tr>
6598 <td class="mlabels-left">
6599 <table class="memname">
6600 <tr>
6601 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> calculate_valid_region_scale </td>
6602 <td>(</td>
6603 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
6604 <td class="paramname"><em>src_info</em>, </td>
6605 </tr>
6606 <tr>
6607 <td class="paramkey"></td>
6608 <td></td>
6609 <td class="paramtype">const TensorShape &amp;&#160;</td>
6610 <td class="paramname"><em>dst_shape</em>, </td>
6611 </tr>
6612 <tr>
6613 <td class="paramkey"></td>
6614 <td></td>
6615 <td class="paramtype">InterpolationPolicy&#160;</td>
6616 <td class="paramname"><em>policy</em>, </td>
6617 </tr>
6618 <tr>
6619 <td class="paramkey"></td>
6620 <td></td>
6621 <td class="paramtype">BorderSize&#160;</td>
6622 <td class="paramname"><em>border_size</em>, </td>
6623 </tr>
6624 <tr>
6625 <td class="paramkey"></td>
6626 <td></td>
6627 <td class="paramtype">bool&#160;</td>
6628 <td class="paramname"><em>border_undefined</em>&#160;</td>
6629 </tr>
6630 <tr>
6631 <td></td>
6632 <td>)</td>
6633 <td></td><td></td>
6634 </tr>
6635 </table>
6636 </td>
6637 <td class="mlabels-right">
6638<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6639 </tr>
6640</table>
6641</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006642
Kaizen8938bd32017-09-28 14:38:23 +01006643<p>Helper function to calculate the Valid Region for Scale. </p>
6644<dl class="params"><dt>Parameters</dt><dd>
6645 <table class="params">
6646 <tr><td class="paramdir">[in]</td><td class="paramname">src_info</td><td>Input tensor info used to check. </td></tr>
6647 <tr><td class="paramdir">[in]</td><td class="paramname">dst_shape</td><td>Shape of the output. </td></tr>
6648 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Interpolation policy. </td></tr>
6649 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>Size of the border. </td></tr>
6650 <tr><td class="paramdir">[in]</td><td class="paramname">border_undefined</td><td>True if the border is undefined.</td></tr>
6651 </table>
6652 </dd>
6653</dl>
6654<dl class="section return"><dt>Returns</dt><dd>The corrispondent valid region </dd></dl>
6655
6656<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00258">258</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
6657
6658<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00203">BorderSize::left</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">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#l00074">TensorShape::set()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00115">Dimensions&lt; T &gt;::set_num_dimensions()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00124">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00200">BorderSize::top</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
6659<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;{</div>
6660<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wr = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(dst_shape[0]) / static_cast&lt;float&gt;(src_info.tensor_shape()[0]);</div>
6661<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> hr = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(dst_shape[1]) / static_cast&lt;float&gt;(src_info.tensor_shape()[1]);</div>
6662<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; Coordinates anchor;</div>
6663<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; anchor.set_num_dimensions(src_info.tensor_shape().num_dimensions());</div>
6664<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; TensorShape new_dst_shape(dst_shape);</div>
6665<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; anchor.set(0, (policy == InterpolationPolicy::BILINEAR</div>
6666<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; &amp;&amp; border_undefined) ?</div>
6667<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + border_size.left + 0.5f) * wr - 0.5f) :</div>
6668<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + 0.5f) * wr - 0.5f));</div>
6669<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; anchor.set(1, (policy == InterpolationPolicy::BILINEAR</div>
6670<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; &amp;&amp; border_undefined) ?</div>
6671<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + border_size.top + 0.5f) * hr - 0.5f) :</div>
6672<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + 0.5f) * hr - 0.5f));</div>
6673<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">float</span> shape_out_x = (policy == InterpolationPolicy::BILINEAR</div>
6674<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; &amp;&amp; border_undefined) ?</div>
6675<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + static_cast&lt;int&gt;(src_info.valid_region().shape[0]) - 1) - 1 + 0.5f) * wr - 0.5f :</div>
6676<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + static_cast&lt;int&gt;(src_info.valid_region().shape[0])) + 0.5f) * wr - 0.5f;</div>
6677<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">float</span> shape_out_y = (policy == InterpolationPolicy::BILINEAR</div>
6678<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; &amp;&amp; border_undefined) ?</div>
6679<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + static_cast&lt;int&gt;(src_info.valid_region().shape[1]) - 1) - 1 + 0.5f) * hr - 0.5f :</div>
6680<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + static_cast&lt;int&gt;(src_info.valid_region().shape[1])) + 0.5f) * hr - 0.5f;</div>
6681<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div>
6682<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; new_dst_shape.set(0, shape_out_x - anchor[0]);</div>
6683<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; new_dst_shape.set(1, shape_out_y - anchor[1]);</div>
6684<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
6685<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> ValidRegion(std::move(anchor), std::move(new_dst_shape));</div>
6686<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;}</div>
6687</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00006688</div>
6689</div>
6690<a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
6691<div class="memitem">
6692<div class="memproto">
6693<table class="mlabels">
6694 <tr>
6695 <td class="mlabels-left">
6696 <table class="memname">
6697 <tr>
6698 <td class="memname">auto arm_compute::ceil_to_multiple </td>
6699 <td>(</td>
6700 <td class="paramtype">S&#160;</td>
6701 <td class="paramname"><em>value</em>, </td>
6702 </tr>
6703 <tr>
6704 <td class="paramkey"></td>
6705 <td></td>
6706 <td class="paramtype">T&#160;</td>
6707 <td class="paramname"><em>divisor</em>&#160;</td>
6708 </tr>
6709 <tr>
6710 <td></td>
6711 <td>)</td>
Kaizen8938bd32017-09-28 14:38:23 +01006712 <td></td><td> -&gt; decltype(((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> + divisor - 1) / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +00006713</td>
6714 </tr>
6715 </table>
6716 </td>
6717 <td class="mlabels-right">
6718<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6719 </tr>
6720</table>
6721</div><div class="memdoc">
6722
6723<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
6724
Anthony Barbierdbdab852017-06-23 15:42:00 +01006725<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00043">43</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 +00006726
Kaizen8938bd32017-09-28 14:38:23 +01006727<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006728
Kaizen8938bd32017-09-28 14:38:23 +01006729<p>Referenced by <a class="el" href="_window_8inl_source.xhtml#l00097">Window::scale()</a>.</p>
6730<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
6731<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> &lt; 0 || divisor &lt;= 0);</div>
6732<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> ((<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> + divisor - 1) / divisor) * divisor;</div>
6733<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;}</div>
6734<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#l00124">Error.h:124</a></div></div>
6735<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006736</div><!-- fragment -->
6737</div>
6738</div>
6739<a class="anchor" id="a1c0b9414fe3a6ef6a7a23bd324ae9e67"></a>
6740<div class="memitem">
6741<div class="memproto">
6742<table class="mlabels">
6743 <tr>
6744 <td class="mlabels-left">
6745 <table class="memname">
6746 <tr>
6747 <td class="memname">T arm_compute::clamp </td>
6748 <td>(</td>
6749 <td class="paramtype">const T &amp;&#160;</td>
6750 <td class="paramname"><em>n</em>, </td>
6751 </tr>
6752 <tr>
6753 <td class="paramkey"></td>
6754 <td></td>
6755 <td class="paramtype">const T &amp;&#160;</td>
6756 <td class="paramname"><em>lower</em>, </td>
6757 </tr>
6758 <tr>
6759 <td class="paramkey"></td>
6760 <td></td>
6761 <td class="paramtype">const T &amp;&#160;</td>
6762 <td class="paramname"><em>upper</em>&#160;</td>
6763 </tr>
6764 <tr>
6765 <td></td>
6766 <td>)</td>
6767 <td></td><td></td>
6768 </tr>
6769 </table>
6770 </td>
6771 <td class="mlabels-right">
6772<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6773 </tr>
6774</table>
6775</div><div class="memdoc">
6776
6777<p>Performs clamping among a lower and upper value. </p>
6778<dl class="params"><dt>Parameters</dt><dd>
6779 <table class="params">
6780 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Value to clamp. </td></tr>
6781 <tr><td class="paramdir">[in]</td><td class="paramname">lower</td><td>Lower threshold. </td></tr>
6782 <tr><td class="paramdir">[in]</td><td class="paramname">upper</td><td>Upper threshold.</td></tr>
6783 </table>
6784 </dd>
6785</dl>
6786<dl class="section return"><dt>Returns</dt><dd>Clamped value. </dd></dl>
6787
Kaizen8938bd32017-09-28 14:38:23 +01006788<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00201">201</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 +01006789
Kaizen8938bd32017-09-28 14:38:23 +01006790<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006791
Kaizen8938bd32017-09-28 14:38:23 +01006792<p>Referenced by <a class="el" href="warp__helpers_8h_source.xhtml#l00033">clamp_to_border()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>, and <a class="el" href="_c_p_p_2_scale_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::scale()</a>.</p>
6793<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
6794<div class="line"><a name="l00203"></a><span class="lineno"> 203</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>(lower, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(n, upper));</div>
6795<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div>
6796<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#l00884">FixedPoint.h:884</a></div></div>
6797<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#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006798</div><!-- fragment -->
6799</div>
6800</div>
6801<a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
6802<div class="memitem">
6803<div class="memproto">
6804 <table class="memname">
6805 <tr>
6806 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
6807 <td>(</td>
6808 <td class="paramtype">const void *__restrict&#160;</td>
6809 <td class="paramname"><em>input</em>, </td>
6810 </tr>
6811 <tr>
6812 <td class="paramkey"></td>
6813 <td></td>
6814 <td class="paramtype">void *__restrict&#160;</td>
6815 <td class="paramname"><em>output</em>, </td>
6816 </tr>
6817 <tr>
6818 <td class="paramkey"></td>
6819 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006820 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006821 <td class="paramname"><em>win</em>&#160;</td>
6822 </tr>
6823 <tr>
6824 <td></td>
6825 <td>)</td>
6826 <td></td><td></td>
6827 </tr>
6828 </table>
6829</div><div class="memdoc">
6830
6831<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">550</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
6832
Kaizen8938bd32017-09-28 14:38:23 +01006833<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
6834<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;{</div>
6835<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
6836<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
6837<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; win.validate();</div>
6838<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div>
6839<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
6840<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
6841<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;</div>
6842<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
6843<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; Window win_uv(win);</div>
6844<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
6845<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
6846<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; win_uv.validate();</div>
6847<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div>
6848<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
6849<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div>
6850<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div>
6851<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
6852<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div>
6853<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;</div>
6854<div class="line"><a name="l00571"></a><span class="lineno"> 571</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>
6855<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div>
6856<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
6857<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
6858<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; uint8x16x2_t ta_uv;</div>
6859<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; ta_uv.val[0] = vld1q_u8(in_u.ptr());</div>
6860<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; ta_uv.val[1] = vld1q_u8(in_v.ptr());</div>
6861<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
6862<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
6863<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
6864<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
6865<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div>
6866<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
6867<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
6868<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; vst2q_u8(out_uv.ptr(), ta_uv);</div>
6869<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; },</div>
6870<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; in_y, in_u, in_v, out_y, out_uv);</div>
6871<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;}</div>
6872<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#l00124">Error.h:124</a></div></div>
6873<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006874</div><!-- fragment -->
6875</div>
6876</div>
6877<a class="anchor" id="a6e42fac1baa264b033ac430b63ebd145"></a>
6878<div class="memitem">
6879<div class="memproto">
6880 <table class="memname">
6881 <tr>
6882 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
6883 <td>(</td>
6884 <td class="paramtype">const void *__restrict&#160;</td>
6885 <td class="paramname"><em>input</em>, </td>
6886 </tr>
6887 <tr>
6888 <td class="paramkey"></td>
6889 <td></td>
6890 <td class="paramtype">void *__restrict&#160;</td>
6891 <td class="paramname"><em>output</em>, </td>
6892 </tr>
6893 <tr>
6894 <td class="paramkey"></td>
6895 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006896 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006897 <td class="paramname"><em>win</em>&#160;</td>
6898 </tr>
6899 <tr>
6900 <td></td>
6901 <td>)</td>
6902 <td></td><td></td>
6903 </tr>
6904 </table>
6905</div><div class="memdoc">
6906
6907<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">445</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
6908
Kaizen8938bd32017-09-28 14:38:23 +01006909<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">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#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">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#l00137">Window::y()</a>.</p>
6910<div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;{</div>
6911<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
6912<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
6913<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; win.validate();</div>
6914<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div>
6915<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
6916<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
6917<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div>
6918<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
6919<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div>
6920<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
6921<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
6922<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; Window win_uv(win);</div>
6923<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
6924<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
6925<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; win_uv.validate();</div>
6926<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
6927<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
6928<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div>
6929<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div>
6930<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; Iterator out(output_ptr, win);</div>
6931<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div>
6932<div class="line"><a name="l00468"></a><span class="lineno"> 468</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>
6933<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; {</div>
6934<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
6935<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
6936<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div>
6937<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div>
6938<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
6939<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
6940<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div>
6941<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div>
6942<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div>
6943<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
6944<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div>
6945<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div>
6946<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div>
6947<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div>
6948<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div>
6949<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; convert_uint8x16_to_float32x4x4(ta_u, uvec);</div>
6950<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; convert_uint8x16_to_float32x4x4(ta_v, vvec);</div>
6951<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div>
6952<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
6953<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
6954<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
6955<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
6956<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div>
6957<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div>
6958<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div>
6959<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div>
6960<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div>
6961<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; },</div>
6962<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; in_y, in_u, in_v, out);</div>
6963<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;}</div>
6964<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#l00124">Error.h:124</a></div></div>
6965<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#l00127">Helpers.inl:127</a></div></div>
6966<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006967<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006968<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
6969<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a6b14f175bf5281f57b561e2d4e4b1f1f"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">arm_compute::ITensorInfo::strides_in_bytes</a></div><div class="ttdeci">virtual const Strides &amp; strides_in_bytes() const =0</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006970</div><!-- fragment -->
6971</div>
6972</div>
6973<a class="anchor" id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
6974<div class="memitem">
6975<div class="memproto">
6976 <table class="memname">
6977 <tr>
6978 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
6979 <td>(</td>
6980 <td class="paramtype">const void *__restrict&#160;</td>
6981 <td class="paramname"><em>input</em>, </td>
6982 </tr>
6983 <tr>
6984 <td class="paramkey"></td>
6985 <td></td>
6986 <td class="paramtype">void *__restrict&#160;</td>
6987 <td class="paramname"><em>output</em>, </td>
6988 </tr>
6989 <tr>
6990 <td class="paramkey"></td>
6991 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006992 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006993 <td class="paramname"><em>win</em>&#160;</td>
6994 </tr>
6995 <tr>
6996 <td></td>
6997 <td>)</td>
6998 <td></td><td></td>
6999 </tr>
7000 </table>
7001</div><div class="memdoc">
7002
7003<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">737</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7004
Kaizen8938bd32017-09-28 14:38:23 +01007005<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7006<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;{</div>
7007<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7008<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7009<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; win.validate();</div>
7010<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div>
7011<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7012<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7013<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div>
7014<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7015<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; Window win_uv(win);</div>
7016<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7017<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7018<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; win_uv.validate();</div>
7019<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;</div>
7020<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7021<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div>
7022<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div>
7023<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7024<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div>
7025<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div>
7026<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;</div>
7027<div class="line"><a name="l00759"></a><span class="lineno"> 759</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>
7028<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; {</div>
7029<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7030<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7031<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div>
7032<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div>
7033<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7034<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7035<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div>
7036<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div>
7037<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;</div>
7038<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7039<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7040<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div>
7041<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; uint8x16x2_t uvec;</div>
7042<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; uvec.val[0] = ta_u;</div>
7043<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; uvec.val[1] = ta_u;</div>
7044<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div>
7045<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div>
7046<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div>
7047<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; uint8x16x2_t vvec;</div>
7048<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; vvec.val[0] = ta_v;</div>
7049<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; vvec.val[1] = ta_v;</div>
7050<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div>
7051<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div>
7052<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; },</div>
7053<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; in_y, in_u, in_v, out_y, out_u, out_v);</div>
7054<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;}</div>
7055<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#l00124">Error.h:124</a></div></div>
7056<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007057</div><!-- fragment -->
7058</div>
7059</div>
7060<a class="anchor" id="a199d36780fbb4a70168f290480673650"></a>
7061<div class="memitem">
7062<div class="memproto">
7063 <table class="memname">
7064 <tr>
7065 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
7066 <td>(</td>
7067 <td class="paramtype">const void *__restrict&#160;</td>
7068 <td class="paramname"><em>input</em>, </td>
7069 </tr>
7070 <tr>
7071 <td class="paramkey"></td>
7072 <td></td>
7073 <td class="paramtype">void *__restrict&#160;</td>
7074 <td class="paramname"><em>output</em>, </td>
7075 </tr>
7076 <tr>
7077 <td class="paramkey"></td>
7078 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007079 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007080 <td class="paramname"><em>win</em>&#160;</td>
7081 </tr>
7082 <tr>
7083 <td></td>
7084 <td>)</td>
7085 <td></td><td></td>
7086 </tr>
7087 </table>
7088</div><div class="memdoc">
7089
7090<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">591</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7091
Kaizen8938bd32017-09-28 14:38:23 +01007092<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7093<div class="fragment"><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;{</div>
7094<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7095<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7096<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; win.validate();</div>
7097<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;</div>
7098<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7099<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7100<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div>
7101<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
7102<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div>
7103<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7104<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; Window win_uv(win);</div>
7105<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7106<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7107<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; win_uv.validate();</div>
7108<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;</div>
7109<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7110<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div>
7111<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7112<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div>
7113<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div>
7114<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div>
7115<div class="line"><a name="l00614"></a><span class="lineno"> 614</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>
7116<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div>
7117<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7118<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7119<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
7120<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7121<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7122<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7123<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7124<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div>
7125<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7126<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7127<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div>
7128<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div>
7129<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; },</div>
7130<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div>
7131<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;}</div>
7132<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#l00124">Error.h:124</a></div></div>
7133<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007134</div><!-- fragment -->
7135</div>
7136</div>
7137<a class="anchor" id="ae6a44e412bccc0705a720708b0692218"></a>
7138<div class="memitem">
7139<div class="memproto">
7140 <table class="memname">
7141 <tr>
7142 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
7143 <td>(</td>
7144 <td class="paramtype">const void *__restrict&#160;</td>
7145 <td class="paramname"><em>input</em>, </td>
7146 </tr>
7147 <tr>
7148 <td class="paramkey"></td>
7149 <td></td>
7150 <td class="paramtype">void *__restrict&#160;</td>
7151 <td class="paramname"><em>output</em>, </td>
7152 </tr>
7153 <tr>
7154 <td class="paramkey"></td>
7155 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007156 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007157 <td class="paramname"><em>win</em>&#160;</td>
7158 </tr>
7159 <tr>
7160 <td></td>
7161 <td>)</td>
7162 <td></td><td></td>
7163 </tr>
7164 </table>
7165</div><div class="memdoc">
7166
7167<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7168
Kaizen8938bd32017-09-28 14:38:23 +01007169<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">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#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">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#l00137">Window::y()</a>.</p>
7170<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div>
7171<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7172<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7173<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; win.validate();</div>
7174<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div>
7175<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7176<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7177<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
7178<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
7179<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div>
7180<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
7181<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div>
7182<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7183<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; Window win_uv(win);</div>
7184<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div>
7185<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7186<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; win_uv.validate();</div>
7187<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
7188<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7189<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div>
7190<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; Iterator out(output_ptr, win);</div>
7191<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div>
7192<div class="line"><a name="l00412"></a><span class="lineno"> 412</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>
7193<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div>
7194<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7195<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7196<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
7197<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7198<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7199<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7200<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7201<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
7202<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
7203<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div>
7204<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div>
7205<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div>
7206<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div>
7207<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div>
7208<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div>
7209<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div>
7210<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div>
7211<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
7212<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
7213<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
7214<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
7215<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div>
7216<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div>
7217<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div>
7218<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div>
7219<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div>
7220<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; },</div>
7221<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; in_y, in_uv, out);</div>
7222<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
7223<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#l00124">Error.h:124</a></div></div>
7224<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#l00127">Helpers.inl:127</a></div></div>
7225<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007226<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007227<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
7228<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a6b14f175bf5281f57b561e2d4e4b1f1f"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">arm_compute::ITensorInfo::strides_in_bytes</a></div><div class="ttdeci">virtual const Strides &amp; strides_in_bytes() const =0</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007229</div><!-- fragment -->
7230</div>
7231</div>
7232<a class="anchor" id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
7233<div class="memitem">
7234<div class="memproto">
7235 <table class="memname">
7236 <tr>
7237 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
7238 <td>(</td>
7239 <td class="paramtype">const void *__restrict&#160;</td>
7240 <td class="paramname"><em>input</em>, </td>
7241 </tr>
7242 <tr>
7243 <td class="paramkey"></td>
7244 <td></td>
7245 <td class="paramtype">void *__restrict&#160;</td>
7246 <td class="paramname"><em>output</em>, </td>
7247 </tr>
7248 <tr>
7249 <td class="paramkey"></td>
7250 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007251 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007252 <td class="paramname"><em>win</em>&#160;</td>
7253 </tr>
7254 <tr>
7255 <td></td>
7256 <td>)</td>
7257 <td></td><td></td>
7258 </tr>
7259 </table>
7260</div><div class="memdoc">
7261
7262<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">686</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7263
Kaizen8938bd32017-09-28 14:38:23 +01007264<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7265<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div>
7266<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7267<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7268<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; win.validate();</div>
7269<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div>
7270<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7271<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7272<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div>
7273<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
7274<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div>
7275<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7276<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; Window win_uv(win);</div>
7277<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7278<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7279<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; win_uv.validate();</div>
7280<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;</div>
7281<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7282<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div>
7283<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7284<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div>
7285<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div>
7286<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div>
7287<div class="line"><a name="l00709"></a><span class="lineno"> 709</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>
7288<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div>
7289<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7290<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7291<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
7292<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7293<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7294<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7295<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7296<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;</div>
7297<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7298<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7299<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;</div>
7300<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; uint8x16x2_t uvec;</div>
7301<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; uvec.val[0] = ta_uv.val[0 + shift];</div>
7302<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; uvec.val[1] = ta_uv.val[0 + shift];</div>
7303<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div>
7304<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div>
7305<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div>
7306<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; uint8x16x2_t vvec;</div>
7307<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; vvec.val[0] = ta_uv.val[1 - shift];</div>
7308<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; vvec.val[1] = ta_uv.val[1 - shift];</div>
7309<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div>
7310<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div>
7311<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; },</div>
7312<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div>
7313<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;}</div>
7314<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#l00124">Error.h:124</a></div></div>
7315<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007316</div><!-- fragment -->
7317</div>
7318</div>
7319<a class="anchor" id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
7320<div class="memitem">
7321<div class="memproto">
7322 <table class="memname">
7323 <tr>
7324 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
7325 <td>(</td>
7326 <td class="paramtype">const void *__restrict&#160;</td>
7327 <td class="paramname"><em>input</em>, </td>
7328 </tr>
7329 <tr>
7330 <td class="paramkey"></td>
7331 <td></td>
7332 <td class="paramtype">void *__restrict&#160;</td>
7333 <td class="paramname"><em>output</em>, </td>
7334 </tr>
7335 <tr>
7336 <td class="paramkey"></td>
7337 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007338 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007339 <td class="paramname"><em>win</em>&#160;</td>
7340 </tr>
7341 <tr>
7342 <td></td>
7343 <td>)</td>
7344 <td></td><td></td>
7345 </tr>
7346 </table>
7347</div><div class="memdoc">
7348
7349<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">825</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7350
Kaizen8938bd32017-09-28 14:38:23 +01007351<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7352<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;{</div>
7353<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7354<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7355<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; win.validate();</div>
7356<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;</div>
7357<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7358<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7359<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div>
7360<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7361<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; Window win_uv(win);</div>
7362<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7363<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7364<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; win_uv.validate();</div>
7365<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div>
7366<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; Iterator in(input_ptr, win);</div>
7367<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7368<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div>
7369<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div>
7370<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div>
7371<div class="line"><a name="l00845"></a><span class="lineno"> 845</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>
7372<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div>
7373<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div>
7374<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), alpha);</div>
7375<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
7376<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
7377<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
7378<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;</div>
7379<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div>
7380<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div>
7381<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div>
7382<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; out_u.ptr(), out_v.ptr());</div>
7383<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; },</div>
7384<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; in, out_y, out_u, out_v);</div>
7385<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;}</div>
7386<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#l00124">Error.h:124</a></div></div>
7387<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007388<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7389</div><!-- fragment -->
7390</div>
7391</div>
7392<a class="anchor" id="a14fd899b732509e245976b9967b8931d"></a>
7393<div class="memitem">
7394<div class="memproto">
7395 <table class="memname">
7396 <tr>
7397 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
7398 <td>(</td>
7399 <td class="paramtype">const void *__restrict&#160;</td>
7400 <td class="paramname"><em>input</em>, </td>
7401 </tr>
7402 <tr>
7403 <td class="paramkey"></td>
7404 <td></td>
7405 <td class="paramtype">void *__restrict&#160;</td>
7406 <td class="paramname"><em>output</em>, </td>
7407 </tr>
7408 <tr>
7409 <td class="paramkey"></td>
7410 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007411 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007412 <td class="paramname"><em>win</em>&#160;</td>
7413 </tr>
7414 <tr>
7415 <td></td>
7416 <td>)</td>
7417 <td></td><td></td>
7418 </tr>
7419 </table>
7420</div><div class="memdoc">
7421
7422<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">789</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7423
Kaizen8938bd32017-09-28 14:38:23 +01007424<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7425<div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;{</div>
7426<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7427<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7428<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; win.validate();</div>
7429<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div>
7430<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7431<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7432<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;</div>
7433<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7434<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; Window win_uv(win);</div>
7435<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7436<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7437<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; win_uv.validate();</div>
7438<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div>
7439<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; Iterator in(input_ptr, win);</div>
7440<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7441<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div>
7442<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div>
7443<div class="line"><a name="l00808"></a><span class="lineno"> 808</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>
7444<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; {</div>
7445<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div>
7446<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), alpha);</div>
7447<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
7448<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
7449<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
7450<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;</div>
7451<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div>
7452<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div>
7453<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div>
7454<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; out_uv.ptr());</div>
7455<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; },</div>
7456<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; in, out_y, out_uv);</div>
7457<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;}</div>
7458<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#l00124">Error.h:124</a></div></div>
7459<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007460<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7461</div><!-- fragment -->
7462</div>
7463</div>
7464<a class="anchor" id="a93cc303c8ae098d264f07d37890412de"></a>
7465<div class="memitem">
7466<div class="memproto">
7467 <table class="memname">
7468 <tr>
7469 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
7470 <td>(</td>
7471 <td class="paramtype">const void *__restrict&#160;</td>
7472 <td class="paramname"><em>input</em>, </td>
7473 </tr>
7474 <tr>
7475 <td class="paramkey"></td>
7476 <td></td>
7477 <td class="paramtype">void *__restrict&#160;</td>
7478 <td class="paramname"><em>output</em>, </td>
7479 </tr>
7480 <tr>
7481 <td class="paramkey"></td>
7482 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007483 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007484 <td class="paramname"><em>win</em>&#160;</td>
7485 </tr>
7486 <tr>
7487 <td></td>
7488 <td>)</td>
7489 <td></td><td></td>
7490 </tr>
7491 </table>
7492</div><div class="memdoc">
7493
7494<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">303</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7495
Kaizen8938bd32017-09-28 14:38:23 +01007496<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
7497<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div>
7498<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7499<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7500<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
7501<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7502<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7503<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
7504<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; Iterator in(input_ptr, win);</div>
7505<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; Iterator out(output_ptr, win);</div>
7506<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
7507<div class="line"><a name="l00314"></a><span class="lineno"> 314</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>
7508<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div>
7509<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div>
7510<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; uint8x16x4_t ta2;</div>
7511<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; ta2.val[0] = ta1.val[0];</div>
7512<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; ta2.val[1] = ta1.val[1];</div>
7513<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; ta2.val[2] = ta1.val[2];</div>
7514<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; ta2.val[3] = vdupq_n_u8(255);</div>
7515<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; vst4q_u8(out.ptr(), ta2);</div>
7516<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; },</div>
7517<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; in, out);</div>
7518<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;}</div>
7519<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#l00124">Error.h:124</a></div></div>
7520<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007521<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7522</div><!-- fragment -->
7523</div>
7524</div>
7525<a class="anchor" id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
7526<div class="memitem">
7527<div class="memproto">
7528 <table class="memname">
7529 <tr>
7530 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
7531 <td>(</td>
7532 <td class="paramtype">const void *__restrict&#160;</td>
7533 <td class="paramname"><em>input</em>, </td>
7534 </tr>
7535 <tr>
7536 <td class="paramkey"></td>
7537 <td></td>
7538 <td class="paramtype">void *__restrict&#160;</td>
7539 <td class="paramname"><em>output</em>, </td>
7540 </tr>
7541 <tr>
7542 <td class="paramkey"></td>
7543 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007544 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007545 <td class="paramname"><em>win</em>&#160;</td>
7546 </tr>
7547 <tr>
7548 <td></td>
7549 <td>)</td>
7550 <td></td><td></td>
7551 </tr>
7552 </table>
7553</div><div class="memdoc">
7554
7555<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">862</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7556
Kaizen8938bd32017-09-28 14:38:23 +01007557<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
7558<div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;{</div>
7559<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7560<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7561<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; win.validate();</div>
7562<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;</div>
7563<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7564<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7565<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;</div>
7566<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; Iterator in(input_ptr, win);</div>
7567<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7568<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div>
7569<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div>
7570<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;</div>
7571<div class="line"><a name="l00876"></a><span class="lineno"> 876</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>
7572<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; {</div>
7573<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), alpha);</div>
7574<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
7575<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
7576<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
7577<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div>
7578<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div>
7579<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; out_y.ptr(), out_u.ptr(), out_v.ptr());</div>
7580<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; },</div>
7581<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; in, out_y, out_u, out_v);</div>
7582<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;}</div>
7583<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#l00124">Error.h:124</a></div></div>
7584<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007585<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7586</div><!-- fragment -->
7587</div>
7588</div>
7589<a class="anchor" id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
7590<div class="memitem">
7591<div class="memproto">
7592 <table class="memname">
7593 <tr>
7594 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
7595 <td>(</td>
7596 <td class="paramtype">const void *&#160;</td>
7597 <td class="paramname"><em>input</em>, </td>
7598 </tr>
7599 <tr>
7600 <td class="paramkey"></td>
7601 <td></td>
7602 <td class="paramtype">void *&#160;</td>
7603 <td class="paramname"><em>output</em>, </td>
7604 </tr>
7605 <tr>
7606 <td class="paramkey"></td>
7607 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007608 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007609 <td class="paramname"><em>win</em>&#160;</td>
7610 </tr>
7611 <tr>
7612 <td></td>
7613 <td>)</td>
7614 <td></td><td></td>
7615 </tr>
7616 </table>
7617</div><div class="memdoc">
7618
7619<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">327</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7620
Kaizen8938bd32017-09-28 14:38:23 +01007621<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
7622<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;{</div>
7623<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7624<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7625<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div>
7626<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7627<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7628<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div>
7629<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; Iterator in(input_ptr, win);</div>
7630<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; Iterator out(output_ptr, win);</div>
7631<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div>
7632<div class="line"><a name="l00338"></a><span class="lineno"> 338</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>
7633<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
7634<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div>
7635<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; uint8x16x3_t ta2;</div>
7636<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; ta2.val[0] = ta1.val[0];</div>
7637<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; ta2.val[1] = ta1.val[1];</div>
7638<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; ta2.val[2] = ta1.val[2];</div>
7639<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; vst3q_u8(out.ptr(), ta2);</div>
7640<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; },</div>
7641<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; in, out);</div>
7642<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;}</div>
7643<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#l00124">Error.h:124</a></div></div>
7644<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007645<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7646</div><!-- fragment -->
7647</div>
7648</div>
7649<a class="anchor" id="ae43e8f0463c0289169025c3041688d36"></a>
7650<div class="memitem">
7651<div class="memproto">
7652 <table class="memname">
7653 <tr>
7654 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
7655 <td>(</td>
7656 <td class="paramtype">const void *__restrict&#160;</td>
7657 <td class="paramname"><em>input</em>, </td>
7658 </tr>
7659 <tr>
7660 <td class="paramkey"></td>
7661 <td></td>
7662 <td class="paramtype">void *__restrict&#160;</td>
7663 <td class="paramname"><em>output</em>, </td>
7664 </tr>
7665 <tr>
7666 <td class="paramkey"></td>
7667 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007668 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007669 <td class="paramname"><em>win</em>&#160;</td>
7670 </tr>
7671 <tr>
7672 <td></td>
7673 <td>)</td>
7674 <td></td><td></td>
7675 </tr>
7676 </table>
7677</div><div class="memdoc">
7678
7679<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">633</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7680
Kaizen8938bd32017-09-28 14:38:23 +01007681<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7682<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div>
7683<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7684<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7685<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; win.validate();</div>
7686<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div>
7687<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7688<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7689<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div>
7690<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
7691<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div>
7692<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div>
7693<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; Window win_uv(win);</div>
7694<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7695<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7696<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; win_uv.validate();</div>
7697<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div>
7698<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; Iterator in(input_ptr, win);</div>
7699<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7700<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div>
7701<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div>
7702<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div>
7703<div class="line"><a name="l00655"></a><span class="lineno"> 655</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>
7704<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div>
7705<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div>
7706<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div>
7707<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7708<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
7709<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
7710<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
7711<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div>
7712<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; uint8x16x2_t yvec;</div>
7713<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div>
7714<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div>
7715<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div>
7716<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;</div>
7717<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; uint8x16x2_t yyvec;</div>
7718<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div>
7719<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div>
7720<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div>
7721<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div>
7722<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; uint8x16_t uvec;</div>
7723<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div>
7724<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; vst1q_u8(out_u.ptr(), uvec);</div>
7725<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div>
7726<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; uint8x16_t vvec;</div>
7727<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div>
7728<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; vst1q_u8(out_v.ptr(), vvec);</div>
7729<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; },</div>
7730<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; in, out_y, out_u, out_v);</div>
7731<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;}</div>
7732<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#l00124">Error.h:124</a></div></div>
7733<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007734<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7735</div><!-- fragment -->
7736</div>
7737</div>
7738<a class="anchor" id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
7739<div class="memitem">
7740<div class="memproto">
7741 <table class="memname">
7742 <tr>
7743 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
7744 <td>(</td>
7745 <td class="paramtype">const void *__restrict&#160;</td>
7746 <td class="paramname"><em>input</em>, </td>
7747 </tr>
7748 <tr>
7749 <td class="paramkey"></td>
7750 <td></td>
7751 <td class="paramtype">void *__restrict&#160;</td>
7752 <td class="paramname"><em>output</em>, </td>
7753 </tr>
7754 <tr>
7755 <td class="paramkey"></td>
7756 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007757 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007758 <td class="paramname"><em>win</em>&#160;</td>
7759 </tr>
7760 <tr>
7761 <td></td>
7762 <td>)</td>
7763 <td></td><td></td>
7764 </tr>
7765 </table>
7766</div><div class="memdoc">
7767
7768<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">502</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7769
Kaizen8938bd32017-09-28 14:38:23 +01007770<p>References <a class="el" href="_error_8h_source.xhtml#l00124">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#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7771<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;{</div>
7772<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7773<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7774<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; win.validate();</div>
7775<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;</div>
7776<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7777<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7778<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div>
7779<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
7780<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;</div>
7781<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div>
7782<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; Window win_uv(win);</div>
7783<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7784<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7785<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; win_uv.validate();</div>
7786<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div>
7787<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; Iterator in(input_ptr, win);</div>
7788<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7789<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div>
7790<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div>
7791<div class="line"><a name="l00523"></a><span class="lineno"> 523</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>
7792<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; {</div>
7793<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div>
7794<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div>
7795<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7796<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
7797<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
7798<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
7799<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div>
7800<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; uint8x16x2_t yvec;</div>
7801<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div>
7802<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div>
7803<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div>
7804<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div>
7805<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; uint8x16x2_t yyvec;</div>
7806<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div>
7807<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div>
7808<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div>
7809<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div>
7810<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; uint8x16x2_t uvvec;</div>
7811<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div>
7812<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div>
7813<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; vst2q_u8(out_uv.ptr(), uvvec);</div>
7814<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; },</div>
7815<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; in, out_y, out_uv);</div>
7816<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;}</div>
7817<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#l00124">Error.h:124</a></div></div>
7818<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007819<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7820</div><!-- fragment -->
7821</div>
7822</div>
7823<a class="anchor" id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
7824<div class="memitem">
7825<div class="memproto">
7826 <table class="memname">
7827 <tr>
7828 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
7829 <td>(</td>
7830 <td class="paramtype">const void *__restrict&#160;</td>
7831 <td class="paramname"><em>input</em>, </td>
7832 </tr>
7833 <tr>
7834 <td class="paramkey"></td>
7835 <td></td>
7836 <td class="paramtype">void *__restrict&#160;</td>
7837 <td class="paramname"><em>output</em>, </td>
7838 </tr>
7839 <tr>
7840 <td class="paramkey"></td>
7841 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007842 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007843 <td class="paramname"><em>win</em>&#160;</td>
7844 </tr>
7845 <tr>
7846 <td></td>
7847 <td>)</td>
7848 <td></td><td></td>
7849 </tr>
7850 </table>
7851</div><div class="memdoc">
7852
7853<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">351</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7854
Kaizen8938bd32017-09-28 14:38:23 +01007855<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
7856<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;{</div>
7857<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7858<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7859<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div>
7860<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7861<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7862<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div>
7863<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
7864<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
7865<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div>
7866<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; Iterator in(input_ptr, win);</div>
7867<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; Iterator out(output_ptr, win);</div>
7868<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div>
7869<div class="line"><a name="l00365"></a><span class="lineno"> 365</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>
7870<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div>
7871<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; float32x4x4_t uvec, yvec, vvec, yyvec;</div>
7872<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div>
7873<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7874<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
7875<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
7876<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
7877<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
7878<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
7879<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div>
7880<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div>
7881<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div>
7882<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div>
7883<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
7884<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
7885<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
7886<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
7887<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
7888<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; },</div>
7889<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; in, out);</div>
7890<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;}</div>
7891<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#l00124">Error.h:124</a></div></div>
7892<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#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007893<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7894</div><!-- fragment -->
7895</div>
7896</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007897<a class="anchor" id="a35178800b82e07a49da5a81cdeda9a0c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007898<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"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
7906 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01007907 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007908 <td class="paramname"><em>info</em>, </td>
7909 </tr>
7910 <tr>
7911 <td class="paramkey"></td>
7912 <td></td>
7913 <td class="paramtype">T&#160;</td>
7914 <td class="paramname"><em>stride_x</em>, </td>
7915 </tr>
7916 <tr>
7917 <td class="paramkey"></td>
7918 <td></td>
7919 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
7920 <td class="paramname"><em>fixed_strides</em>&#160;</td>
7921 </tr>
7922 <tr>
7923 <td></td>
7924 <td>)</td>
7925 <td></td><td></td>
7926 </tr>
7927 </table>
7928 </td>
7929 <td class="mlabels-right">
7930<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7931 </tr>
7932</table>
7933</div><div class="memdoc">
7934
7935<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
7936<dl class="params"><dt>Parameters</dt><dd>
7937 <table class="params">
7938 <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>
7939 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
7940 <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>
7941 </table>
7942 </dd>
7943</dl>
7944<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>
7945
Kaizen8938bd32017-09-28 14:38:23 +01007946<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00435">435</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 +00007947
Kaizen8938bd32017-09-28 14:38:23 +01007948<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_min_max_location_8cpp_source.xhtml#l00089">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 +00007949
Kaizen8938bd32017-09-28 14:38:23 +01007950<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">compute_strides()</a>.</p>
7951<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;{</div>
7952<div class="line"><a name="l00437"></a><span class="lineno"> 437</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>
7953<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;</div>
7954<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="comment">// Create strides object</span></div>
7955<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; Strides strides(stride_x, fixed_strides...);</div>
7956<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div>
7957<div class="line"><a name="l00442"></a><span class="lineno"> 442</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>
7958<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
7959<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; strides.set(i, shape[i - 1] * strides[i - 1]);</div>
7960<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div>
7961<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
7962<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">return</span> strides;</div>
7963<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;}</div>
7964<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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
7965<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>
7966</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00007967</div>
7968</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007969<a class="anchor" id="a8c35748731709927597cb5a2c227e682"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007970<div class="memitem">
7971<div class="memproto">
7972<table class="mlabels">
7973 <tr>
7974 <td class="mlabels-left">
7975 <table class="memname">
7976 <tr>
7977 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
7978 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01007979 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007980 <td class="paramname"><em>info</em></td><td>)</td>
7981 <td></td>
7982 </tr>
7983 </table>
7984 </td>
7985 <td class="mlabels-right">
7986<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7987 </tr>
7988</table>
7989</div><div class="memdoc">
7990
7991<p>Create a strides object based on the tensor dimensions. </p>
7992<dl class="params"><dt>Parameters</dt><dd>
7993 <table class="params">
7994 <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>
7995 </table>
7996 </dd>
7997</dl>
7998<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>
7999
Kaizen8938bd32017-09-28 14:38:23 +01008000<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 Barbier871448e2017-03-24 14:54:29 +00008001
Kaizen8938bd32017-09-28 14:38:23 +01008002<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00435">compute_strides()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>.</p>
8003<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;{</div>
8004<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#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>
8005<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;}</div>
8006<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>
8007<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#l00457">Helpers.h:457</a></div></div>
8008</div><!-- fragment -->
8009</div>
8010</div>
8011<a class="anchor" id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
8012<div class="memitem">
8013<div class="memproto">
8014<table class="mlabels">
8015 <tr>
8016 <td class="mlabels-left">
8017 <table class="memname">
8018 <tr>
8019 <td class="memname">int coords2index </td>
8020 <td>(</td>
8021 <td class="paramtype">const TensorShape &amp;&#160;</td>
8022 <td class="paramname"><em>shape</em>, </td>
8023 </tr>
8024 <tr>
8025 <td class="paramkey"></td>
8026 <td></td>
8027 <td class="paramtype">const Coordinates &amp;&#160;</td>
8028 <td class="paramname"><em>coord</em>&#160;</td>
8029 </tr>
8030 <tr>
8031 <td></td>
8032 <td>)</td>
8033 <td></td><td></td>
8034 </tr>
8035 </table>
8036 </td>
8037 <td class="mlabels-right">
8038<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8039 </tr>
8040</table>
8041</div><div class="memdoc">
8042
8043<p>Convert n-dimensional coordinates into a linear index. </p>
8044<dl class="params"><dt>Parameters</dt><dd>
8045 <table class="params">
8046 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
8047 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>N-dimensional coordinates.</td></tr>
8048 </table>
8049 </dd>
8050</dl>
8051<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
8052
8053<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00307">307</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
8054
8055<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
8056<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;{</div>
8057<div class="line"><a name="l00309"></a><span class="lineno"> 309</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>
8058<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(num_elements);</div>
8059<div class="line"><a name="l00311"></a><span class="lineno"> 311</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>
8060<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div>
8061<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordtype">int</span> index = 0;</div>
8062<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordtype">int</span> stride = 1;</div>
8063<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div>
8064<div class="line"><a name="l00316"></a><span class="lineno"> 316</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>
8065<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
8066<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; index += coord[d] * stride;</div>
8067<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div>
8068<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
8069<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
8070<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> index;</div>
8071<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;}</div>
8072<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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
8073<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
8074<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#l00115">Error.h:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008075</div><!-- fragment -->
8076</div>
8077</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008078<a class="anchor" id="a35fb9d1dde1b976f4b7d361aabcc7c0d"></a>
8079<div class="memitem">
8080<div class="memproto">
8081 <table class="memname">
8082 <tr>
8083 <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>
8084 <td>(</td>
8085 <td class="paramtype">T &amp;&amp;...&#160;</td>
8086 <td class="paramname"><em>args</em></td><td>)</td>
8087 <td></td>
8088 </tr>
8089 </table>
8090</div><div class="memdoc">
8091
8092<p>Helper function to create and return a unique_ptr pointed to a CL kernel object It also calls the kernel's configuration. </p>
8093<dl class="params"><dt>Parameters</dt><dd>
8094 <table class="params">
8095 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
8096 </table>
8097 </dd>
8098</dl>
8099<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object </dd></dl>
8100
Kaizen8938bd32017-09-28 14:38:23 +01008101<p>Definition at line <a class="el" href="_c_l_helpers_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_c_l_helpers_8h_source.xhtml">CLHelpers.h</a>.</p>
8102
8103<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>.</p>
8104<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
8105<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div>
8106<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; k-&gt;configure(std::forward&lt;T&gt;(<a class="code" href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">args</a>)...);</div>
8107<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> k;</div>
8108<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;}</div>
8109<div class="ttc" id="namespacecaffe__data__extractor_xhtml_aad3cdfd6574de97bf37448087aaff11d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">caffe_data_extractor.args</a></div><div class="ttdeci">tuple args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
8110</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008111</div>
8112</div>
8113<a class="anchor" id="abc72c95941485d8a068fa38372308574"></a>
8114<div class="memitem">
8115<div class="memproto">
8116 <table class="memname">
8117 <tr>
8118 <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>
8119 <td>(</td>
8120 <td class="paramname"></td><td>)</td>
8121 <td></td>
8122 </tr>
8123 </table>
8124</div><div class="memdoc">
8125
8126<p>Helper function to create and return a unique_ptr pointed to a CL kernel object. </p>
8127<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object </dd></dl>
8128
Kaizen8938bd32017-09-28 14:38:23 +01008129<p>Definition at line <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_c_l_helpers_8h_source.xhtml">CLHelpers.h</a>.</p>
8130<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div>
8131<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div>
8132<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> k;</div>
8133<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
8134</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008135</div>
8136</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008137<a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
8138<div class="memitem">
8139<div class="memproto">
8140<table class="mlabels">
8141 <tr>
8142 <td class="mlabels-left">
8143 <table class="memname">
8144 <tr>
8145 <td class="memname">size_t arm_compute::data_size_from_type </td>
8146 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008147 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008148 <td class="paramname"><em>data_type</em></td><td>)</td>
8149 <td></td>
8150 </tr>
8151 </table>
8152 </td>
8153 <td class="mlabels-right">
8154<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8155 </tr>
8156</table>
8157</div><div class="memdoc">
8158
8159<p>The size in bytes of the data type. </p>
8160<dl class="params"><dt>Parameters</dt><dd>
8161 <table class="params">
8162 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
8163 </table>
8164 </dd>
8165</dl>
8166<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
8167
Kaizen8938bd32017-09-28 14:38:23 +01008168<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00087">87</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008169
Kaizen8938bd32017-09-28 14:38:23 +01008170<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#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 +00008171
Kaizen8938bd32017-09-28 14:38:23 +01008172<p>Referenced by <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::element_size()</a>, and <a class="el" href="_alex_net_network_8h_source.xhtml#l00057">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::init()</a>.</p>
8173<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div>
8174<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div>
8175<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
8176<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div>
8177<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div>
8178<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
8179<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> 1;</div>
8180<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div>
8181<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div>
8182<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
8183<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
8184<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> 2;</div>
8185<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
8186<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div>
8187<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div>
8188<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div>
8189<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> 4;</div>
8190<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div>
8191<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div>
8192<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div>
8193<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> 8;</div>
8194<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div>
8195<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div>
8196<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">default</span>:</div>
8197<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid data type&quot;</span>);</div>
8198<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> 0;</div>
8199<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
8200<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}</div>
8201<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
8202<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008203</div><!-- fragment -->
8204</div>
8205</div>
8206<a class="anchor" id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
8207<div class="memitem">
8208<div class="memproto">
8209<table class="mlabels">
8210 <tr>
8211 <td class="mlabels-left">
8212 <table class="memname">
8213 <tr>
8214 <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>
8215 <td>(</td>
8216 <td class="paramtype">const int16_t *&#160;</td>
8217 <td class="paramname"><em>conv_col</em>, </td>
8218 </tr>
8219 <tr>
8220 <td class="paramkey"></td>
8221 <td></td>
8222 <td class="paramtype">const int16_t *&#160;</td>
8223 <td class="paramname"><em>conv_row</em>, </td>
8224 </tr>
8225 <tr>
8226 <td class="paramkey"></td>
8227 <td></td>
8228 <td class="paramtype">size_t&#160;</td>
8229 <td class="paramname"><em>size</em>&#160;</td>
8230 </tr>
8231 <tr>
8232 <td></td>
8233 <td>)</td>
8234 <td></td><td></td>
8235 </tr>
8236 </table>
8237 </td>
8238 <td class="mlabels-right">
8239<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8240 </tr>
8241</table>
8242</div><div class="memdoc">
8243
8244<p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
8245<dl class="params"><dt>Parameters</dt><dd>
8246 <table class="params">
8247 <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>
8248 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
8249 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
8250 </table>
8251 </dd>
8252</dl>
8253<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>
8254
Kaizen8938bd32017-09-28 14:38:23 +01008255<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00431">431</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 +00008256
Kaizen8938bd32017-09-28 14:38:23 +01008257<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>
8258<div class="fragment"><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;{</div>
8259<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div>
8260<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div>
8261<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div>
8262<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div>
8263<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div>
8264<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div>
8265<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; };</div>
8266<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;</div>
8267<div class="line"><a name="l00441"></a><span class="lineno"> 441</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>
8268<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; {</div>
8269<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</div>
8270<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; };</div>
8271<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div>
8272<div class="line"><a name="l00446"></a><span class="lineno"> 446</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>
8273<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div>
8274<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</div>
8275<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; };</div>
8276<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div>
8277<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez) &amp;&amp; std::all_of(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div>
8278<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div>
8279<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div>
8280<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; {</div>
8281<div class="line"><a name="l00455"></a><span class="lineno"> 455</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 + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div>
8282<div class="line"><a name="l00456"></a><span class="lineno"> 456</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 + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * max_row_value;</div>
8283<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div>
8284<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div>
8285<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;</div>
8286<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div>
8287<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }</div>
8288<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">else</span></div>
8289<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; {</div>
8290<div class="line"><a name="l00464"></a><span class="lineno"> 464</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 + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg) * UINT8_MAX;</div>
8291<div class="line"><a name="l00465"></a><span class="lineno"> 465</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 + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos) * UINT8_MAX;</div>
8292<div class="line"><a name="l00466"></a><span class="lineno"> 466</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 + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg);</div>
8293<div class="line"><a name="l00467"></a><span class="lineno"> 467</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 + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos);</div>
8294<div class="line"><a name="l00468"></a><span class="lineno"> 468</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>
8295<div class="line"><a name="l00469"></a><span class="lineno"> 469</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>
8296<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div>
8297<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; first_stage = ((INT16_MIN &lt;= min_row_value) &amp;&amp; (max_row_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div>
8298<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div>
8299<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; second_stage = ((INT16_MIN &lt;= min_value) &amp;&amp; (max_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div>
8300<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div>
8301<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div>
8302<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div>
8303<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;}</div>
8304<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
8305<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>
8306<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#l00064">Types.h:64</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008307</div><!-- fragment -->
8308</div>
8309</div>
8310<a class="anchor" id="a3992df9e8723140a53e49dc194d89ef5"></a>
8311<div class="memitem">
8312<div class="memproto">
8313<table class="mlabels">
8314 <tr>
8315 <td class="mlabels-left">
8316 <table class="memname">
8317 <tr>
8318 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
8319 <td>(</td>
8320 <td class="paramtype">const int16_t *&#160;</td>
8321 <td class="paramname"><em>conv</em>, </td>
8322 </tr>
8323 <tr>
8324 <td class="paramkey"></td>
8325 <td></td>
8326 <td class="paramtype">size_t&#160;</td>
8327 <td class="paramname"><em>size</em>&#160;</td>
8328 </tr>
8329 <tr>
8330 <td></td>
8331 <td>)</td>
8332 <td></td><td></td>
8333 </tr>
8334 </table>
8335 </td>
8336 <td class="mlabels-right">
8337<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8338 </tr>
8339</table>
8340</div><div class="memdoc">
8341
8342<p>Calculate the accuracy required by the squared convolution calculation. </p>
8343<dl class="params"><dt>Parameters</dt><dd>
8344 <table class="params">
8345 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
8346 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
8347 </table>
8348 </dd>
8349</dl>
8350<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
8351
Kaizen8938bd32017-09-28 14:38:23 +01008352<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00487">487</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 +00008353
Kaizen8938bd32017-09-28 14:38:23 +01008354<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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
8355<div class="fragment"><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;{</div>
8356<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div>
8357<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; {</div>
8358<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div>
8359<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; };</div>
8360<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;</div>
8361<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div>
8362<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;</div>
8363<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div>
8364<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div>
8365<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div>
8366<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div>
8367<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div>
8368<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div>
8369<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div>
8370<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">else</span></div>
8371<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div>
8372<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div>
8373<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
8374<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div>
8375<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">else</span></div>
8376<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div>
8377<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div>
8378<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; {</div>
8379<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">return</span> b &lt; 0 ? a + b : a;</div>
8380<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; })</div>
8381<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; * UINT8_MAX;</div>
8382<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div>
8383<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div>
8384<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div>
8385<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">return</span> b &gt; 0 ? a + b : a;</div>
8386<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; })</div>
8387<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; * UINT8_MAX;</div>
8388<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div>
8389<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">if</span>((INT16_MIN &lt;= min_value) &amp;&amp; (INT16_MAX &gt;= max_value))</div>
8390<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div>
8391<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div>
8392<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div>
8393<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">else</span></div>
8394<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div>
8395<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div>
8396<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div>
8397<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; }</div>
8398<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;}</div>
8399<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
8400<div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008401</div><!-- fragment -->
8402</div>
8403</div>
8404<a class="anchor" id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
8405<div class="memitem">
8406<div class="memproto">
8407<table class="mlabels">
8408 <tr>
8409 <td class="mlabels-left">
8410 <table class="memname">
8411 <tr>
8412 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
8413 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008414 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008415 <td class="paramname"><em>format</em></td><td>)</td>
8416 <td></td>
8417 </tr>
8418 </table>
8419 </td>
8420 <td class="mlabels-right">
8421<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8422 </tr>
8423</table>
8424</div><div class="memdoc">
8425
8426<p>Return the data type used by a given single-planar pixel format. </p>
8427<dl class="params"><dt>Parameters</dt><dd>
8428 <table class="params">
8429 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
8430 </table>
8431 </dd>
8432</dl>
8433<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
8434
Kaizen8938bd32017-09-28 14:38:23 +01008435<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00191">191</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 +00008436
Kaizen8938bd32017-09-28 14:38:23 +01008437<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#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 +01008438
Kaizen8938bd32017-09-28 14:38:23 +01008439<p>Referenced by <a class="el" href="_c_l_2_harris_corners_8cpp_source.xhtml#l00057">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00265">SimpleTensor&lt; T &gt;::data_type()</a>.</p>
8440<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;{</div>
8441<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">switch</span>(format)</div>
8442<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
8443<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
8444<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
8445<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
8446<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
8447<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
8448<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
8449<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> DataType::U8;</div>
8450<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
8451<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div>
8452<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
8453<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div>
8454<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
8455<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div>
8456<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
8457<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div>
8458<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
8459<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> DataType::F16;</div>
8460<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
8461<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> DataType::F32;</div>
8462<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div>
8463<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
8464<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
8465<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
8466<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
8467<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">default</span>:</div>
8468<div class="line"><a name="l00220"></a><span class="lineno"> 220</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>
8469<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div>
8470<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
8471<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
8472<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008473</div><!-- fragment -->
8474</div>
8475</div>
8476<a class="anchor" id="a5930b66fce0674d707fbf4f2dfcacc8f"></a>
8477<div class="memitem">
8478<div class="memproto">
8479 <table class="memname">
8480 <tr>
8481 <td class="memname">void arm_compute::debug </td>
8482 <td>(</td>
8483 <td class="paramtype">const char *&#160;</td>
8484 <td class="paramname"><em>function</em>, </td>
8485 </tr>
8486 <tr>
8487 <td class="paramkey"></td>
8488 <td></td>
8489 <td class="paramtype">const char *&#160;</td>
8490 <td class="paramname"><em>file</em>, </td>
8491 </tr>
8492 <tr>
8493 <td class="paramkey"></td>
8494 <td></td>
8495 <td class="paramtype">const int&#160;</td>
8496 <td class="paramname"><em>line</em>, </td>
8497 </tr>
8498 <tr>
8499 <td class="paramkey"></td>
8500 <td></td>
8501 <td class="paramtype">const char *&#160;</td>
8502 <td class="paramname"><em>msg</em>, </td>
8503 </tr>
8504 <tr>
8505 <td class="paramkey"></td>
8506 <td></td>
8507 <td class="paramtype">&#160;</td>
8508 <td class="paramname"><em>...</em>&#160;</td>
8509 </tr>
8510 <tr>
8511 <td></td>
8512 <td>)</td>
8513 <td></td><td></td>
8514 </tr>
8515 </table>
8516</div><div class="memdoc">
8517
8518<p>Print a debug message. </p>
8519<dl class="params"><dt>Parameters</dt><dd>
8520 <table class="params">
8521 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8522 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8523 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8524 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
8525 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
8526 </table>
8527 </dd>
8528</dl>
8529
8530</div>
8531</div>
Kaizen8938bd32017-09-28 14:38:23 +01008532<a class="anchor" id="ad656a27ce8a507e31096ca45683ba9a5"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008533<div class="memitem">
8534<div class="memproto">
8535<table class="mlabels">
8536 <tr>
8537 <td class="mlabels-left">
8538 <table class="memname">
8539 <tr>
Kaizen8938bd32017-09-28 14:38:23 +01008540 <td class="memname">T arm_compute::delta_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008541 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008542 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008543 <td class="paramname"><em>pixel_ptr</em>, </td>
8544 </tr>
8545 <tr>
8546 <td class="paramkey"></td>
8547 <td></td>
8548 <td class="paramtype">size_t&#160;</td>
8549 <td class="paramname"><em>stride</em>, </td>
8550 </tr>
8551 <tr>
8552 <td class="paramkey"></td>
8553 <td></td>
8554 <td class="paramtype">float&#160;</td>
8555 <td class="paramname"><em>dx</em>, </td>
8556 </tr>
8557 <tr>
8558 <td class="paramkey"></td>
8559 <td></td>
8560 <td class="paramtype">float&#160;</td>
8561 <td class="paramname"><em>dy</em>&#160;</td>
8562 </tr>
8563 <tr>
8564 <td></td>
8565 <td>)</td>
8566 <td></td><td></td>
8567 </tr>
8568 </table>
8569 </td>
8570 <td class="mlabels-right">
8571<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8572 </tr>
8573</table>
8574</div><div class="memdoc">
8575
8576<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 +01008577<p>Input must be in single channel format.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008578<dl class="params"><dt>Parameters</dt><dd>
8579 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +01008580 <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 +01008581 <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>
8582 <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>
8583 <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>
8584 </table>
8585 </dd>
8586</dl>
8587<dl class="section note"><dt>Note</dt><dd>dx and dy must be in the range [0, 1.0]</dd></dl>
8588<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
8589
Kaizen8938bd32017-09-28 14:38:23 +01008590<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">99</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 +01008591
8592<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
8593
Kaizen8938bd32017-09-28 14:38:23 +01008594<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00131">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00158">pixel_bilinear_c1_clamp()</a>.</p>
8595<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;{</div>
8596<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div>
8597<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
8598<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div>
8599<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div>
8600<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
8601<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> T a00 = *pixel_ptr;</div>
8602<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div>
8603<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div>
8604<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div>
8605<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
8606<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div>
8607<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div>
8608<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div>
8609<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * dy;</div>
8610<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
8611<div class="line"><a name="l00116"></a><span class="lineno"> 116</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>
8612<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div>
8613<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#l00124">Error.h:124</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008614</div><!-- fragment -->
8615</div>
8616</div>
8617<a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
8618<div class="memitem">
8619<div class="memproto">
8620 <table class="memname">
8621 <tr>
8622 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
8623 <td>(</td>
8624 <td class="paramtype">S&#160;</td>
8625 <td class="paramname"><em>val</em>, </td>
8626 </tr>
8627 <tr>
8628 <td class="paramkey"></td>
8629 <td></td>
8630 <td class="paramtype">T&#160;</td>
8631 <td class="paramname"><em>m</em>&#160;</td>
8632 </tr>
8633 <tr>
8634 <td></td>
8635 <td>)</td>
8636 <td></td><td> -&gt; decltype((val + m - 1) / m)
8637</td>
8638 </tr>
8639 </table>
8640</div><div class="memdoc">
8641
8642<p>Calculate the rounded up quotient of val / m. </p>
8643
Anthony Barbierdbdab852017-06-23 15:42:00 +01008644<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00059">59</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01008645<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
8646<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> (val + m - 1) / m;</div>
8647<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
8648</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00008649</div>
8650</div>
8651<a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
8652<div class="memitem">
8653<div class="memproto">
8654<table class="mlabels">
8655 <tr>
8656 <td class="mlabels-left">
8657 <table class="memname">
8658 <tr>
8659 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
8660 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008661 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008662 <td class="paramname"><em>dt</em></td><td>)</td>
8663 <td></td>
8664 </tr>
8665 </table>
8666 </td>
8667 <td class="mlabels-right">
8668<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8669 </tr>
8670</table>
8671</div><div class="memdoc">
8672
8673<p>The size in bytes of the data type. </p>
8674<dl class="params"><dt>Parameters</dt><dd>
8675 <table class="params">
8676 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
8677 </table>
8678 </dd>
8679</dl>
8680<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
8681
Kaizen8938bd32017-09-28 14:38:23 +01008682<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00161">161</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 +00008683
Kaizen8938bd32017-09-28 14:38:23 +01008684<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#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 +01008685
Kaizen8938bd32017-09-28 14:38:23 +01008686<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00240">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="_validate_8h_source.xhtml#l00565">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00173">arm_compute::test::validation::validate()</a>.</p>
8687<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;{</div>
8688<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">switch</span>(dt)</div>
8689<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
8690<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div>
8691<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div>
8692<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
8693<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">return</span> 1;</div>
8694<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div>
8695<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div>
8696<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
8697<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
8698<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> 2;</div>
8699<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div>
8700<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div>
8701<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
8702<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div>
8703<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> 4;</div>
8704<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">default</span>:</div>
8705<div class="line"><a name="l00180"></a><span class="lineno"> 180</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>
8706<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> 0;</div>
8707<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
8708<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
8709<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008710</div><!-- fragment -->
8711</div>
8712</div>
Kaizen8938bd32017-09-28 14:38:23 +01008713<a class="anchor" id="a0f68015f649819f1102aa73d7b88b29e"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008714<div class="memitem">
8715<div class="memproto">
8716 <table class="memname">
8717 <tr>
8718 <td class="memname">void arm_compute::enqueue </td>
8719 <td>(</td>
8720 <td class="paramtype">cl::CommandQueue &amp;&#160;</td>
8721 <td class="paramname"><em>queue</em>, </td>
8722 </tr>
8723 <tr>
8724 <td class="paramkey"></td>
8725 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008726 <td class="paramtype">ICLKernel &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008727 <td class="paramname"><em>kernel</em>, </td>
8728 </tr>
8729 <tr>
8730 <td class="paramkey"></td>
8731 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008732 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008733 <td class="paramname"><em>window</em>, </td>
8734 </tr>
8735 <tr>
8736 <td class="paramkey"></td>
8737 <td></td>
8738 <td class="paramtype">const cl::NDRange &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01008739 <td class="paramname"><em>lws_hint</em> = <code>CLKernelLibrary::get().default_ndrange()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008740 </tr>
8741 <tr>
8742 <td></td>
8743 <td>)</td>
8744 <td></td><td></td>
8745 </tr>
8746 </table>
8747</div><div class="memdoc">
8748
8749<p>Add the kernel to the command queue with the given window. </p>
8750<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
8751<dd>
8752If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
8753<dl class="params"><dt>Parameters</dt><dd>
8754 <table class="params">
8755 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
8756 <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>
8757 <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>
8758 <tr><td class="paramdir">[in]</td><td class="paramname">lws_hint</td><td>Local workgroup size requested, by default (128,1)</td></tr>
8759 </table>
8760 </dd>
8761</dl>
8762<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>
8763
Anthony Barbier871448e2017-03-24 14:54:29 +00008764</div>
8765</div>
8766<a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
8767<div class="memitem">
8768<div class="memproto">
8769 <table class="memname">
8770 <tr>
8771 <td class="memname">void arm_compute::error </td>
8772 <td>(</td>
8773 <td class="paramtype">const char *&#160;</td>
8774 <td class="paramname"><em>function</em>, </td>
8775 </tr>
8776 <tr>
8777 <td class="paramkey"></td>
8778 <td></td>
8779 <td class="paramtype">const char *&#160;</td>
8780 <td class="paramname"><em>file</em>, </td>
8781 </tr>
8782 <tr>
8783 <td class="paramkey"></td>
8784 <td></td>
8785 <td class="paramtype">const int&#160;</td>
8786 <td class="paramname"><em>line</em>, </td>
8787 </tr>
8788 <tr>
8789 <td class="paramkey"></td>
8790 <td></td>
8791 <td class="paramtype">const char *&#160;</td>
8792 <td class="paramname"><em>msg</em>, </td>
8793 </tr>
8794 <tr>
8795 <td class="paramkey"></td>
8796 <td></td>
8797 <td class="paramtype">&#160;</td>
8798 <td class="paramname"><em>...</em>&#160;</td>
8799 </tr>
8800 <tr>
8801 <td></td>
8802 <td>)</td>
8803 <td></td><td></td>
8804 </tr>
8805 </table>
8806</div><div class="memdoc">
8807
8808<p>Print an error message then throw an std::runtime_error. </p>
8809<dl class="params"><dt>Parameters</dt><dd>
8810 <table class="params">
8811 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8812 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8813 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8814 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
8815 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
8816 </table>
8817 </dd>
8818</dl>
8819
Kaizen8938bd32017-09-28 14:38:23 +01008820<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00058">main()</a>.</p>
8821
Anthony Barbier871448e2017-03-24 14:54:29 +00008822</div>
8823</div>
8824<a class="anchor" id="a593d972357b3bcfeecb87207dc925417"></a>
8825<div class="memitem">
8826<div class="memproto">
8827 <table class="memname">
8828 <tr>
8829 <td class="memname">void arm_compute::error_on_channel_not_in </td>
8830 <td>(</td>
8831 <td class="paramtype">const char *&#160;</td>
8832 <td class="paramname"><em>function</em>, </td>
8833 </tr>
8834 <tr>
8835 <td class="paramkey"></td>
8836 <td></td>
8837 <td class="paramtype">const char *&#160;</td>
8838 <td class="paramname"><em>file</em>, </td>
8839 </tr>
8840 <tr>
8841 <td class="paramkey"></td>
8842 <td></td>
8843 <td class="paramtype">const int&#160;</td>
8844 <td class="paramname"><em>line</em>, </td>
8845 </tr>
8846 <tr>
8847 <td class="paramkey"></td>
8848 <td></td>
8849 <td class="paramtype">T&#160;</td>
8850 <td class="paramname"><em>cn</em>, </td>
8851 </tr>
8852 <tr>
8853 <td class="paramkey"></td>
8854 <td></td>
8855 <td class="paramtype">T &amp;&amp;&#160;</td>
8856 <td class="paramname"><em>channel</em>, </td>
8857 </tr>
8858 <tr>
8859 <td class="paramkey"></td>
8860 <td></td>
8861 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
8862 <td class="paramname"><em>channels</em>&#160;</td>
8863 </tr>
8864 <tr>
8865 <td></td>
8866 <td>)</td>
8867 <td></td><td></td>
8868 </tr>
8869 </table>
8870</div><div class="memdoc">
8871
8872<p>Throw an error if the channel is not in channels. </p>
8873<dl class="params"><dt>Parameters</dt><dd>
8874 <table class="params">
8875 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8876 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8877 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8878 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
8879 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
8880 <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels. </td></tr>
8881 </table>
8882 </dd>
8883</dl>
8884
Kaizen8938bd32017-09-28 14:38:23 +01008885<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00452">452</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008886
Kaizen8938bd32017-09-28 14:38:23 +01008887<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
8888<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;{</div>
8889<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(cn == Channel::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
8890<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
8891<div class="line"><a name="l00457"></a><span class="lineno"> 457</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>
8892<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(channels_array);</div>
8893<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(channel != cn &amp;&amp; std::none_of(channels_array.begin(), channels_array.end(), [&amp;](<span class="keyword">const</span> T &amp; f)</div>
8894<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
8895<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> f == cn;</div>
8896<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }),</div>
8897<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keyword">function</span>, file, line);</div>
8898<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;}</div>
8899<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008900<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#l00134">Error.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008901</div><!-- fragment -->
8902</div>
8903</div>
8904<a class="anchor" id="ad0d001a84424d440f9a11fc1b80ed2ff"></a>
8905<div class="memitem">
8906<div class="memproto">
8907 <table class="memname">
8908 <tr>
8909 <td class="memname">void arm_compute::error_on_channel_not_in_known_format </td>
8910 <td>(</td>
8911 <td class="paramtype">const char *&#160;</td>
8912 <td class="paramname"><em>function</em>, </td>
8913 </tr>
8914 <tr>
8915 <td class="paramkey"></td>
8916 <td></td>
8917 <td class="paramtype">const char *&#160;</td>
8918 <td class="paramname"><em>file</em>, </td>
8919 </tr>
8920 <tr>
8921 <td class="paramkey"></td>
8922 <td></td>
8923 <td class="paramtype">const int&#160;</td>
8924 <td class="paramname"><em>line</em>, </td>
8925 </tr>
8926 <tr>
8927 <td class="paramkey"></td>
8928 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008929 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008930 <td class="paramname"><em>fmt</em>, </td>
8931 </tr>
8932 <tr>
8933 <td class="paramkey"></td>
8934 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008935 <td class="paramtype">Channel&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008936 <td class="paramname"><em>cn</em>&#160;</td>
8937 </tr>
8938 <tr>
8939 <td></td>
8940 <td>)</td>
8941 <td></td><td></td>
8942 </tr>
8943 </table>
8944</div><div class="memdoc">
8945
8946<p>Throw an error if the channel is not in format. </p>
8947<dl class="params"><dt>Parameters</dt><dd>
8948 <table class="params">
8949 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8950 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8951 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8952 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
8953 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed. </td></tr>
8954 </table>
8955 </dd>
8956</dl>
8957
8958</div>
8959</div>
8960<a class="anchor" id="a130822528598f21a48f7ee0e6d8438a0"></a>
8961<div class="memitem">
8962<div class="memproto">
8963 <table class="memname">
8964 <tr>
8965 <td class="memname">void arm_compute::error_on_coordinates_dimensions_gte </td>
8966 <td>(</td>
8967 <td class="paramtype">const char *&#160;</td>
8968 <td class="paramname"><em>function</em>, </td>
8969 </tr>
8970 <tr>
8971 <td class="paramkey"></td>
8972 <td></td>
8973 <td class="paramtype">const char *&#160;</td>
8974 <td class="paramname"><em>file</em>, </td>
8975 </tr>
8976 <tr>
8977 <td class="paramkey"></td>
8978 <td></td>
8979 <td class="paramtype">const int&#160;</td>
8980 <td class="paramname"><em>line</em>, </td>
8981 </tr>
8982 <tr>
8983 <td class="paramkey"></td>
8984 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008985 <td class="paramtype">const Coordinates &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008986 <td class="paramname"><em>pos</em>, </td>
8987 </tr>
8988 <tr>
8989 <td class="paramkey"></td>
8990 <td></td>
8991 <td class="paramtype">unsigned int&#160;</td>
8992 <td class="paramname"><em>max_dim</em>&#160;</td>
8993 </tr>
8994 <tr>
8995 <td></td>
8996 <td>)</td>
8997 <td></td><td></td>
8998 </tr>
8999 </table>
9000</div><div class="memdoc">
9001
9002<p>Throw an error if the passed coordinates have too many dimensions. </p>
9003<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
9004<dl class="params"><dt>Parameters</dt><dd>
9005 <table class="params">
9006 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9007 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9008 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9009 <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>
9010 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
9011 </table>
9012 </dd>
9013</dl>
9014
9015</div>
9016</div>
9017<a class="anchor" id="a690ce072b4480f4a5bad433f23c9fe05"></a>
9018<div class="memitem">
9019<div class="memproto">
9020 <table class="memname">
9021 <tr>
9022 <td class="memname">void arm_compute::error_on_data_type_channel_not_in </td>
9023 <td>(</td>
9024 <td class="paramtype">const char *&#160;</td>
9025 <td class="paramname"><em>function</em>, </td>
9026 </tr>
9027 <tr>
9028 <td class="paramkey"></td>
9029 <td></td>
9030 <td class="paramtype">const char *&#160;</td>
9031 <td class="paramname"><em>file</em>, </td>
9032 </tr>
9033 <tr>
9034 <td class="paramkey"></td>
9035 <td></td>
9036 <td class="paramtype">const int&#160;</td>
9037 <td class="paramname"><em>line</em>, </td>
9038 </tr>
9039 <tr>
9040 <td class="paramkey"></td>
9041 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009042 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009043 <td class="paramname"><em>tensor</em>, </td>
9044 </tr>
9045 <tr>
9046 <td class="paramkey"></td>
9047 <td></td>
9048 <td class="paramtype">size_t&#160;</td>
9049 <td class="paramname"><em>num_channels</em>, </td>
9050 </tr>
9051 <tr>
9052 <td class="paramkey"></td>
9053 <td></td>
9054 <td class="paramtype">T &amp;&amp;&#160;</td>
9055 <td class="paramname"><em>dt</em>, </td>
9056 </tr>
9057 <tr>
9058 <td class="paramkey"></td>
9059 <td></td>
9060 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9061 <td class="paramname"><em>dts</em>&#160;</td>
9062 </tr>
9063 <tr>
9064 <td></td>
9065 <td>)</td>
9066 <td></td><td></td>
9067 </tr>
9068 </table>
9069</div><div class="memdoc">
9070
9071<p>Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. </p>
9072<dl class="params"><dt>Parameters</dt><dd>
9073 <table class="params">
9074 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9075 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9076 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9077 <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>
9078 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
9079 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
9080 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
9081 </table>
9082 </dd>
9083</dl>
9084
Kaizen8938bd32017-09-28 14:38:23 +01009085<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00419">419</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009086
Kaizen8938bd32017-09-28 14:38:23 +01009087<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00387">error_on_data_type_not_in()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>.</p>
9088<div class="fragment"><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;{</div>
9089<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...);</div>
9090<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div>
9091<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor-&gt;info()-&gt;num_channels();</div>
9092<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_nc);</div>
9093<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div>
9094<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_nc != num_channels, <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Number of channels %d. Required number of channels %d&quot;</span>, tensor_nc, num_channels);</div>
9095<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;}</div>
9096<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009097<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009098<div class="ttc" id="namespacearm__compute_xhtml_a0c52339d3cb372d145deeafb5a313807"><div class="ttname"><a href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">void error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensor *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Throw an error if the data type of the passed tensor does not match any of the data types provided...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00387">Validate.h:387</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009099</div><!-- fragment -->
9100</div>
9101</div>
9102<a class="anchor" id="a0c52339d3cb372d145deeafb5a313807"></a>
9103<div class="memitem">
9104<div class="memproto">
9105 <table class="memname">
9106 <tr>
9107 <td class="memname">void arm_compute::error_on_data_type_not_in </td>
9108 <td>(</td>
9109 <td class="paramtype">const char *&#160;</td>
9110 <td class="paramname"><em>function</em>, </td>
9111 </tr>
9112 <tr>
9113 <td class="paramkey"></td>
9114 <td></td>
9115 <td class="paramtype">const char *&#160;</td>
9116 <td class="paramname"><em>file</em>, </td>
9117 </tr>
9118 <tr>
9119 <td class="paramkey"></td>
9120 <td></td>
9121 <td class="paramtype">const int&#160;</td>
9122 <td class="paramname"><em>line</em>, </td>
9123 </tr>
9124 <tr>
9125 <td class="paramkey"></td>
9126 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009127 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009128 <td class="paramname"><em>tensor</em>, </td>
9129 </tr>
9130 <tr>
9131 <td class="paramkey"></td>
9132 <td></td>
9133 <td class="paramtype">T &amp;&amp;&#160;</td>
9134 <td class="paramname"><em>dt</em>, </td>
9135 </tr>
9136 <tr>
9137 <td class="paramkey"></td>
9138 <td></td>
9139 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9140 <td class="paramname"><em>dts</em>&#160;</td>
9141 </tr>
9142 <tr>
9143 <td></td>
9144 <td>)</td>
9145 <td></td><td></td>
9146 </tr>
9147 </table>
9148</div><div class="memdoc">
9149
9150<p>Throw an error if the data type of the passed tensor does not match any of the data types provided. </p>
9151<dl class="params"><dt>Parameters</dt><dd>
9152 <table class="params">
9153 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9154 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9155 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9156 <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>
9157 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
9158 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
9159 </table>
9160 </dd>
9161</dl>
9162
Kaizen8938bd32017-09-28 14:38:23 +01009163<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00387">387</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009164
Kaizen8938bd32017-09-28 14:38:23 +01009165<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</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.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</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 Barbier871448e2017-03-24 14:54:29 +00009166
Kaizen8938bd32017-09-28 14:38:23 +01009167<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00419">error_on_data_type_channel_not_in()</a>.</p>
9168<div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;{</div>
9169<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9170<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
9171<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;tensor_dt = tensor-&gt;info()-&gt;data_type(); <span class="comment">//NOLINT</span></div>
9172<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_dt);</div>
9173<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div>
9174<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_dt == DataType::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
9175<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div>
9176<div class="line"><a name="l00397"></a><span class="lineno"> 397</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>
9177<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(dts_array);</div>
9178<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div>
9179<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_dt != dt &amp;&amp; std::none_of(dts_array.begin(), dts_array.end(), [&amp;](<span class="keyword">const</span> T &amp; d)</div>
9180<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div>
9181<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> d == tensor_dt;</div>
9182<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }),</div>
9183<div class="line"><a name="l00404"></a><span class="lineno"> 404</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>
9184<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;}</div>
9185<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009186<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
9187<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009188<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#l00134">Error.h:134</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009189<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#l00064">Types.h:64</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009190</div><!-- fragment -->
9191</div>
9192</div>
9193<a class="anchor" id="a0b360558b516e256f0af005a164c674e"></a>
9194<div class="memitem">
9195<div class="memproto">
9196 <table class="memname">
9197 <tr>
9198 <td class="memname">void arm_compute::error_on_format_not_in </td>
9199 <td>(</td>
9200 <td class="paramtype">const char *&#160;</td>
9201 <td class="paramname"><em>function</em>, </td>
9202 </tr>
9203 <tr>
9204 <td class="paramkey"></td>
9205 <td></td>
9206 <td class="paramtype">const char *&#160;</td>
9207 <td class="paramname"><em>file</em>, </td>
9208 </tr>
9209 <tr>
9210 <td class="paramkey"></td>
9211 <td></td>
9212 <td class="paramtype">const int&#160;</td>
9213 <td class="paramname"><em>line</em>, </td>
9214 </tr>
9215 <tr>
9216 <td class="paramkey"></td>
9217 <td></td>
9218 <td class="paramtype">const T *&#160;</td>
9219 <td class="paramname"><em>object</em>, </td>
9220 </tr>
9221 <tr>
9222 <td class="paramkey"></td>
9223 <td></td>
9224 <td class="paramtype">F &amp;&amp;&#160;</td>
9225 <td class="paramname"><em>format</em>, </td>
9226 </tr>
9227 <tr>
9228 <td class="paramkey"></td>
9229 <td></td>
9230 <td class="paramtype">Fs &amp;&amp;...&#160;</td>
9231 <td class="paramname"><em>formats</em>&#160;</td>
9232 </tr>
9233 <tr>
9234 <td></td>
9235 <td>)</td>
9236 <td></td><td></td>
9237 </tr>
9238 </table>
9239</div><div class="memdoc">
9240
9241<p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
9242<dl class="params"><dt>Parameters</dt><dd>
9243 <table class="params">
9244 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9245 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9246 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9247 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
9248 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
9249 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
9250 </table>
9251 </dd>
9252</dl>
9253
Kaizen8938bd32017-09-28 14:38:23 +01009254<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00356">356</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009255
Kaizen8938bd32017-09-28 14:38:23 +01009256<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
9257<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div>
9258<div class="line"><a name="l00359"></a><span class="lineno"> 359</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>
9259<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
9260<div class="line"><a name="l00361"></a><span class="lineno"> 361</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>
9261<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(object_format);</div>
9262<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div>
9263<div class="line"><a name="l00364"></a><span class="lineno"> 364</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>
9264<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div>
9265<div class="line"><a name="l00366"></a><span class="lineno"> 366</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>
9266<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(formats_array);</div>
9267<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div>
9268<div class="line"><a name="l00369"></a><span class="lineno"> 369</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>
9269<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div>
9270<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> f == object_format;</div>
9271<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; }),</div>
9272<div class="line"><a name="l00373"></a><span class="lineno"> 373</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>
9273<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;}</div>
9274<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009275<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009276<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#l00042">Types.h:42</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009277<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#l00134">Error.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009278<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>
9279</div><!-- fragment -->
9280</div>
9281</div>
9282<a class="anchor" id="a307666ca482a84d5a64251d78889a818"></a>
9283<div class="memitem">
9284<div class="memproto">
9285 <table class="memname">
9286 <tr>
9287 <td class="memname">void arm_compute::error_on_invalid_multi_hog </td>
9288 <td>(</td>
9289 <td class="paramtype">const char *&#160;</td>
9290 <td class="paramname"><em>function</em>, </td>
9291 </tr>
9292 <tr>
9293 <td class="paramkey"></td>
9294 <td></td>
9295 <td class="paramtype">const char *&#160;</td>
9296 <td class="paramname"><em>file</em>, </td>
9297 </tr>
9298 <tr>
9299 <td class="paramkey"></td>
9300 <td></td>
9301 <td class="paramtype">const int&#160;</td>
9302 <td class="paramname"><em>line</em>, </td>
9303 </tr>
9304 <tr>
9305 <td class="paramkey"></td>
9306 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009307 <td class="paramtype">const IMultiHOG *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009308 <td class="paramname"><em>multi_hog</em>&#160;</td>
9309 </tr>
9310 <tr>
9311 <td></td>
9312 <td>)</td>
9313 <td></td><td></td>
9314 </tr>
9315 </table>
9316</div><div class="memdoc">
9317
9318<p>Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. </p>
9319<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
9320<ol type="1">
9321<li>it is a nullptr</li>
9322<li>it doesn't contain models</li>
9323<li><p class="startli">it doesn't have the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data objects with the same phase_type, normalization_type and l2_hyst_threshold (if normalization_type == L2HYS_NORM)</p>
9324<dl class="params"><dt>Parameters</dt><dd>
9325 <table class="params">
9326 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9327 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9328 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9329 <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>
9330 </table>
9331 </dd>
9332</dl>
9333</li>
9334</ol>
9335
9336</div>
9337</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009338<a class="anchor" id="a36ffb104aed50deb360db6f3afa4c394"></a>
9339<div class="memitem">
9340<div class="memproto">
9341 <table class="memname">
9342 <tr>
9343 <td class="memname">void arm_compute::error_on_invalid_subtensor </td>
9344 <td>(</td>
9345 <td class="paramtype">const char *&#160;</td>
9346 <td class="paramname"><em>function</em>, </td>
9347 </tr>
9348 <tr>
9349 <td class="paramkey"></td>
9350 <td></td>
9351 <td class="paramtype">const char *&#160;</td>
9352 <td class="paramname"><em>file</em>, </td>
9353 </tr>
9354 <tr>
9355 <td class="paramkey"></td>
9356 <td></td>
9357 <td class="paramtype">const int&#160;</td>
9358 <td class="paramname"><em>line</em>, </td>
9359 </tr>
9360 <tr>
9361 <td class="paramkey"></td>
9362 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009363 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009364 <td class="paramname"><em>parent_shape</em>, </td>
9365 </tr>
9366 <tr>
9367 <td class="paramkey"></td>
9368 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009369 <td class="paramtype">const Coordinates &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009370 <td class="paramname"><em>coords</em>, </td>
9371 </tr>
9372 <tr>
9373 <td class="paramkey"></td>
9374 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009375 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009376 <td class="paramname"><em>shape</em>&#160;</td>
9377 </tr>
9378 <tr>
9379 <td></td>
9380 <td>)</td>
9381 <td></td><td></td>
9382 </tr>
9383 </table>
9384</div><div class="memdoc">
9385
9386<p>Throw an error if if the coordinates and shape of the subtensor are within the parent tensor. </p>
9387<dl class="params"><dt>Parameters</dt><dd>
9388 <table class="params">
9389 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9390 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9391 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9392 <tr><td class="paramdir">[in]</td><td class="paramname">parent_shape</td><td>Parent tensor shape </td></tr>
9393 <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>
9394 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the subtensor </td></tr>
9395 </table>
9396 </dd>
9397</dl>
9398
9399</div>
9400</div>
9401<a class="anchor" id="a858e835f22c359080a09709c6dd950b1"></a>
9402<div class="memitem">
9403<div class="memproto">
9404 <table class="memname">
9405 <tr>
9406 <td class="memname">void arm_compute::error_on_invalid_subtensor_valid_region </td>
9407 <td>(</td>
9408 <td class="paramtype">const char *&#160;</td>
9409 <td class="paramname"><em>function</em>, </td>
9410 </tr>
9411 <tr>
9412 <td class="paramkey"></td>
9413 <td></td>
9414 <td class="paramtype">const char *&#160;</td>
9415 <td class="paramname"><em>file</em>, </td>
9416 </tr>
9417 <tr>
9418 <td class="paramkey"></td>
9419 <td></td>
9420 <td class="paramtype">const int&#160;</td>
9421 <td class="paramname"><em>line</em>, </td>
9422 </tr>
9423 <tr>
9424 <td class="paramkey"></td>
9425 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009426 <td class="paramtype">const ValidRegion &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009427 <td class="paramname"><em>parent_valid_region</em>, </td>
9428 </tr>
9429 <tr>
9430 <td class="paramkey"></td>
9431 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009432 <td class="paramtype">const ValidRegion &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009433 <td class="paramname"><em>valid_region</em>&#160;</td>
9434 </tr>
9435 <tr>
9436 <td></td>
9437 <td>)</td>
9438 <td></td><td></td>
9439 </tr>
9440 </table>
9441</div><div class="memdoc">
9442
9443<p>Throw an error if the valid region of a subtensor is not inside the valid region of the parent tensor. </p>
9444<dl class="params"><dt>Parameters</dt><dd>
9445 <table class="params">
9446 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9447 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9448 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9449 <tr><td class="paramdir">[in]</td><td class="paramname">parent_valid_region</td><td>Parent valid region. </td></tr>
9450 <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region of subtensor. </td></tr>
9451 </table>
9452 </dd>
9453</dl>
9454
9455</div>
9456</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009457<a class="anchor" id="a0916477887763c20822b43be144963eb"></a>
9458<div class="memitem">
9459<div class="memproto">
9460 <table class="memname">
9461 <tr>
9462 <td class="memname">void arm_compute::error_on_invalid_subwindow </td>
9463 <td>(</td>
9464 <td class="paramtype">const char *&#160;</td>
9465 <td class="paramname"><em>function</em>, </td>
9466 </tr>
9467 <tr>
9468 <td class="paramkey"></td>
9469 <td></td>
9470 <td class="paramtype">const char *&#160;</td>
9471 <td class="paramname"><em>file</em>, </td>
9472 </tr>
9473 <tr>
9474 <td class="paramkey"></td>
9475 <td></td>
9476 <td class="paramtype">const int&#160;</td>
9477 <td class="paramname"><em>line</em>, </td>
9478 </tr>
9479 <tr>
9480 <td class="paramkey"></td>
9481 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009482 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009483 <td class="paramname"><em>full</em>, </td>
9484 </tr>
9485 <tr>
9486 <td class="paramkey"></td>
9487 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009488 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009489 <td class="paramname"><em>sub</em>&#160;</td>
9490 </tr>
9491 <tr>
9492 <td></td>
9493 <td>)</td>
9494 <td></td><td></td>
9495 </tr>
9496 </table>
9497</div><div class="memdoc">
9498
9499<p>Throw an error if the passed subwindow is invalid. </p>
Kaizen8938bd32017-09-28 14:38:23 +01009500<p>The subwindow is invalid if:</p>
9501<ul>
Anthony Barbier871448e2017-03-24 14:54:29 +00009502<li>It is not a valid window.</li>
9503<li>It is not fully contained inside the full window</li>
9504<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
9505<dl class="params"><dt>Parameters</dt><dd>
9506 <table class="params">
9507 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9508 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9509 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9510 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
9511 <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate. </td></tr>
9512 </table>
9513 </dd>
9514</dl>
9515</li>
9516</ul>
9517
9518</div>
9519</div>
Kaizen8938bd32017-09-28 14:38:23 +01009520<a class="anchor" id="a464883e1c23b02d47d8db21956a8f117"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009521<div class="memitem">
9522<div class="memproto">
9523 <table class="memname">
9524 <tr>
9525 <td class="memname">void arm_compute::error_on_mismatching_data_types </td>
9526 <td>(</td>
9527 <td class="paramtype">const char *&#160;</td>
9528 <td class="paramname"><em>function</em>, </td>
9529 </tr>
9530 <tr>
9531 <td class="paramkey"></td>
9532 <td></td>
9533 <td class="paramtype">const char *&#160;</td>
9534 <td class="paramname"><em>file</em>, </td>
9535 </tr>
9536 <tr>
9537 <td class="paramkey"></td>
9538 <td></td>
9539 <td class="paramtype">const int&#160;</td>
9540 <td class="paramname"><em>line</em>, </td>
9541 </tr>
9542 <tr>
9543 <td class="paramkey"></td>
9544 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009545 <td class="paramtype">const ITensor *&#160;</td>
9546 <td class="paramname"><em>tensor</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009547 </tr>
9548 <tr>
9549 <td class="paramkey"></td>
9550 <td></td>
9551 <td class="paramtype">Ts...&#160;</td>
9552 <td class="paramname"><em>tensors</em>&#160;</td>
9553 </tr>
9554 <tr>
9555 <td></td>
9556 <td>)</td>
9557 <td></td><td></td>
9558 </tr>
9559 </table>
9560</div><div class="memdoc">
9561
9562<p>Throw an error if the passed two tensors have different data types. </p>
9563<dl class="params"><dt>Parameters</dt><dd>
9564 <table class="params">
9565 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9566 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9567 <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 +01009568 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00009569 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9570 </table>
9571 </dd>
9572</dl>
9573
Kaizen8938bd32017-09-28 14:38:23 +01009574<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00271">271</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009575
Kaizen8938bd32017-09-28 14:38:23 +01009576<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
9577<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;{</div>
9578<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
9579<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
9580<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
9581<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor);</div>
9582<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div>
9583<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9584<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div>
9585<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_data_type = tensor-&gt;info()-&gt;data_type();</div>
9586<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_data_type);</div>
9587<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div>
9588<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_array{ { std::forward&lt;Ts&gt;(tensors)... } };</div>
9589<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
9590<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div>
9591<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor_obj)</div>
9592<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
9593<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_obj == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9594<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> tensor_obj-&gt;info()-&gt;data_type() != tensor_data_type;</div>
9595<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }),</div>
9596<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div>
9597<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div>
9598<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009599<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009600<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#l00134">Error.h:134</a></div></div>
9601<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#l00064">Types.h:64</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009602</div><!-- fragment -->
9603</div>
9604</div>
9605<a class="anchor" id="aff062b84c57c614a2de4d54db2cbc31c"></a>
9606<div class="memitem">
9607<div class="memproto">
9608 <table class="memname">
9609 <tr>
9610 <td class="memname">void arm_compute::error_on_mismatching_dimensions </td>
9611 <td>(</td>
9612 <td class="paramtype">const char *&#160;</td>
9613 <td class="paramname"><em>function</em>, </td>
9614 </tr>
9615 <tr>
9616 <td class="paramkey"></td>
9617 <td></td>
9618 <td class="paramtype">const char *&#160;</td>
9619 <td class="paramname"><em>file</em>, </td>
9620 </tr>
9621 <tr>
9622 <td class="paramkey"></td>
9623 <td></td>
9624 <td class="paramtype">int&#160;</td>
9625 <td class="paramname"><em>line</em>, </td>
9626 </tr>
9627 <tr>
9628 <td class="paramkey"></td>
9629 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009630 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009631 <td class="paramname"><em>dim1</em>, </td>
9632 </tr>
9633 <tr>
9634 <td class="paramkey"></td>
9635 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009636 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009637 <td class="paramname"><em>dim2</em>, </td>
9638 </tr>
9639 <tr>
9640 <td class="paramkey"></td>
9641 <td></td>
9642 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9643 <td class="paramname"><em>dims</em>&#160;</td>
9644 </tr>
9645 <tr>
9646 <td></td>
9647 <td>)</td>
9648 <td></td><td></td>
9649 </tr>
9650 </table>
9651</div><div class="memdoc">
9652
9653<p>Throw an error if the passed dimension objects differ. </p>
9654<dl class="params"><dt>Parameters</dt><dd>
9655 <table class="params">
9656 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9657 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9658 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9659 <tr><td class="paramdir">[in]</td><td class="paramname">dim1</td><td>The first object to be compared. </td></tr>
9660 <tr><td class="paramdir">[in]</td><td class="paramname">dim2</td><td>The second object to be compared. </td></tr>
9661 <tr><td class="paramdir">[in]</td><td class="paramname">dims</td><td>(Optional) Further allowed objects. </td></tr>
9662 </table>
9663 </dd>
9664</dl>
9665
Kaizen8938bd32017-09-28 14:38:23 +01009666<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009667
Kaizen8938bd32017-09-28 14:38:23 +01009668<p>References <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
9669<div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;{</div>
9670<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
9671<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
9672<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
9673<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
9674<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a>(detail::compare_dimension&lt;T&gt;(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward&lt;Ts&gt;(dims)...);</div>
9675<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div>
9676<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
9677<div class="ttc" id="namespacearm__compute_xhtml_a76e58198af8e930a851637e7e3eccbd2"><div class="ttname"><a href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">arm_compute::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="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">Helpers.h:208</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009678</div><!-- fragment -->
9679</div>
9680</div>
9681<a class="anchor" id="a526ed43a37ba0faf2c1789175ec1a350"></a>
9682<div class="memitem">
9683<div class="memproto">
9684 <table class="memname">
9685 <tr>
9686 <td class="memname">void arm_compute::error_on_mismatching_fixed_point </td>
9687 <td>(</td>
9688 <td class="paramtype">const char *&#160;</td>
9689 <td class="paramname"><em>function</em>, </td>
9690 </tr>
9691 <tr>
9692 <td class="paramkey"></td>
9693 <td></td>
9694 <td class="paramtype">const char *&#160;</td>
9695 <td class="paramname"><em>file</em>, </td>
9696 </tr>
9697 <tr>
9698 <td class="paramkey"></td>
9699 <td></td>
9700 <td class="paramtype">const int&#160;</td>
9701 <td class="paramname"><em>line</em>, </td>
9702 </tr>
9703 <tr>
9704 <td class="paramkey"></td>
9705 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009706 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009707 <td class="paramname"><em>tensor_1</em>, </td>
9708 </tr>
9709 <tr>
9710 <td class="paramkey"></td>
9711 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009712 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009713 <td class="paramname"><em>tensor_2</em>, </td>
9714 </tr>
9715 <tr>
9716 <td class="paramkey"></td>
9717 <td></td>
9718 <td class="paramtype">Ts...&#160;</td>
9719 <td class="paramname"><em>tensors</em>&#160;</td>
9720 </tr>
9721 <tr>
9722 <td></td>
9723 <td>)</td>
9724 <td></td><td></td>
9725 </tr>
9726 </table>
9727</div><div class="memdoc">
9728
9729<p>Throw an error if the passed tensors have different fixed point data types or different fixed point positions. </p>
9730<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>
9731<dl class="params"><dt>Parameters</dt><dd>
9732 <table class="params">
9733 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9734 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9735 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9736 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
9737 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
9738 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9739 </table>
9740 </dd>
9741</dl>
9742
Kaizen8938bd32017-09-28 14:38:23 +01009743<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00309">309</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009744
9745<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</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.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009746<div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;{</div>
9747<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
9748<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
9749<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
9750<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_1);</div>
9751<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_2);</div>
9752<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div>
9753<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;first_data_type = tensor_1-&gt;info()-&gt;data_type();</div>
9754<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> first_fixed_point_position = tensor_1-&gt;info()-&gt;fixed_point_position();</div>
9755<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_data_type);</div>
9756<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_fixed_point_position);</div>
9757<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div>
9758<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">if</span>((first_data_type != DataType::QS8) &amp;&amp; (first_data_type != DataType::QS16))</div>
9759<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; {</div>
9760<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span>;</div>
9761<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
9762<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div>
9763<div class="line"><a name="l00328"></a><span class="lineno"> 328</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_array{ { tensor_2, std::forward&lt;Ts&gt;(tensors)... } };</div>
9764<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
9765<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div>
9766<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
9767<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div>
9768<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;data_type() != first_data_type;</div>
9769<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; }),</div>
9770<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed point data types&quot;</span>);</div>
9771<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;</div>
9772<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
9773<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
9774<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;fixed_point_position() != first_fixed_point_position;</div>
9775<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }),</div>
9776<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed point positions&quot;</span>);</div>
9777<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;}</div>
9778<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#l00116">Error.h:116</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009779<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009780<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#l00064">Types.h:64</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009781</div><!-- fragment -->
9782</div>
9783</div>
9784<a class="anchor" id="a064db352a2f4153e6237054343d5fe7a"></a>
9785<div class="memitem">
9786<div class="memproto">
9787 <table class="memname">
9788 <tr>
9789 <td class="memname">void arm_compute::error_on_mismatching_fixed_point_position </td>
9790 <td>(</td>
9791 <td class="paramtype">const char *&#160;</td>
9792 <td class="paramname"><em>function</em>, </td>
9793 </tr>
9794 <tr>
9795 <td class="paramkey"></td>
9796 <td></td>
9797 <td class="paramtype">const char *&#160;</td>
9798 <td class="paramname"><em>file</em>, </td>
9799 </tr>
9800 <tr>
9801 <td class="paramkey"></td>
9802 <td></td>
9803 <td class="paramtype">const int&#160;</td>
9804 <td class="paramname"><em>line</em>, </td>
9805 </tr>
9806 <tr>
9807 <td class="paramkey"></td>
9808 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009809 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009810 <td class="paramname"><em>tensor_1</em>, </td>
9811 </tr>
9812 <tr>
9813 <td class="paramkey"></td>
9814 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009815 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009816 <td class="paramname"><em>tensor_2</em>, </td>
9817 </tr>
9818 <tr>
9819 <td class="paramkey"></td>
9820 <td></td>
9821 <td class="paramtype">Ts...&#160;</td>
9822 <td class="paramname"><em>tensors</em>&#160;</td>
9823 </tr>
9824 <tr>
9825 <td></td>
9826 <td>)</td>
9827 <td></td><td></td>
9828 </tr>
9829 </table>
9830</div><div class="memdoc">
9831
9832<p>Throw an error if the input fixed-point positions are different. </p>
9833<dl class="params"><dt>Parameters</dt><dd>
9834 <table class="params">
9835 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9836 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9837 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9838 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
9839 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
9840 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9841 </table>
9842 </dd>
9843</dl>
9844
Kaizen8938bd32017-09-28 14:38:23 +01009845<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00542">542</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009846
9847<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009848<div class="fragment"><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;{</div>
9849<div class="line"><a name="l00545"></a><span class="lineno"> 545</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_array{ { tensor_2, std::forward&lt;Ts&gt;(tensors)... } };</div>
9850<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
9851<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div>
9852<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
9853<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div>
9854<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;fixed_point_position() != tensor_1-&gt;info()-&gt;fixed_point_position();</div>
9855<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; }),</div>
9856<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed-point positions&quot;</span>);</div>
9857<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;}</div>
9858<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#l00116">Error.h:116</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009859<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009860</div><!-- fragment -->
9861</div>
9862</div>
9863<a class="anchor" id="a7b689868b627ba9e22c8473c5f985512"></a>
9864<div class="memitem">
9865<div class="memproto">
9866 <table class="memname">
9867 <tr>
9868 <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
9869 <td>(</td>
9870 <td class="paramtype">const char *&#160;</td>
9871 <td class="paramname"><em>function</em>, </td>
9872 </tr>
9873 <tr>
9874 <td class="paramkey"></td>
9875 <td></td>
9876 <td class="paramtype">const char *&#160;</td>
9877 <td class="paramname"><em>file</em>, </td>
9878 </tr>
9879 <tr>
9880 <td class="paramkey"></td>
9881 <td></td>
9882 <td class="paramtype">const int&#160;</td>
9883 <td class="paramname"><em>line</em>, </td>
9884 </tr>
9885 <tr>
9886 <td class="paramkey"></td>
9887 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009888 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009889 <td class="paramname"><em>tensor_1</em>, </td>
9890 </tr>
9891 <tr>
9892 <td class="paramkey"></td>
9893 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009894 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009895 <td class="paramname"><em>tensor_2</em>, </td>
9896 </tr>
9897 <tr>
9898 <td class="paramkey"></td>
9899 <td></td>
9900 <td class="paramtype">Ts...&#160;</td>
9901 <td class="paramname"><em>tensors</em>&#160;</td>
9902 </tr>
9903 <tr>
9904 <td></td>
9905 <td>)</td>
9906 <td></td><td></td>
9907 </tr>
9908 </table>
9909</div><div class="memdoc">
9910
Anthony Barbierdbdab852017-06-23 15:42:00 +01009911<p>Throw an error if the passed two tensors have different shapes from the given dimension. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009912<dl class="params"><dt>Parameters</dt><dd>
9913 <table class="params">
9914 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9915 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9916 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9917 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
9918 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
9919 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9920 </table>
9921 </dd>
9922</dl>
9923
Kaizen8938bd32017-09-28 14:38:23 +01009924<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00224">224</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009925
Anthony Barbierdbdab852017-06-23 15:42:00 +01009926<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009927<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
9928<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_1, tensor_2, std::forward&lt;Ts&gt;(tensors)...);</div>
9929<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;}</div>
9930<div class="ttc" id="namespacearm__compute_xhtml_a496e03102bca40f666c12a575d4a6157"><div class="ttname"><a href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">void 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">Throw 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#l00241">Validate.h:241</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009931</div><!-- fragment -->
9932</div>
9933</div>
9934<a class="anchor" id="a496e03102bca40f666c12a575d4a6157"></a>
9935<div class="memitem">
9936<div class="memproto">
9937 <table class="memname">
9938 <tr>
9939 <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
9940 <td>(</td>
9941 <td class="paramtype">const char *&#160;</td>
9942 <td class="paramname"><em>function</em>, </td>
9943 </tr>
9944 <tr>
9945 <td class="paramkey"></td>
9946 <td></td>
9947 <td class="paramtype">const char *&#160;</td>
9948 <td class="paramname"><em>file</em>, </td>
9949 </tr>
9950 <tr>
9951 <td class="paramkey"></td>
9952 <td></td>
9953 <td class="paramtype">const int&#160;</td>
9954 <td class="paramname"><em>line</em>, </td>
9955 </tr>
9956 <tr>
9957 <td class="paramkey"></td>
9958 <td></td>
9959 <td class="paramtype">unsigned int&#160;</td>
9960 <td class="paramname"><em>upper_dim</em>, </td>
9961 </tr>
9962 <tr>
9963 <td class="paramkey"></td>
9964 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009965 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009966 <td class="paramname"><em>tensor_1</em>, </td>
9967 </tr>
9968 <tr>
9969 <td class="paramkey"></td>
9970 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009971 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009972 <td class="paramname"><em>tensor_2</em>, </td>
9973 </tr>
9974 <tr>
9975 <td class="paramkey"></td>
9976 <td></td>
9977 <td class="paramtype">Ts...&#160;</td>
9978 <td class="paramname"><em>tensors</em>&#160;</td>
9979 </tr>
9980 <tr>
9981 <td></td>
9982 <td>)</td>
9983 <td></td><td></td>
9984 </tr>
9985 </table>
9986</div><div class="memdoc">
9987
9988<p>Throw an error if the passed two tensors have different shapes from the given dimension. </p>
9989<dl class="params"><dt>Parameters</dt><dd>
9990 <table class="params">
9991 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9992 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9993 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9994 <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
9995 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
9996 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
9997 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9998 </table>
9999 </dd>
10000</dl>
10001
Kaizen8938bd32017-09-28 14:38:23 +010010002<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00241">241</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010003
Kaizen8938bd32017-09-28 14:38:23 +010010004<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>, and <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
10005<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;{</div>
10006<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
10007<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
10008<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
10009<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div>
10010<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 2 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_array{ { tensor_1, tensor_2, std::forward&lt;Ts&gt;(tensors)... } };</div>
10011<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
10012<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div>
10013<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensors_array.cbegin() == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
10014<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
10015<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(std::next(tensors_array.cbegin()), tensors_array.cend(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
10016<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
10017<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
10018<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_array.cbegin())-&gt;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>()-&gt;tensor_shape(), tensor-&gt;info()-&gt;tensor_shape(), upper_dim);</div>
10019<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }),</div>
10020<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different shapes&quot;</span>);</div>
10021<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
10022<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010023<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010010024<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 +010010025<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>
10026<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#l00134">Error.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010027</div><!-- fragment -->
10028</div>
10029</div>
10030<a class="anchor" id="a26a9847c05c48bd1470f22f898ee254d"></a>
10031<div class="memitem">
10032<div class="memproto">
10033 <table class="memname">
10034 <tr>
10035 <td class="memname">void arm_compute::error_on_mismatching_windows </td>
10036 <td>(</td>
10037 <td class="paramtype">const char *&#160;</td>
10038 <td class="paramname"><em>function</em>, </td>
10039 </tr>
10040 <tr>
10041 <td class="paramkey"></td>
10042 <td></td>
10043 <td class="paramtype">const char *&#160;</td>
10044 <td class="paramname"><em>file</em>, </td>
10045 </tr>
10046 <tr>
10047 <td class="paramkey"></td>
10048 <td></td>
10049 <td class="paramtype">const int&#160;</td>
10050 <td class="paramname"><em>line</em>, </td>
10051 </tr>
10052 <tr>
10053 <td class="paramkey"></td>
10054 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010055 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010056 <td class="paramname"><em>full</em>, </td>
10057 </tr>
10058 <tr>
10059 <td class="paramkey"></td>
10060 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010061 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010062 <td class="paramname"><em>win</em>&#160;</td>
10063 </tr>
10064 <tr>
10065 <td></td>
10066 <td>)</td>
10067 <td></td><td></td>
10068 </tr>
10069 </table>
10070</div><div class="memdoc">
10071
10072<p>Throw an error if the passed window is invalid. </p>
Kaizen8938bd32017-09-28 14:38:23 +010010073<p>The subwindow is invalid if:</p>
10074<ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000010075<li>It is not a valid window.</li>
10076<li>Its dimensions don't match the full window's ones</li>
10077<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
10078<dl class="params"><dt>Parameters</dt><dd>
10079 <table class="params">
10080 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10081 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10082 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10083 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
10084 <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>
10085 </table>
10086 </dd>
10087</dl>
10088</li>
10089</ul>
10090
10091</div>
10092</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010093<a class="anchor" id="a078507835115009a81ee2974d6073bb9"></a>
10094<div class="memitem">
10095<div class="memproto">
10096 <table class="memname">
10097 <tr>
10098 <td class="memname">void arm_compute::error_on_nullptr </td>
10099 <td>(</td>
10100 <td class="paramtype">const char *&#160;</td>
10101 <td class="paramname"><em>function</em>, </td>
10102 </tr>
10103 <tr>
10104 <td class="paramkey"></td>
10105 <td></td>
10106 <td class="paramtype">const char *&#160;</td>
10107 <td class="paramname"><em>file</em>, </td>
10108 </tr>
10109 <tr>
10110 <td class="paramkey"></td>
10111 <td></td>
10112 <td class="paramtype">const int&#160;</td>
10113 <td class="paramname"><em>line</em>, </td>
10114 </tr>
10115 <tr>
10116 <td class="paramkey"></td>
10117 <td></td>
10118 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10119 <td class="paramname"><em>pointers</em>&#160;</td>
10120 </tr>
10121 <tr>
10122 <td></td>
10123 <td>)</td>
10124 <td></td><td></td>
10125 </tr>
10126 </table>
10127</div><div class="memdoc">
10128
10129<p>Throw an error if one of the pointers is a nullptr. </p>
10130<dl class="params"><dt>Parameters</dt><dd>
10131 <table class="params">
10132 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10133 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10134 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10135 <tr><td class="paramdir">[in]</td><td class="paramname">pointers</td><td>Pointers to check against nullptr. </td></tr>
10136 </table>
10137 </dd>
10138</dl>
10139
10140<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
10141
Kaizen8938bd32017-09-28 14:38:23 +010010142<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
10143<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div>
10144<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">auto</span> is_nullptr = [&amp;](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div>
10145<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
10146<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(ptr == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
10147<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; };</div>
10148<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
10149<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a>(is_nullptr, std::forward&lt;Ts&gt;(pointers)...);</div>
10150<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;}</div>
10151<div class="ttc" id="namespacearm__compute_xhtml_a76e58198af8e930a851637e7e3eccbd2"><div class="ttname"><a href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">arm_compute::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="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">Helpers.h:208</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010152<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#l00134">Error.h:134</a></div></div>
10153</div><!-- fragment -->
10154</div>
10155</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010156<a class="anchor" id="a65c8e0610dff27ecf1ef30214f08d19e"></a>
10157<div class="memitem">
10158<div class="memproto">
10159 <table class="memname">
10160 <tr>
10161 <td class="memname">void arm_compute::error_on_tensor_not_2d </td>
10162 <td>(</td>
10163 <td class="paramtype">const char *&#160;</td>
10164 <td class="paramname"><em>function</em>, </td>
10165 </tr>
10166 <tr>
10167 <td class="paramkey"></td>
10168 <td></td>
10169 <td class="paramtype">const char *&#160;</td>
10170 <td class="paramname"><em>file</em>, </td>
10171 </tr>
10172 <tr>
10173 <td class="paramkey"></td>
10174 <td></td>
10175 <td class="paramtype">const int&#160;</td>
10176 <td class="paramname"><em>line</em>, </td>
10177 </tr>
10178 <tr>
10179 <td class="paramkey"></td>
10180 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010181 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010182 <td class="paramname"><em>tensor</em>&#160;</td>
10183 </tr>
10184 <tr>
10185 <td></td>
10186 <td>)</td>
10187 <td></td><td></td>
10188 </tr>
10189 </table>
10190</div><div class="memdoc">
10191
10192<p>Throw an error if the tensor is not 2D. </p>
10193<dl class="params"><dt>Parameters</dt><dd>
10194 <table class="params">
10195 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10196 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10197 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10198 <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>
10199 </table>
10200 </dd>
10201</dl>
10202
10203</div>
10204</div>
10205<a class="anchor" id="a21a4884cd1dbfa83351b8efa265f526a"></a>
10206<div class="memitem">
10207<div class="memproto">
10208 <table class="memname">
10209 <tr>
10210 <td class="memname">void arm_compute::error_on_unconfigured_kernel </td>
10211 <td>(</td>
10212 <td class="paramtype">const char *&#160;</td>
10213 <td class="paramname"><em>function</em>, </td>
10214 </tr>
10215 <tr>
10216 <td class="paramkey"></td>
10217 <td></td>
10218 <td class="paramtype">const char *&#160;</td>
10219 <td class="paramname"><em>file</em>, </td>
10220 </tr>
10221 <tr>
10222 <td class="paramkey"></td>
10223 <td></td>
10224 <td class="paramtype">const int&#160;</td>
10225 <td class="paramname"><em>line</em>, </td>
10226 </tr>
10227 <tr>
10228 <td class="paramkey"></td>
10229 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010230 <td class="paramtype">const IKernel *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010231 <td class="paramname"><em>kernel</em>&#160;</td>
10232 </tr>
10233 <tr>
10234 <td></td>
10235 <td>)</td>
10236 <td></td><td></td>
10237 </tr>
10238 </table>
10239</div><div class="memdoc">
10240
10241<p>Throw an error if the kernel is not configured. </p>
10242<dl class="params"><dt>Parameters</dt><dd>
10243 <table class="params">
10244 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10245 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10246 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10247 <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>
10248 </table>
10249 </dd>
10250</dl>
10251
10252</div>
10253</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010254<a class="anchor" id="a9afdaa4d8bbb78938110ada1daf87f8b"></a>
10255<div class="memitem">
10256<div class="memproto">
10257 <table class="memname">
10258 <tr>
10259 <td class="memname">void arm_compute::error_on_value_not_representable_in_fixed_point </td>
10260 <td>(</td>
10261 <td class="paramtype">const char *&#160;</td>
10262 <td class="paramname"><em>function</em>, </td>
10263 </tr>
10264 <tr>
10265 <td class="paramkey"></td>
10266 <td></td>
10267 <td class="paramtype">const char *&#160;</td>
10268 <td class="paramname"><em>file</em>, </td>
10269 </tr>
10270 <tr>
10271 <td class="paramkey"></td>
10272 <td></td>
10273 <td class="paramtype">int&#160;</td>
10274 <td class="paramname"><em>line</em>, </td>
10275 </tr>
10276 <tr>
10277 <td class="paramkey"></td>
10278 <td></td>
10279 <td class="paramtype">float&#160;</td>
10280 <td class="paramname"><em>value</em>, </td>
10281 </tr>
10282 <tr>
10283 <td class="paramkey"></td>
10284 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010285 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010286 <td class="paramname"><em>tensor</em>&#160;</td>
10287 </tr>
10288 <tr>
10289 <td></td>
10290 <td>)</td>
10291 <td></td><td></td>
10292 </tr>
10293 </table>
10294</div><div class="memdoc">
10295
10296<p>Throw an error if the fixed-point value is not representable in the specified Q format. </p>
10297<dl class="params"><dt>Parameters</dt><dd>
10298 <table class="params">
10299 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10300 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10301 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10302 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
10303 <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>
10304 </table>
10305 </dd>
10306</dl>
10307
Kaizen8938bd32017-09-28 14:38:23 +010010308<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00565">565</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010309
Kaizen8938bd32017-09-28 14:38:23 +010010310<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</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#l00161">element_size_from_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.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>.</p>
10311<div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;{</div>
10312<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> fixed_point_position = tensor-&gt;info()-&gt;fixed_point_position();</div>
10313<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt = tensor-&gt;info()-&gt;data_type();</div>
10314<div class="line"><a name="l00570"></a><span class="lineno"> 570</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>
10315<div class="line"><a name="l00571"></a><span class="lineno"> 571</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>
10316<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(max_range);</div>
10317<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div>
10318<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> &gt; max_range, <span class="keyword">function</span>, file, line,</div>
10319<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="stringliteral">&quot;Value %f is not representable in %s with fixed-point position %d&quot;</span>, <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(dt).c_str(), fixed_point_position);</div>
10320<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;}</div>
10321<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#l00116">Error.h:116</a></div></div>
10322<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#l00161">Utils.h:161</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010323<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
10324<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>
Kaizen8938bd32017-09-28 14:38:23 +010010325<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
10326<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#l00064">Types.h:64</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010327</div><!-- fragment -->
10328</div>
10329</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010330<a class="anchor" id="a6fed5543ae383442a51362e6607c4e65"></a>
10331<div class="memitem">
10332<div class="memproto">
10333 <table class="memname">
10334 <tr>
10335 <td class="memname">void arm_compute::error_on_window_dimensions_gte </td>
10336 <td>(</td>
10337 <td class="paramtype">const char *&#160;</td>
10338 <td class="paramname"><em>function</em>, </td>
10339 </tr>
10340 <tr>
10341 <td class="paramkey"></td>
10342 <td></td>
10343 <td class="paramtype">const char *&#160;</td>
10344 <td class="paramname"><em>file</em>, </td>
10345 </tr>
10346 <tr>
10347 <td class="paramkey"></td>
10348 <td></td>
10349 <td class="paramtype">const int&#160;</td>
10350 <td class="paramname"><em>line</em>, </td>
10351 </tr>
10352 <tr>
10353 <td class="paramkey"></td>
10354 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010355 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010356 <td class="paramname"><em>win</em>, </td>
10357 </tr>
10358 <tr>
10359 <td class="paramkey"></td>
10360 <td></td>
10361 <td class="paramtype">unsigned int&#160;</td>
10362 <td class="paramname"><em>max_dim</em>&#160;</td>
10363 </tr>
10364 <tr>
10365 <td></td>
10366 <td>)</td>
10367 <td></td><td></td>
10368 </tr>
10369 </table>
10370</div><div class="memdoc">
10371
10372<p>Throw an error if the passed window has too many dimensions. </p>
10373<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
10374<dl class="params"><dt>Parameters</dt><dd>
10375 <table class="params">
10376 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10377 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10378 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10379 <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>
10380 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
10381 </table>
10382 </dd>
10383</dl>
10384
10385</div>
10386</div>
Kaizen8938bd32017-09-28 14:38:23 +010010387<a class="anchor" id="ade618d7802413e82df0d9c1dbb049138"></a>
10388<div class="memitem">
10389<div class="memproto">
10390 <table class="memname">
10391 <tr>
10392 <td class="memname">void arm_compute::error_on_window_not_collapsable_at_dimension </td>
10393 <td>(</td>
10394 <td class="paramtype">const char *&#160;</td>
10395 <td class="paramname"><em>function</em>, </td>
10396 </tr>
10397 <tr>
10398 <td class="paramkey"></td>
10399 <td></td>
10400 <td class="paramtype">const char *&#160;</td>
10401 <td class="paramname"><em>file</em>, </td>
10402 </tr>
10403 <tr>
10404 <td class="paramkey"></td>
10405 <td></td>
10406 <td class="paramtype">const int&#160;</td>
10407 <td class="paramname"><em>line</em>, </td>
10408 </tr>
10409 <tr>
10410 <td class="paramkey"></td>
10411 <td></td>
10412 <td class="paramtype">const Window &amp;&#160;</td>
10413 <td class="paramname"><em>full</em>, </td>
10414 </tr>
10415 <tr>
10416 <td class="paramkey"></td>
10417 <td></td>
10418 <td class="paramtype">const Window &amp;&#160;</td>
10419 <td class="paramname"><em>window</em>, </td>
10420 </tr>
10421 <tr>
10422 <td class="paramkey"></td>
10423 <td></td>
10424 <td class="paramtype">const int&#160;</td>
10425 <td class="paramname"><em>dim</em>&#160;</td>
10426 </tr>
10427 <tr>
10428 <td></td>
10429 <td>)</td>
10430 <td></td><td></td>
10431 </tr>
10432 </table>
10433</div><div class="memdoc">
10434
10435<p>Throw an error if the window can't be collapsed at the given dimension. </p>
10436<p>The window cannot be collapsed if the given dimension not equal to the full window's dimension or not start from 0.</p>
10437<dl class="params"><dt>Parameters</dt><dd>
10438 <table class="params">
10439 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10440 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10441 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10442 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
10443 <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>
10444 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Dimension need to be checked. </td></tr>
10445 </table>
10446 </dd>
10447</dl>
10448
10449</div>
10450</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010451<a class="anchor" id="a6c0dcc38187027dcb89cd9724bc5a823"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010452<div class="memitem">
10453<div class="memproto">
10454<table class="mlabels">
10455 <tr>
10456 <td class="mlabels-left">
10457 <table class="memname">
10458 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010459 <td class="memname">void execute_window_loop </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010460 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010010461 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010462 <td class="paramname"><em>w</em>, </td>
10463 </tr>
10464 <tr>
10465 <td class="paramkey"></td>
10466 <td></td>
10467 <td class="paramtype">L &amp;&amp;&#160;</td>
10468 <td class="paramname"><em>lambda_function</em>, </td>
10469 </tr>
10470 <tr>
10471 <td class="paramkey"></td>
10472 <td></td>
10473 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10474 <td class="paramname"><em>iterators</em>&#160;</td>
10475 </tr>
10476 <tr>
10477 <td></td>
10478 <td>)</td>
10479 <td></td><td></td>
10480 </tr>
10481 </table>
10482 </td>
10483 <td class="mlabels-right">
10484<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10485 </tr>
10486</table>
10487</div><div class="memdoc">
10488
10489<p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
10490<p>It passes the x and y positions to the lambda_function for each iteration</p>
10491<dl class="params"><dt>Parameters</dt><dd>
10492 <table class="params">
10493 <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>
10494 <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>
10495 <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>
10496 </table>
10497 </dd>
10498</dl>
10499
Kaizen8938bd32017-09-28 14:38:23 +010010500<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00127">127</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010501
Kaizen8938bd32017-09-28 14:38:23 +010010502<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00252">id</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010503
Kaizen8938bd32017-09-28 14:38:23 +010010504<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00093">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00400">AssetsLibrary::fill()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00374">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00187">PPMLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00653">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00161">LeNet5Network&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00422">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">arm_compute::utils::load_trained_data()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00281">arm_compute::utils::save_to_ppm()</a>.</p>
10505<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div>
10506<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; w.validate();</div>
10507<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
10508<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; Coordinates <a class="code" href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a>;</div>
10509<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>
10510<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div>
10511<div class="ttc" id="hwc_8hpp_xhtml_abaabdc509cdaba7df9f56c6c76f3ae19"><div class="ttname"><a href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00252">hwc.hpp:252</a></div></div>
10512</div><!-- fragment -->
10513</div>
10514</div>
10515<a class="anchor" id="a9cd394c15b73f79ca1d98f5328064be2"></a>
10516<div class="memitem">
10517<div class="memproto">
10518<table class="mlabels">
10519 <tr>
10520 <td class="mlabels-left">
10521 <table class="memname">
10522 <tr>
10523 <td class="memname">std::string arm_compute::float_to_string_with_full_precision </td>
10524 <td>(</td>
10525 <td class="paramtype">float&#160;</td>
10526 <td class="paramname"><em>val</em></td><td>)</td>
10527 <td></td>
10528 </tr>
10529 </table>
10530 </td>
10531 <td class="mlabels-right">
10532<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10533 </tr>
10534</table>
10535</div><div class="memdoc">
10536
10537<p>Create a string with the float in full precision. </p>
10538<dl class="params"><dt>Parameters</dt><dd>
10539 <table class="params">
10540 <tr><td class="paramname">val</td><td>Floating point value</td></tr>
10541 </table>
10542 </dd>
10543</dl>
10544<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
10545
10546<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00670">670</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
10547<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;{</div>
10548<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; std::stringstream ss;</div>
10549<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div>
10550<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; ss &lt;&lt; val;</div>
10551<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
10552<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;}</div>
10553</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000010554</div>
10555</div>
10556<a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
10557<div class="memitem">
10558<div class="memproto">
10559<table class="mlabels">
10560 <tr>
10561 <td class="mlabels-left">
10562 <table class="memname">
10563 <tr>
10564 <td class="memname">auto arm_compute::floor_to_multiple </td>
10565 <td>(</td>
10566 <td class="paramtype">S&#160;</td>
10567 <td class="paramname"><em>value</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>divisor</em>&#160;</td>
10574 </tr>
10575 <tr>
10576 <td></td>
10577 <td>)</td>
Kaizen8938bd32017-09-28 14:38:23 +010010578 <td></td><td> -&gt; decltype((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +000010579</td>
10580 </tr>
10581 </table>
10582 </td>
10583 <td class="mlabels-right">
10584<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10585 </tr>
10586</table>
10587</div><div class="memdoc">
10588
10589<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
10590
Anthony Barbierdbdab852017-06-23 15:42:00 +010010591<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 Barbier871448e2017-03-24 14:54:29 +000010592
Kaizen8938bd32017-09-28 14:38:23 +010010593<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
10594<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
10595<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> &lt; 0 || divisor &lt;= 0);</div>
10596<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / divisor) * divisor;</div>
10597<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
10598<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#l00124">Error.h:124</a></div></div>
10599<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010600</div><!-- fragment -->
10601</div>
10602</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010603<a class="anchor" id="a6905c41fd996c479e46791ef58e440aa"></a>
10604<div class="memitem">
10605<div class="memproto">
10606<table class="mlabels">
10607 <tr>
10608 <td class="mlabels-left">
10609 <table class="memname">
10610 <tr>
10611 <td class="memname">T arm_compute::foldl </td>
10612 <td>(</td>
10613 <td class="paramtype">F &amp;&amp;&#160;</td>
10614 <td class="paramname">, </td>
10615 </tr>
10616 <tr>
10617 <td class="paramkey"></td>
10618 <td></td>
10619 <td class="paramtype">const T &amp;&#160;</td>
10620 <td class="paramname"><em>value</em>&#160;</td>
10621 </tr>
10622 <tr>
10623 <td></td>
10624 <td>)</td>
10625 <td></td><td></td>
10626 </tr>
10627 </table>
10628 </td>
10629 <td class="mlabels-right">
10630<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10631 </tr>
10632</table>
10633</div><div class="memdoc">
10634
10635<p>Base case of foldl. </p>
10636<dl class="section return"><dt>Returns</dt><dd>value. </dd></dl>
10637
Kaizen8938bd32017-09-28 14:38:23 +010010638<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">230</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 +010010639
Kaizen8938bd32017-09-28 14:38:23 +010010640<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
10641
10642<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">foldl()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00403">intersect_valid_regions()</a>.</p>
10643<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;{</div>
10644<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
10645<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;}</div>
10646<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
10647</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010010648</div>
10649</div>
10650<a class="anchor" id="a7f8e5c5fc77465cf3ac58b3d15305a5f"></a>
10651<div class="memitem">
10652<div class="memproto">
10653<table class="mlabels">
10654 <tr>
10655 <td class="mlabels-left">
10656 <table class="memname">
10657 <tr>
10658 <td class="memname">auto arm_compute::foldl </td>
10659 <td>(</td>
10660 <td class="paramtype">F &amp;&amp;&#160;</td>
10661 <td class="paramname"><em>func</em>, </td>
10662 </tr>
10663 <tr>
10664 <td class="paramkey"></td>
10665 <td></td>
10666 <td class="paramtype">T &amp;&amp;&#160;</td>
10667 <td class="paramname"><em>value1</em>, </td>
10668 </tr>
10669 <tr>
10670 <td class="paramkey"></td>
10671 <td></td>
10672 <td class="paramtype">U &amp;&amp;&#160;</td>
10673 <td class="paramname"><em>value2</em>&#160;</td>
10674 </tr>
10675 <tr>
10676 <td></td>
10677 <td>)</td>
10678 <td></td><td> -&gt; decltype(func(value1, value2))
10679</td>
10680 </tr>
10681 </table>
10682 </td>
10683 <td class="mlabels-right">
10684<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10685 </tr>
10686</table>
10687</div><div class="memdoc">
10688
10689<p>Base case of foldl. </p>
10690<dl class="section return"><dt>Returns</dt><dd>Function evaluation for value1 and value2 </dd></dl>
10691
Kaizen8938bd32017-09-28 14:38:23 +010010692<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00240">240</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
10693<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;{</div>
10694<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> func(value1, value2);</div>
10695<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
10696</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010010697</div>
10698</div>
10699<a class="anchor" id="a05d0de315da2ecf1fa7d22ffad49b254"></a>
10700<div class="memitem">
10701<div class="memproto">
10702<table class="mlabels">
10703 <tr>
10704 <td class="mlabels-left">
10705 <table class="memname">
10706 <tr>
10707 <td class="memname">I arm_compute::foldl </td>
10708 <td>(</td>
10709 <td class="paramtype">F &amp;&amp;&#160;</td>
10710 <td class="paramname"><em>func</em>, </td>
10711 </tr>
10712 <tr>
10713 <td class="paramkey"></td>
10714 <td></td>
10715 <td class="paramtype">I &amp;&amp;&#160;</td>
10716 <td class="paramname"><em>initial</em>, </td>
10717 </tr>
10718 <tr>
10719 <td class="paramkey"></td>
10720 <td></td>
10721 <td class="paramtype">T &amp;&amp;&#160;</td>
10722 <td class="paramname"><em>value</em>, </td>
10723 </tr>
10724 <tr>
10725 <td class="paramkey"></td>
10726 <td></td>
10727 <td class="paramtype">Vs &amp;&amp;...&#160;</td>
10728 <td class="paramname"><em>values</em>&#160;</td>
10729 </tr>
10730 <tr>
10731 <td></td>
10732 <td>)</td>
10733 <td></td><td></td>
10734 </tr>
10735 </table>
10736 </td>
10737 <td class="mlabels-right">
10738<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10739 </tr>
10740</table>
10741</div><div class="memdoc">
10742
10743<p>Fold left. </p>
10744<dl class="params"><dt>Parameters</dt><dd>
10745 <table class="params">
10746 <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Function to be called </td></tr>
10747 <tr><td class="paramdir">[in]</td><td class="paramname">initial</td><td>Initial value </td></tr>
10748 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Argument passed to the function </td></tr>
10749 <tr><td class="paramdir">[in]</td><td class="paramname">values</td><td>Remaining arguments </td></tr>
10750 </table>
10751 </dd>
10752</dl>
10753
Kaizen8938bd32017-09-28 14:38:23 +010010754<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">253</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 +010010755
Kaizen8938bd32017-09-28 14:38:23 +010010756<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">foldl()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
10757<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;{</div>
10758<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(std::forward&lt;F&gt;(func), func(std::forward&lt;I&gt;(initial), std::forward&lt;T&gt;(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)), std::forward&lt;Vs&gt;(values)...);</div>
10759<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;}</div>
10760<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
10761<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &amp;&amp;func, I &amp;&amp;initial, T &amp;&amp;value, Vs &amp;&amp;...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">Helpers.h:253</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010762</div><!-- fragment -->
10763</div>
10764</div>
10765<a class="anchor" id="a76e58198af8e930a851637e7e3eccbd2"></a>
10766<div class="memitem">
10767<div class="memproto">
10768<table class="mlabels">
10769 <tr>
10770 <td class="mlabels-left">
10771 <table class="memname">
10772 <tr>
10773 <td class="memname">void arm_compute::for_each </td>
10774 <td>(</td>
10775 <td class="paramtype">F &amp;&amp;&#160;</td>
10776 <td class="paramname"></td><td>)</td>
10777 <td></td>
10778 </tr>
10779 </table>
10780 </td>
10781 <td class="mlabels-right">
10782<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10783 </tr>
10784</table>
10785</div><div class="memdoc">
10786
10787<p>Base case of for_each. </p>
10788<p>Does nothing. </p>
10789
Kaizen8938bd32017-09-28 14:38:23 +010010790<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">208</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 +010010791
Kaizen8938bd32017-09-28 14:38:23 +010010792<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00203">error_on_mismatching_dimensions()</a>, <a class="el" href="_validate_8h_source.xhtml#l00105">error_on_nullptr()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">for_each()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00343">update_window_and_padding()</a>.</p>
10793<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div>
10794<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
10795</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010010796</div>
10797</div>
10798<a class="anchor" id="ab951ff3c9484cd4b243344b3a0f12d95"></a>
10799<div class="memitem">
10800<div class="memproto">
10801<table class="mlabels">
10802 <tr>
10803 <td class="mlabels-left">
10804 <table class="memname">
10805 <tr>
10806 <td class="memname">void arm_compute::for_each </td>
10807 <td>(</td>
10808 <td class="paramtype">F &amp;&amp;&#160;</td>
10809 <td class="paramname"><em>func</em>, </td>
10810 </tr>
10811 <tr>
10812 <td class="paramkey"></td>
10813 <td></td>
10814 <td class="paramtype">T &amp;&amp;&#160;</td>
10815 <td class="paramname"><em>arg</em>, </td>
10816 </tr>
10817 <tr>
10818 <td class="paramkey"></td>
10819 <td></td>
10820 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10821 <td class="paramname"><em>args</em>&#160;</td>
10822 </tr>
10823 <tr>
10824 <td></td>
10825 <td>)</td>
10826 <td></td><td></td>
10827 </tr>
10828 </table>
10829 </td>
10830 <td class="mlabels-right">
10831<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10832 </tr>
10833</table>
10834</div><div class="memdoc">
10835
10836<p>Call the function for each of the arguments. </p>
10837<dl class="params"><dt>Parameters</dt><dd>
10838 <table class="params">
10839 <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Function to be called </td></tr>
10840 <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Argument passed to the function </td></tr>
10841 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Remaining arguments </td></tr>
10842 </table>
10843 </dd>
10844</dl>
10845
Kaizen8938bd32017-09-28 14:38:23 +010010846<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">219</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 +010010847
Kaizen8938bd32017-09-28 14:38:23 +010010848<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
10849<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;{</div>
10850<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; func(arg);</div>
10851<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>(func, <a class="code" href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">args</a>...);</div>
10852<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
10853<div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">Helpers.h:219</a></div></div>
10854<div class="ttc" id="namespacecaffe__data__extractor_xhtml_aad3cdfd6574de97bf37448087aaff11d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">caffe_data_extractor.args</a></div><div class="ttdeci">tuple args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010855</div><!-- fragment -->
10856</div>
10857</div>
10858<a class="anchor" id="a4a351d5c39dec88af98a671da1c43fd6"></a>
10859<div class="memitem">
10860<div class="memproto">
10861 <table class="memname">
10862 <tr>
10863 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_arch_from_target </td>
10864 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010010865 <td class="paramtype">GPUTarget&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010866 <td class="paramname"><em>target</em></td><td>)</td>
10867 <td></td>
10868 </tr>
10869 </table>
10870</div><div class="memdoc">
10871
10872<p>Helper function to get the GPU arch. </p>
10873<dl class="params"><dt>Parameters</dt><dd>
10874 <table class="params">
10875 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>GPU target</td></tr>
10876 </table>
10877 </dd>
10878</dl>
10879<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
10880
Anthony Barbierdbdab852017-06-23 15:42:00 +010010881</div>
10882</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010883<a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
10884<div class="memitem">
10885<div class="memproto">
10886 <table class="memname">
10887 <tr>
10888 <td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
10889 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010010890 <td class="paramtype">const DataType &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010891 <td class="paramname"><em>dt</em></td><td>)</td>
10892 <td></td>
10893 </tr>
10894 </table>
10895</div><div class="memdoc">
10896
10897<p>Translates a tensor data type to the appropriate OpenCL type. </p>
10898<dl class="params"><dt>Parameters</dt><dd>
10899 <table class="params">
10900 <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>
10901 </table>
10902 </dd>
10903</dl>
10904<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
10905
10906</div>
10907</div>
Kaizen8938bd32017-09-28 14:38:23 +010010908<a class="anchor" id="a54c9b94a266f8065b64f001c47815b68"></a>
10909<div class="memitem">
10910<div class="memproto">
10911 <table class="memname">
10912 <tr>
10913 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> arm_compute::get_cl_version </td>
10914 <td>(</td>
10915 <td class="paramtype">const cl::Device &amp;&#160;</td>
10916 <td class="paramname"><em>device</em></td><td>)</td>
10917 <td></td>
10918 </tr>
10919 </table>
10920</div><div class="memdoc">
10921
10922<p>Helper function to get the highest OpenCL version supported. </p>
10923<dl class="params"><dt>Parameters</dt><dd>
10924 <table class="params">
10925 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
10926 </table>
10927 </dd>
10928</dl>
10929<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
10930
10931</div>
10932</div>
10933<a class="anchor" id="ae5f4dd9f672832f7dce02fc14487f544"></a>
10934<div class="memitem">
10935<div class="memproto">
10936 <table class="memname">
10937 <tr>
10938 <td class="memname">std::string arm_compute::get_data_size_from_data_type </td>
10939 <td>(</td>
10940 <td class="paramtype">const DataType &amp;&#160;</td>
10941 <td class="paramname"><em>dt</em></td><td>)</td>
10942 <td></td>
10943 </tr>
10944 </table>
10945</div><div class="memdoc">
10946
10947<p>Get the size of a data type in number of bits. </p>
10948<dl class="params"><dt>Parameters</dt><dd>
10949 <table class="params">
10950 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>.</td></tr>
10951 </table>
10952 </dd>
10953</dl>
10954<dl class="section return"><dt>Returns</dt><dd>Number of bits in the data type specified. </dd></dl>
10955
10956</div>
10957</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010958<a class="anchor" id="a9d0143bdde8255313aae6ac020dd629c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010959<div class="memitem">
10960<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000010961 <table class="memname">
10962 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010963 <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 +000010964 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010965 <td class="paramtype">cl::Device &amp;&#160;</td>
10966 <td class="paramname"><em>device</em></td><td>)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010967 <td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010968 </tr>
10969 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000010970</div><div class="memdoc">
10971
Anthony Barbierdbdab852017-06-23 15:42:00 +010010972<p>Helper function to get the GPU target from CL device. </p>
10973<dl class="params"><dt>Parameters</dt><dd>
10974 <table class="params">
10975 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
10976 </table>
10977 </dd>
10978</dl>
10979<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010980
Kaizen8938bd32017-09-28 14:38:23 +010010981<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00081">CLScheduler::init()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010982
Anthony Barbier871448e2017-03-24 14:54:29 +000010983</div>
10984</div>
Kaizen8938bd32017-09-28 14:38:23 +010010985<a class="anchor" id="afc95473636a442507fda7ad48f3414c0"></a>
10986<div class="memitem">
10987<div class="memproto">
10988 <table class="memname">
10989 <tr>
10990 <td class="memname">std::string arm_compute::get_underlying_cl_type_from_data_type </td>
10991 <td>(</td>
10992 <td class="paramtype">const DataType &amp;&#160;</td>
10993 <td class="paramname"><em>dt</em></td><td>)</td>
10994 <td></td>
10995 </tr>
10996 </table>
10997</div><div class="memdoc">
10998
10999<p>Translates fixed point tensor data type to the underlying OpenCL type. </p>
11000<dl class="params"><dt>Parameters</dt><dd>
11001 <table class="params">
11002 <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>
11003 </table>
11004 </dd>
11005</dl>
11006<dl class="section return"><dt>Returns</dt><dd>The string specifying the underlying OpenCL type to be used. </dd></dl>
11007
11008</div>
11009</div>
11010<a class="anchor" id="ad34f2150f1c9f8a3ecb7298162124e5d"></a>
11011<div class="memitem">
11012<div class="memproto">
11013<table class="mlabels">
11014 <tr>
11015 <td class="mlabels-left">
11016 <table class="memname">
11017 <tr>
11018 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> index2coords </td>
11019 <td>(</td>
11020 <td class="paramtype">const TensorShape &amp;&#160;</td>
11021 <td class="paramname"><em>shape</em>, </td>
11022 </tr>
11023 <tr>
11024 <td class="paramkey"></td>
11025 <td></td>
11026 <td class="paramtype">int&#160;</td>
11027 <td class="paramname"><em>index</em>&#160;</td>
11028 </tr>
11029 <tr>
11030 <td></td>
11031 <td>)</td>
11032 <td></td><td></td>
11033 </tr>
11034 </table>
11035 </td>
11036 <td class="mlabels-right">
11037<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11038 </tr>
11039</table>
11040</div><div class="memdoc">
11041
11042<p>Convert a linear index into n-dimensional coordinates. </p>
11043<dl class="params"><dt>Parameters</dt><dd>
11044 <table class="params">
11045 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
11046 <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Linear index specifying the i-th element.</td></tr>
11047 </table>
11048 </dd>
11049</dl>
11050<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
11051
11052<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00288">288</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
11053
11054<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
11055<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;{</div>
11056<div class="line"><a name="l00290"></a><span class="lineno"> 290</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>
11057<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div>
11058<div class="line"><a name="l00292"></a><span class="lineno"> 292</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>
11059<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create coordinate from empty shape!&quot;</span>);</div>
11060<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div>
11061<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; Coordinates coord{ 0 };</div>
11062<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
11063<div class="line"><a name="l00297"></a><span class="lineno"> 297</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>
11064<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
11065<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div>
11066<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; coord.set(d, index / num_elements);</div>
11067<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; index %= num_elements;</div>
11068<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
11069<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div>
11070<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> coord;</div>
11071<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;}</div>
11072<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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
11073<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#l00115">Error.h:115</a></div></div>
11074</div><!-- fragment -->
11075</div>
11076</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011077<a class="anchor" id="a3bb1b3d01f14dbc0beb1e826eefeddc6"></a>
11078<div class="memitem">
11079<div class="memproto">
11080 <table class="memname">
11081 <tr>
11082 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
11083 <td>(</td>
11084 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11085 <td class="paramname"><em>regions</em></td><td>)</td>
11086 <td></td>
11087 </tr>
11088 </table>
11089</div><div class="memdoc">
11090
11091<p>Intersect multiple valid regions. </p>
11092<dl class="params"><dt>Parameters</dt><dd>
11093 <table class="params">
11094 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
11095 </table>
11096 </dd>
11097</dl>
11098<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
11099
Kaizen8938bd32017-09-28 14:38:23 +010011100<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00403">403</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 +000011101
Kaizen8938bd32017-09-28 14:38:23 +010011102<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">foldl()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">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#l00074">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00124">ValidRegion::shape</a>.</p>
11103<div class="fragment"><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;{</div>
11104<div class="line"><a name="l00405"></a><span class="lineno"> 405</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>
11105<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div>
11106<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; ValidRegion region;</div>
11107<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div>
11108<div class="line"><a name="l00409"></a><span class="lineno"> 409</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>
11109<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
11110<div class="line"><a name="l00411"></a><span class="lineno"> 411</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>
11111<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div>
11112<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;</div>
11113<div class="line"><a name="l00414"></a><span class="lineno"> 414</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>
11114<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div>
11115<div class="line"><a name="l00416"></a><span class="lineno"> 416</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>
11116<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
11117<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
11118<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> region;</div>
11119<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; };</div>
11120<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
11121<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(intersect, std::forward&lt;Ts&gt;(regions)...);</div>
11122<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;}</div>
11123<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#l00884">FixedPoint.h:884</a></div></div>
11124<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &amp;&amp;func, I &amp;&amp;initial, T &amp;&amp;value, Vs &amp;&amp;...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">Helpers.h:253</a></div></div>
11125<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#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011126</div><!-- fragment -->
11127</div>
11128</div>
11129<a class="anchor" id="ab6bb62694ae8369d18a9c9687040975e"></a>
11130<div class="memitem">
11131<div class="memproto">
11132<table class="mlabels">
11133 <tr>
11134 <td class="mlabels-left">
11135 <table class="memname">
11136 <tr>
11137 <td class="memname">bool arm_compute::is_data_type_fixed_point </td>
11138 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011139 <td class="paramtype">DataType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011140 <td class="paramname"><em>dt</em></td><td>)</td>
11141 <td></td>
11142 </tr>
11143 </table>
11144 </td>
11145 <td class="mlabels-right">
11146<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11147 </tr>
11148</table>
11149</div><div class="memdoc">
11150
11151<p>Check if a given data type is of fixed point type. </p>
11152<dl class="params"><dt>Parameters</dt><dd>
11153 <table class="params">
11154 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
11155 </table>
11156 </dd>
11157</dl>
11158<dl class="section return"><dt>Returns</dt><dd>True if data type is of fixed point type, else false. </dd></dl>
11159
Kaizen8938bd32017-09-28 14:38:23 +010011160<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011161
Kaizen8938bd32017-09-28 14:38:23 +010011162<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>
11163
11164<p>Referenced by <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_flatten_layer_fixture_8h_source.xhtml#l00051">FlattenLayerValidationFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>.</p>
11165<div class="fragment"><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;{</div>
11166<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">switch</span>(dt)</div>
11167<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; {</div>
11168<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
11169<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
11170<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div>
11171<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
11172<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">default</span>:</div>
11173<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
11174<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; }</div>
11175<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;}</div>
11176</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011177</div>
11178</div>
11179<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
11180<div class="memitem">
11181<div class="memproto">
11182<table class="mlabels">
11183 <tr>
11184 <td class="mlabels-left">
11185 <table class="memname">
11186 <tr>
11187 <td class="memname">bool arm_compute::is_data_type_float </td>
11188 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011189 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011190 <td class="paramname"><em>dt</em></td><td>)</td>
11191 <td></td>
11192 </tr>
11193 </table>
11194 </td>
11195 <td class="mlabels-right">
11196<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11197 </tr>
11198</table>
11199</div><div class="memdoc">
11200
Anthony Barbierdbdab852017-06-23 15:42:00 +010011201<p>Check if a given data type is of floating point type. </p>
11202<dl class="params"><dt>Parameters</dt><dd>
11203 <table class="params">
11204 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
11205 </table>
11206 </dd>
11207</dl>
11208<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
11209
Kaizen8938bd32017-09-28 14:38:23 +010011210<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00633">633</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 +000011211
11212<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010011213<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div>
11214<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">switch</span>(dt)</div>
11215<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div>
11216<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
11217<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
11218<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
11219<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">default</span>:</div>
11220<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
11221<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; }</div>
11222<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;}</div>
11223</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011224</div>
11225</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011226<a class="anchor" id="a532fb45c0261724a4c2e755cfd3a44e6"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011227<div class="memitem">
11228<div class="memproto">
11229 <table class="memname">
11230 <tr>
11231 <td class="memname">std::string arm_compute::lower_string </td>
11232 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011233 <td class="paramtype">const std::string &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011234 <td class="paramname"><em>val</em></td><td>)</td>
11235 <td></td>
11236 </tr>
11237 </table>
11238</div><div class="memdoc">
11239
11240<p>Lower a given string. </p>
11241<dl class="params"><dt>Parameters</dt><dd>
11242 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011243 <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 +000011244 </table>
11245 </dd>
11246</dl>
11247<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
11248
Anthony Barbier871448e2017-03-24 14:54:29 +000011249</div>
11250</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010011251<a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
11252<div class="memitem">
11253<div class="memproto">
11254 <table class="memname">
11255 <tr>
11256 <td class="memname">int arm_compute::max_consecutive_elements_display_width </td>
11257 <td>(</td>
11258 <td class="paramtype">std::ostream &amp;&#160;</td>
11259 <td class="paramname"><em>s</em>, </td>
11260 </tr>
11261 <tr>
11262 <td class="paramkey"></td>
11263 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011264 <td class="paramtype">DataType&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010011265 <td class="paramname"><em>dt</em>, </td>
11266 </tr>
11267 <tr>
11268 <td class="paramkey"></td>
11269 <td></td>
11270 <td class="paramtype">const uint8_t *&#160;</td>
11271 <td class="paramname"><em>ptr</em>, </td>
11272 </tr>
11273 <tr>
11274 <td class="paramkey"></td>
11275 <td></td>
11276 <td class="paramtype">unsigned int&#160;</td>
11277 <td class="paramname"><em>n</em>&#160;</td>
11278 </tr>
11279 <tr>
11280 <td></td>
11281 <td>)</td>
11282 <td></td><td></td>
11283 </tr>
11284 </table>
11285</div><div class="memdoc">
11286
11287<p>Identify the maximum width of n consecutive elements. </p>
11288<dl class="params"><dt>Parameters</dt><dd>
11289 <table class="params">
11290 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
11291 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
11292 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
11293 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
11294 </table>
11295 </dd>
11296</dl>
11297<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
11298
Anthony Barbiera4376382017-04-12 15:12:46 +010011299</div>
11300</div>
11301<a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
11302<div class="memitem">
11303<div class="memproto">
11304 <table class="memname">
11305 <tr>
11306 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
11307 <td>(</td>
11308 <td class="paramtype">std::ostream &amp;&#160;</td>
11309 <td class="paramname"><em>s</em>, </td>
11310 </tr>
11311 <tr>
11312 <td class="paramkey"></td>
11313 <td></td>
11314 <td class="paramtype">const T *&#160;</td>
11315 <td class="paramname"><em>ptr</em>, </td>
11316 </tr>
11317 <tr>
11318 <td class="paramkey"></td>
11319 <td></td>
11320 <td class="paramtype">unsigned int&#160;</td>
11321 <td class="paramname"><em>n</em>&#160;</td>
11322 </tr>
11323 <tr>
11324 <td></td>
11325 <td>)</td>
11326 <td></td><td></td>
11327 </tr>
11328 </table>
11329</div><div class="memdoc">
11330
11331<p>Identify the maximum width of n consecutive elements. </p>
11332<dl class="params"><dt>Parameters</dt><dd>
11333 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011334 <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>
11335 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
11336 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements.</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +010011337 </table>
11338 </dd>
11339</dl>
11340<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
11341
Kaizen8938bd32017-09-28 14:38:23 +010011342<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00711">711</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 +010011343
Kaizen8938bd32017-09-28 14:38:23 +010011344<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
11345<div class="fragment"><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;{</div>
11346<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional&lt;std::is_floating_point&lt;T&gt;::value</a>, T, <span class="keywordtype">int</span>&gt;<a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">::type</a>;</div>
11347<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div>
11348<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordtype">int</span> max_width = -1;</div>
11349<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div>
11350<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; {</div>
11351<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; std::stringstream ss;</div>
11352<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; ss.copyfmt(s);</div>
11353<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div>
11354<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div>
11355<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
11356<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">return</span> max_width;</div>
11357<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;}</div>
11358<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
11359<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
11360</div><!-- fragment -->
11361</div>
11362</div>
11363<a class="anchor" id="aa2499c7ccf5b1636360a9ac6cc52a67b"></a>
11364<div class="memitem">
11365<div class="memproto">
11366 <table class="memname">
11367 <tr>
11368 <td class="memname">bool arm_compute::non_uniform_workgroup_support </td>
11369 <td>(</td>
11370 <td class="paramtype">const cl::Device &amp;&#160;</td>
11371 <td class="paramname"><em>device</em></td><td>)</td>
11372 <td></td>
11373 </tr>
11374 </table>
11375</div><div class="memdoc">
11376
11377<p>Helper function to check whether the arm_non_uniform_work_group_size extension is supported. </p>
11378<dl class="params"><dt>Parameters</dt><dd>
11379 <table class="params">
11380 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
11381 </table>
11382 </dd>
11383</dl>
11384<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
11385
Anthony Barbiera4376382017-04-12 15:12:46 +010011386</div>
11387</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011388<a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
11389<div class="memitem">
11390<div class="memproto">
11391<table class="mlabels">
11392 <tr>
11393 <td class="mlabels-left">
11394 <table class="memname">
11395 <tr>
11396 <td class="memname">size_t arm_compute::num_channels_from_format </td>
11397 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011398 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011399 <td class="paramname"><em>format</em></td><td>)</td>
11400 <td></td>
11401 </tr>
11402 </table>
11403 </td>
11404 <td class="mlabels-right">
11405<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11406 </tr>
11407</table>
11408</div><div class="memdoc">
11409
11410<p>Return the number of channels for a given single-planar pixel format. </p>
11411<dl class="params"><dt>Parameters</dt><dd>
11412 <table class="params">
11413 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
11414 </table>
11415 </dd>
11416</dl>
11417<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
11418
Kaizen8938bd32017-09-28 14:38:23 +010011419<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00313">313</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011420
11421<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>
Kaizen8938bd32017-09-28 14:38:23 +010011422<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;{</div>
11423<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">switch</span>(format)</div>
11424<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; {</div>
11425<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
11426<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
11427<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
11428<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
11429<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
11430<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
11431<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
11432<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> 1;</div>
11433<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// Because the U and V channels are subsampled</span></div>
11434<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="comment">// these formats appear like having only 2 channels:</span></div>
11435<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
11436<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
11437<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">return</span> 2;</div>
11438<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
11439<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> 2;</div>
11440<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
11441<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> 3;</div>
11442<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
11443<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> 4;</div>
11444<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div>
11445<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
11446<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
11447<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
11448<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
11449<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">default</span>:</div>
11450<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> 0;</div>
11451<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div>
11452<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;}</div>
11453</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011454</div>
11455</div>
11456<a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
11457<div class="memitem">
11458<div class="memproto">
11459<table class="mlabels">
11460 <tr>
11461 <td class="mlabels-left">
11462 <table class="memname">
11463 <tr>
11464 <td class="memname">size_t arm_compute::num_planes_from_format </td>
11465 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011466 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011467 <td class="paramname"><em>format</em></td><td>)</td>
11468 <td></td>
11469 </tr>
11470 </table>
11471 </td>
11472 <td class="mlabels-right">
11473<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11474 </tr>
11475</table>
11476</div><div class="memdoc">
11477
11478<p>Return the number of planes for a given format. </p>
11479<dl class="params"><dt>Parameters</dt><dd>
11480 <table class="params">
11481 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
11482 </table>
11483 </dd>
11484</dl>
11485<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
11486
Kaizen8938bd32017-09-28 14:38:23 +010011487<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00279">279</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 +000011488
11489<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010011490<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div>
11491<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">switch</span>(format)</div>
11492<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
11493<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
11494<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
11495<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
11496<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
11497<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
11498<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
11499<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
11500<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
11501<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
11502<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
11503<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
11504<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> 1;</div>
11505<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
11506<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
11507<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> 2;</div>
11508<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
11509<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
11510<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> 3;</div>
11511<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">default</span>:</div>
11512<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div>
11513<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> 0;</div>
11514<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
11515<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;}</div>
11516<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011517</div><!-- fragment -->
11518</div>
11519</div>
Anthony Barbier46d59272017-05-04 09:15:15 +010011520<a class="anchor" id="aa4f4d7a58287017588fc338965873f14"></a>
11521<div class="memitem">
11522<div class="memproto">
11523 <table class="memname">
11524 <tr>
11525 <td class="memname">bool arm_compute::opencl_is_available </td>
11526 <td>(</td>
11527 <td class="paramname"></td><td>)</td>
11528 <td></td>
11529 </tr>
11530 </table>
11531</div><div class="memdoc">
11532
Kaizen8938bd32017-09-28 14:38:23 +010011533<p>Referenced by <a class="el" href="graph__lenet_8cpp_source.xhtml#l00069">main_graph_lenet()</a>.</p>
11534
Anthony Barbier46d59272017-05-04 09:15:15 +010011535</div>
11536</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011537<a class="anchor" id="adfe7525e3cd542da6c043a98f93a8d3c"></a>
11538<div class="memitem">
11539<div class="memproto">
11540 <table class="memname">
11541 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010011542 <td class="memname">std::enable_if&lt;<a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a>&lt;T&gt;::<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T&gt;::type arm_compute::operator&amp; </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011543 <td>(</td>
11544 <td class="paramtype">T&#160;</td>
11545 <td class="paramname"><em>lhs</em>, </td>
11546 </tr>
11547 <tr>
11548 <td class="paramkey"></td>
11549 <td></td>
11550 <td class="paramtype">T&#160;</td>
11551 <td class="paramname"><em>rhs</em>&#160;</td>
11552 </tr>
11553 <tr>
11554 <td></td>
11555 <td>)</td>
11556 <td></td><td></td>
11557 </tr>
11558 </table>
11559</div><div class="memdoc">
11560
Kaizen8938bd32017-09-28 14:38:23 +010011561<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00058">58</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
11562
11563<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
11564<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
11565<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">using</span> underlying_type = <span class="keyword">typename</span> <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">std::underlying_type&lt;T&gt;::type</a>;</div>
11566<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span>underlying_type<span class="keyword">&gt;</span>(lhs) &amp; static_cast&lt;underlying_type&gt;(rhs));</div>
11567<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
11568<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
11569</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010011570</div>
11571</div>
11572<a class="anchor" id="a18d43401e8f84ed020429b41ec4e99f5"></a>
11573<div class="memitem">
11574<div class="memproto">
11575 <table class="memname">
11576 <tr>
11577 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11578 <td>(</td>
11579 <td class="paramtype">::std::ostream &amp;&#160;</td>
11580 <td class="paramname"><em>os</em>, </td>
11581 </tr>
11582 <tr>
11583 <td class="paramkey"></td>
11584 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011585 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011586 <td class="paramname"><em>dimensions</em>&#160;</td>
11587 </tr>
11588 <tr>
11589 <td></td>
11590 <td>)</td>
11591 <td></td><td></td>
11592 </tr>
11593 </table>
11594</div><div class="memdoc">
11595
11596<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
11597
Kaizen8938bd32017-09-28 14:38:23 +010011598<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11599<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div>
11600<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">if</span>(dimensions.num_dimensions() &gt; 0)</div>
11601<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div>
11602<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; os &lt;&lt; dimensions[0];</div>
11603<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
11604<div class="line"><a name="l00045"></a><span class="lineno"> 45</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>
11605<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {</div>
11606<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; dimensions[d];</div>
11607<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
11608<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div>
11609<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
11610<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> os;</div>
11611<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011612</div><!-- fragment -->
11613</div>
11614</div>
Kaizen8938bd32017-09-28 14:38:23 +010011615<a class="anchor" id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011616<div class="memitem">
11617<div class="memproto">
11618 <table class="memname">
11619 <tr>
11620 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11621 <td>(</td>
11622 <td class="paramtype">::std::ostream &amp;&#160;</td>
11623 <td class="paramname"><em>os</em>, </td>
11624 </tr>
11625 <tr>
11626 <td class="paramkey"></td>
11627 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011628 <td class="paramtype">const NonLinearFilterFunction &amp;&#160;</td>
11629 <td class="paramname"><em>function</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011630 </tr>
11631 <tr>
11632 <td></td>
11633 <td>)</td>
11634 <td></td><td></td>
11635 </tr>
11636 </table>
11637</div><div class="memdoc">
11638
Kaizen8938bd32017-09-28 14:38:23 +010011639<p>Formatted output of the NonLinearFilterFunction type. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011640
Kaizen8938bd32017-09-28 14:38:23 +010011641<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00055">55</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011642
Kaizen8938bd32017-09-28 14:38:23 +010011643<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
11644<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{</div>
11645<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div>
11646<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
11647<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div>
11648<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div>
11649<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">break</span>;</div>
11650<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div>
11651<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MEDIAN&quot;</span>;</div>
11652<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">break</span>;</div>
11653<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div>
11654<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIN&quot;</span>;</div>
11655<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">break</span>;</div>
11656<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">default</span>:</div>
11657<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11658<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
11659<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
11660<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> os;</div>
11661<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
11662<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011663</div><!-- fragment -->
11664</div>
11665</div>
Kaizen8938bd32017-09-28 14:38:23 +010011666<a class="anchor" id="acec416ec5af175a7aad47a518fefb770"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011667<div class="memitem">
11668<div class="memproto">
11669 <table class="memname">
11670 <tr>
11671 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11672 <td>(</td>
11673 <td class="paramtype">::std::ostream &amp;&#160;</td>
11674 <td class="paramname"><em>os</em>, </td>
11675 </tr>
11676 <tr>
11677 <td class="paramkey"></td>
11678 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011679 <td class="paramtype">const MatrixPattern &amp;&#160;</td>
11680 <td class="paramname"><em>pattern</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011681 </tr>
11682 <tr>
11683 <td></td>
11684 <td>)</td>
11685 <td></td><td></td>
11686 </tr>
11687 </table>
11688</div><div class="memdoc">
11689
Kaizen8938bd32017-09-28 14:38:23 +010011690<p>Formatted output of the MatrixPattern type. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011691
Kaizen8938bd32017-09-28 14:38:23 +010011692<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011693
Kaizen8938bd32017-09-28 14:38:23 +010011694<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
11695<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div>
11696<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">switch</span>(pattern)</div>
11697<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
11698<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">case</span> MatrixPattern::BOX:</div>
11699<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOX&quot;</span>;</div>
11700<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">break</span>;</div>
11701<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">case</span> MatrixPattern::CROSS:</div>
11702<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS&quot;</span>;</div>
11703<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">break</span>;</div>
11704<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">case</span> MatrixPattern::DISK:</div>
11705<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DISK&quot;</span>;</div>
11706<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">break</span>;</div>
11707<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">case</span> MatrixPattern::OTHER:</div>
11708<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div>
11709<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">break</span>;</div>
11710<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">default</span>:</div>
11711<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11712<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
11713<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
11714<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> os;</div>
11715<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
11716<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011717</div><!-- fragment -->
11718</div>
11719</div>
11720<a class="anchor" id="a295edc9f8caf95838db2c5e251153514"></a>
11721<div class="memitem">
11722<div class="memproto">
11723 <table class="memname">
11724 <tr>
11725 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11726 <td>(</td>
11727 <td class="paramtype">::std::ostream &amp;&#160;</td>
11728 <td class="paramname"><em>os</em>, </td>
11729 </tr>
11730 <tr>
11731 <td class="paramkey"></td>
11732 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011733 <td class="paramtype">const RoundingPolicy &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011734 <td class="paramname"><em>rounding_policy</em>&#160;</td>
11735 </tr>
11736 <tr>
11737 <td></td>
11738 <td>)</td>
11739 <td></td><td></td>
11740 </tr>
11741 </table>
11742</div><div class="memdoc">
11743
11744<p>Formatted output of the RoundingPolicy type. </p>
11745
Kaizen8938bd32017-09-28 14:38:23 +010011746<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00114">114</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011747
11748<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
Kaizen8938bd32017-09-28 14:38:23 +010011749<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div>
11750<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">switch</span>(rounding_policy)</div>
11751<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
11752<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div>
11753<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_ZERO&quot;</span>;</div>
11754<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">break</span>;</div>
11755<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div>
11756<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_UP&quot;</span>;</div>
11757<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">break</span>;</div>
11758<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div>
11759<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_EVEN&quot;</span>;</div>
11760<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">break</span>;</div>
11761<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">default</span>:</div>
11762<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11763<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
11764<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
11765<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> os;</div>
11766<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;}</div>
11767<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
11768</div><!-- fragment -->
11769</div>
11770</div>
11771<a class="anchor" id="a5972c7131d378f567af9c2961f088a0b"></a>
11772<div class="memitem">
11773<div class="memproto">
11774 <table class="memname">
11775 <tr>
11776 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11777 <td>(</td>
11778 <td class="paramtype">::std::ostream &amp;&#160;</td>
11779 <td class="paramname"><em>os</em>, </td>
11780 </tr>
11781 <tr>
11782 <td class="paramkey"></td>
11783 <td></td>
11784 <td class="paramtype">const WeightsInfo &amp;&#160;</td>
11785 <td class="paramname"><em>weights_info</em>&#160;</td>
11786 </tr>
11787 <tr>
11788 <td></td>
11789 <td>)</td>
11790 <td></td><td></td>
11791 </tr>
11792 </table>
11793</div><div class="memdoc">
11794
11795<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>
11796
11797<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11798
11799<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00641">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00657">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00649">WeightsInfo::num_kernels()</a>.</p>
11800<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div>
11801<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; os &lt;&lt; weights_info.are_reshaped() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div>
11802<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; os &lt;&lt; weights_info.num_kernels() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> &lt;&lt; weights_info.kernel_size().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; weights_info.kernel_size().second;</div>
11803<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
11804<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> os;</div>
11805<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div>
11806</div><!-- fragment -->
11807</div>
11808</div>
11809<a class="anchor" id="a352b805b77fde4f32f44af271580677b"></a>
11810<div class="memitem">
11811<div class="memproto">
11812 <table class="memname">
11813 <tr>
11814 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11815 <td>(</td>
11816 <td class="paramtype">::std::ostream &amp;&#160;</td>
11817 <td class="paramname"><em>os</em>, </td>
11818 </tr>
11819 <tr>
11820 <td class="paramkey"></td>
11821 <td></td>
11822 <td class="paramtype">const ROIPoolingLayerInfo &amp;&#160;</td>
11823 <td class="paramname"><em>pool_info</em>&#160;</td>
11824 </tr>
11825 <tr>
11826 <td></td>
11827 <td>)</td>
11828 <td></td><td></td>
11829 </tr>
11830 </table>
11831</div><div class="memdoc">
11832
11833<p>Formatted output of the ROIPoolingInfo type. </p>
11834
11835<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00144">144</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11836
11837<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00495">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00491">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00499">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
11838<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;{</div>
11839<div class="line"><a name="l00146"></a><span class="lineno"> 146</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>
11840<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> os;</div>
11841<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;}</div>
11842</div><!-- fragment -->
11843</div>
11844</div>
11845<a class="anchor" id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
11846<div class="memitem">
11847<div class="memproto">
11848 <table class="memname">
11849 <tr>
11850 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11851 <td>(</td>
11852 <td class="paramtype">::std::ostream &amp;&#160;</td>
11853 <td class="paramname"><em>os</em>, </td>
11854 </tr>
11855 <tr>
11856 <td class="paramkey"></td>
11857 <td></td>
11858 <td class="paramtype">const ActivationLayerInfo::ActivationFunction &amp;&#160;</td>
11859 <td class="paramname"><em>act_function</em>&#160;</td>
11860 </tr>
11861 <tr>
11862 <td></td>
11863 <td>)</td>
11864 <td></td><td></td>
11865 </tr>
11866 </table>
11867</div><div class="memdoc">
11868
11869<p>Formatted output of the activation function type. </p>
11870
11871<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00151">151</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11872
11873<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#l00031">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>
11874<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div>
11875<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">switch</span>(act_function)</div>
11876<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
11877<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div>
11878<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div>
11879<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">break</span>;</div>
11880<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div>
11881<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</div>
11882<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">break</span>;</div>
11883<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div>
11884<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</div>
11885<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">break</span>;</div>
11886<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div>
11887<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div>
11888<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">break</span>;</div>
11889<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div>
11890<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div>
11891<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">break</span>;</div>
11892<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div>
11893<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div>
11894<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">break</span>;</div>
11895<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div>
11896<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div>
11897<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">break</span>;</div>
11898<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div>
11899<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div>
11900<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">break</span>;</div>
11901<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div>
11902<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div>
11903<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div>
11904<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div>
11905<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">break</span>;</div>
11906<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div>
11907<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div>
11908<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">break</span>;</div>
11909<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">default</span>:</div>
11910<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11911<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
11912<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
11913<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> os;</div>
11914<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;}</div>
11915<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
11916</div><!-- fragment -->
11917</div>
11918</div>
11919<a class="anchor" id="a2ab7370aab6e5698990c50c8871fa6fb"></a>
11920<div class="memitem">
11921<div class="memproto">
11922 <table class="memname">
11923 <tr>
11924 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11925 <td>(</td>
11926 <td class="paramtype">::std::ostream &amp;&#160;</td>
11927 <td class="paramname"><em>os</em>, </td>
11928 </tr>
11929 <tr>
11930 <td class="paramkey"></td>
11931 <td></td>
11932 <td class="paramtype">const NormType &amp;&#160;</td>
11933 <td class="paramname"><em>norm_type</em>&#160;</td>
11934 </tr>
11935 <tr>
11936 <td></td>
11937 <td>)</td>
11938 <td></td><td></td>
11939 </tr>
11940 </table>
11941</div><div class="memdoc">
11942
11943<p>Formatted output of the NormType type. </p>
11944
11945<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00209">209</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11946
11947<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
11948<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
11949<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div>
11950<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
11951<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">case</span> NormType::CROSS_MAP:</div>
11952<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div>
11953<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">break</span>;</div>
11954<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div>
11955<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div>
11956<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">break</span>;</div>
11957<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div>
11958<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div>
11959<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">break</span>;</div>
11960<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">default</span>:</div>
11961<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11962<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
11963<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div>
11964<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> os;</div>
11965<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div>
11966<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
11967</div><!-- fragment -->
11968</div>
11969</div>
11970<a class="anchor" id="a336cf1e870f467e44c184587a13feeec"></a>
11971<div class="memitem">
11972<div class="memproto">
11973 <table class="memname">
11974 <tr>
11975 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11976 <td>(</td>
11977 <td class="paramtype">::std::ostream &amp;&#160;</td>
11978 <td class="paramname"><em>os</em>, </td>
11979 </tr>
11980 <tr>
11981 <td class="paramkey"></td>
11982 <td></td>
11983 <td class="paramtype">const PoolingType &amp;&#160;</td>
11984 <td class="paramname"><em>pool_type</em>&#160;</td>
11985 </tr>
11986 <tr>
11987 <td></td>
11988 <td>)</td>
11989 <td></td><td></td>
11990 </tr>
11991 </table>
11992</div><div class="memdoc">
11993
11994<p>Formatted output of the PoolingType type. </p>
11995
11996<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00237">237</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11997
11998<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
11999<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;{</div>
12000<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">switch</span>(pool_type)</div>
12001<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div>
12002<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">case</span> PoolingType::AVG:</div>
12003<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div>
12004<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">break</span>;</div>
12005<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">case</span> PoolingType::MAX:</div>
12006<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div>
12007<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">break</span>;</div>
12008<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">case</span> PoolingType::L2:</div>
12009<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div>
12010<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">break</span>;</div>
12011<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">default</span>:</div>
12012<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12013<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div>
12014<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div>
12015<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> os;</div>
12016<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;}</div>
12017<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12018</div><!-- fragment -->
12019</div>
12020</div>
12021<a class="anchor" id="ae72a61a2ca5c962ab1d37065e5598060"></a>
12022<div class="memitem">
12023<div class="memproto">
12024 <table class="memname">
12025 <tr>
12026 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12027 <td>(</td>
12028 <td class="paramtype">::std::ostream &amp;&#160;</td>
12029 <td class="paramname"><em>os</em>, </td>
12030 </tr>
12031 <tr>
12032 <td class="paramkey"></td>
12033 <td></td>
12034 <td class="paramtype">const PoolingLayerInfo &amp;&#160;</td>
12035 <td class="paramname"><em>info</em>&#160;</td>
12036 </tr>
12037 <tr>
12038 <td></td>
12039 <td>)</td>
12040 <td></td><td></td>
12041 </tr>
12042 </table>
12043</div><div class="memdoc">
12044
12045<p>Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. </p>
12046
12047<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00258">258</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12048
12049<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">PoolingLayerInfo::pool_type()</a>.</p>
12050<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;{</div>
12051<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div>
12052<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
12053<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> os;</div>
12054<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
12055<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 +010012056</div><!-- fragment -->
12057</div>
12058</div>
12059<a class="anchor" id="a685af15532d70b8682bcc52f06f034f9"></a>
12060<div class="memitem">
12061<div class="memproto">
12062 <table class="memname">
12063 <tr>
12064 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12065 <td>(</td>
12066 <td class="paramtype">::std::ostream &amp;&#160;</td>
12067 <td class="paramname"><em>os</em>, </td>
12068 </tr>
12069 <tr>
12070 <td class="paramkey"></td>
12071 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012072 <td class="paramtype">const DataType &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012073 <td class="paramname"><em>data_type</em>&#160;</td>
12074 </tr>
12075 <tr>
12076 <td></td>
12077 <td>)</td>
12078 <td></td><td></td>
12079 </tr>
12080 </table>
12081</div><div class="memdoc">
12082
12083<p>Formatted output of the DataType type. </p>
12084
Kaizen8938bd32017-09-28 14:38:23 +010012085<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00266">266</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012086
Kaizen8938bd32017-09-28 14:38:23 +010012087<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#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>
12088<div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;{</div>
12089<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div>
12090<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; {</div>
12091<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">case</span> DataType::UNKNOWN:</div>
12092<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div>
12093<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">break</span>;</div>
12094<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div>
12095<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div>
12096<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">break</span>;</div>
12097<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
12098<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QS8&quot;</span>;</div>
12099<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">break</span>;</div>
12100<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div>
12101<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div>
12102<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">break</span>;</div>
12103<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div>
12104<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div>
12105<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">break</span>;</div>
12106<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div>
12107<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div>
12108<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">break</span>;</div>
12109<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
12110<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QS16&quot;</span>;</div>
12111<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">break</span>;</div>
12112<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div>
12113<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div>
12114<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">break</span>;</div>
12115<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div>
12116<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div>
12117<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">break</span>;</div>
12118<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div>
12119<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div>
12120<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">break</span>;</div>
12121<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div>
12122<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div>
12123<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">break</span>;</div>
12124<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
12125<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div>
12126<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">break</span>;</div>
12127<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
12128<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div>
12129<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">break</span>;</div>
12130<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div>
12131<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div>
12132<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">break</span>;</div>
12133<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div>
12134<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div>
12135<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">break</span>;</div>
12136<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">default</span>:</div>
12137<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12138<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
12139<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div>
12140<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> os;</div>
12141<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;}</div>
12142<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12143<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012144</div><!-- fragment -->
12145</div>
12146</div>
12147<a class="anchor" id="a3b22e54b0ac0204c3b89aebcd695fa03"></a>
12148<div class="memitem">
12149<div class="memproto">
12150 <table class="memname">
12151 <tr>
12152 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12153 <td>(</td>
12154 <td class="paramtype">::std::ostream &amp;&#160;</td>
12155 <td class="paramname"><em>os</em>, </td>
12156 </tr>
12157 <tr>
12158 <td class="paramkey"></td>
12159 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012160 <td class="paramtype">const Format &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012161 <td class="paramname"><em>format</em>&#160;</td>
12162 </tr>
12163 <tr>
12164 <td></td>
12165 <td>)</td>
12166 <td></td><td></td>
12167 </tr>
12168 </table>
12169</div><div class="memdoc">
12170
12171<p>Formatted output of the Format type. </p>
12172
Kaizen8938bd32017-09-28 14:38:23 +010012173<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00330">330</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012174
Kaizen8938bd32017-09-28 14:38:23 +010012175<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#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>
12176<div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div>
12177<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">switch</span>(format)</div>
12178<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
12179<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">case</span> Format::UNKNOWN:</div>
12180<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div>
12181<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">break</span>;</div>
12182<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
12183<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div>
12184<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">break</span>;</div>
12185<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
12186<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div>
12187<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">break</span>;</div>
12188<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
12189<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div>
12190<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">break</span>;</div>
12191<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
12192<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div>
12193<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">break</span>;</div>
12194<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
12195<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div>
12196<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">break</span>;</div>
12197<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
12198<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div>
12199<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">break</span>;</div>
12200<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
12201<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div>
12202<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">break</span>;</div>
12203<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
12204<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div>
12205<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">break</span>;</div>
12206<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
12207<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div>
12208<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">break</span>;</div>
12209<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
12210<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div>
12211<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">break</span>;</div>
12212<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
12213<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div>
12214<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">break</span>;</div>
12215<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
12216<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div>
12217<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">break</span>;</div>
12218<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
12219<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div>
12220<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">break</span>;</div>
12221<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
12222<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div>
12223<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">break</span>;</div>
12224<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
12225<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div>
12226<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">break</span>;</div>
12227<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
12228<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div>
12229<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">break</span>;</div>
12230<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">default</span>:</div>
12231<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>
12232<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div>
12233<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div>
12234<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> os;</div>
12235<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;}</div>
12236<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012237</div><!-- fragment -->
12238</div>
12239</div>
12240<a class="anchor" id="aa66be15c012986ebd4c1934b97e08a36"></a>
12241<div class="memitem">
12242<div class="memproto">
12243 <table class="memname">
12244 <tr>
12245 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12246 <td>(</td>
12247 <td class="paramtype">::std::ostream &amp;&#160;</td>
12248 <td class="paramname"><em>os</em>, </td>
12249 </tr>
12250 <tr>
12251 <td class="paramkey"></td>
12252 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012253 <td class="paramtype">const Channel &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012254 <td class="paramname"><em>channel</em>&#160;</td>
12255 </tr>
12256 <tr>
12257 <td></td>
12258 <td>)</td>
12259 <td></td><td></td>
12260 </tr>
12261 </table>
12262</div><div class="memdoc">
12263
12264<p>Formatted output of the Channel type. </p>
12265
Kaizen8938bd32017-09-28 14:38:23 +010012266<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00400">400</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012267
Kaizen8938bd32017-09-28 14:38:23 +010012268<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00031">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>
12269<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;{</div>
12270<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">switch</span>(channel)</div>
12271<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; {</div>
12272<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">case</span> Channel::UNKNOWN:</div>
12273<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div>
12274<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">break</span>;</div>
12275<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">case</span> Channel::C0:</div>
12276<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div>
12277<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">break</span>;</div>
12278<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">case</span> Channel::C1:</div>
12279<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div>
12280<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">break</span>;</div>
12281<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">case</span> Channel::C2:</div>
12282<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div>
12283<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">break</span>;</div>
12284<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">case</span> Channel::C3:</div>
12285<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div>
12286<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">break</span>;</div>
12287<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">case</span> Channel::R:</div>
12288<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div>
12289<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">break</span>;</div>
12290<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">case</span> Channel::G:</div>
12291<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div>
12292<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">break</span>;</div>
12293<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">case</span> Channel::B:</div>
12294<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div>
12295<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">break</span>;</div>
12296<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">case</span> Channel::A:</div>
12297<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div>
12298<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">break</span>;</div>
12299<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div>
12300<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div>
12301<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">break</span>;</div>
12302<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">case</span> Channel::U:</div>
12303<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div>
12304<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">break</span>;</div>
12305<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">case</span> Channel::V:</div>
12306<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div>
12307<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">break</span>;</div>
12308<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">default</span>:</div>
12309<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12310<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
12311<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div>
12312<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">return</span> os;</div>
12313<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;}</div>
12314<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12315</div><!-- fragment -->
12316</div>
12317</div>
12318<a class="anchor" id="a7929032d41d5f23cd1778a70508d0219"></a>
12319<div class="memitem">
12320<div class="memproto">
12321 <table class="memname">
12322 <tr>
12323 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12324 <td>(</td>
12325 <td class="paramtype">::std::ostream &amp;&#160;</td>
12326 <td class="paramname"><em>os</em>, </td>
12327 </tr>
12328 <tr>
12329 <td class="paramkey"></td>
12330 <td></td>
12331 <td class="paramtype">const BorderMode &amp;&#160;</td>
12332 <td class="paramname"><em>mode</em>&#160;</td>
12333 </tr>
12334 <tr>
12335 <td></td>
12336 <td>)</td>
12337 <td></td><td></td>
12338 </tr>
12339 </table>
12340</div><div class="memdoc">
12341
12342<p>Formatted output of the BorderMode type. </p>
12343
12344<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00448">448</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12345
12346<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
12347<div class="fragment"><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;{</div>
12348<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">switch</span>(mode)</div>
12349<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div>
12350<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div>
12351<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div>
12352<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">break</span>;</div>
12353<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">case</span> BorderMode::CONSTANT:</div>
12354<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div>
12355<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">break</span>;</div>
12356<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">case</span> BorderMode::REPLICATE:</div>
12357<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div>
12358<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">break</span>;</div>
12359<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">default</span>:</div>
12360<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12361<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; }</div>
12362<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;</div>
12363<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> os;</div>
12364<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;}</div>
12365<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012366</div><!-- fragment -->
12367</div>
12368</div>
12369<a class="anchor" id="af32c4c5cdd0efde09774eb803bc8a0bd"></a>
12370<div class="memitem">
12371<div class="memproto">
12372 <table class="memname">
12373 <tr>
12374 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12375 <td>(</td>
12376 <td class="paramtype">::std::ostream &amp;&#160;</td>
12377 <td class="paramname"><em>os</em>, </td>
12378 </tr>
12379 <tr>
12380 <td class="paramkey"></td>
12381 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012382 <td class="paramtype">const BorderSize &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012383 <td class="paramname"><em>border</em>&#160;</td>
12384 </tr>
12385 <tr>
12386 <td></td>
12387 <td>)</td>
12388 <td></td><td></td>
12389 </tr>
12390 </table>
12391</div><div class="memdoc">
12392
12393<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>
12394
Kaizen8938bd32017-09-28 14:38:23 +010012395<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00469">469</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012396
Kaizen8938bd32017-09-28 14:38:23 +010012397<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00202">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00203">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00201">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00200">BorderSize::top</a>.</p>
12398<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;{</div>
12399<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12400<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12401<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12402<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; &lt;&lt; border.left;</div>
12403<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div>
12404<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> os;</div>
12405<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;}</div>
12406</div><!-- fragment -->
12407</div>
12408</div>
12409<a class="anchor" id="a509047aefc691398f1bb60b1f967a98b"></a>
12410<div class="memitem">
12411<div class="memproto">
12412 <table class="memname">
12413 <tr>
12414 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12415 <td>(</td>
12416 <td class="paramtype">::std::ostream &amp;&#160;</td>
12417 <td class="paramname"><em>os</em>, </td>
12418 </tr>
12419 <tr>
12420 <td class="paramkey"></td>
12421 <td></td>
12422 <td class="paramtype">const InterpolationPolicy &amp;&#160;</td>
12423 <td class="paramname"><em>policy</em>&#160;</td>
12424 </tr>
12425 <tr>
12426 <td></td>
12427 <td>)</td>
12428 <td></td><td></td>
12429 </tr>
12430 </table>
12431</div><div class="memdoc">
12432
12433<p>Formatted output of the InterpolationPolicy type. </p>
12434
12435<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00480">480</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12436
12437<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00031">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>
12438<div class="fragment"><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;{</div>
12439<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">switch</span>(policy)</div>
12440<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
12441<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div>
12442<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div>
12443<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">break</span>;</div>
12444<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div>
12445<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div>
12446<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">break</span>;</div>
12447<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div>
12448<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div>
12449<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">break</span>;</div>
12450<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">default</span>:</div>
12451<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12452<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div>
12453<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div>
12454<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> os;</div>
12455<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;}</div>
12456<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12457</div><!-- fragment -->
12458</div>
12459</div>
12460<a class="anchor" id="a17881750c427aedd95deba46a4366ace"></a>
12461<div class="memitem">
12462<div class="memproto">
12463 <table class="memname">
12464 <tr>
12465 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12466 <td>(</td>
12467 <td class="paramtype">::std::ostream &amp;&#160;</td>
12468 <td class="paramname"><em>os</em>, </td>
12469 </tr>
12470 <tr>
12471 <td class="paramkey"></td>
12472 <td></td>
12473 <td class="paramtype">const Rectangle &amp;&#160;</td>
12474 <td class="paramname"><em>rect</em>&#160;</td>
12475 </tr>
12476 <tr>
12477 <td></td>
12478 <td>)</td>
12479 <td></td><td></td>
12480 </tr>
12481 </table>
12482</div><div class="memdoc">
12483
12484<p>Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. </p>
12485
12486<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00517">517</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12487
12488<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00290">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00289">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00287">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00288">Rectangle::y</a>.</p>
12489<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;{</div>
12490<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div>
12491<div class="line"><a name="l00520"></a><span class="lineno"> 520</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>
12492<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div>
12493<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> os;</div>
12494<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;}</div>
12495</div><!-- fragment -->
12496</div>
12497</div>
12498<a class="anchor" id="a8af36ae3a3613112c3a95e57f606359a"></a>
12499<div class="memitem">
12500<div class="memproto">
12501 <table class="memname">
12502 <tr>
12503 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12504 <td>(</td>
12505 <td class="paramtype">::std::ostream &amp;&#160;</td>
12506 <td class="paramname"><em>os</em>, </td>
12507 </tr>
12508 <tr>
12509 <td class="paramkey"></td>
12510 <td></td>
12511 <td class="paramtype">const PadStrideInfo &amp;&#160;</td>
12512 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
12513 </tr>
12514 <tr>
12515 <td></td>
12516 <td>)</td>
12517 <td></td><td></td>
12518 </tr>
12519 </table>
12520</div><div class="memdoc">
12521
12522<p>Formatted output of the PadStridInfo type. </p>
12523
12524<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00526">526</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12525
12526<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00429">PadStrideInfo::pad()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00425">PadStrideInfo::stride()</a>.</p>
12527<div class="fragment"><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;{</div>
12528<div class="line"><a name="l00528"></a><span class="lineno"> 528</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>
12529<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div>
12530<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; os &lt;&lt; pad_stride_info.pad().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad().second;</div>
12531<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div>
12532<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">return</span> os;</div>
12533<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;}</div>
12534</div><!-- fragment -->
12535</div>
12536</div>
12537<a class="anchor" id="a4287c6842a60e5f6bf309e55f8813527"></a>
12538<div class="memitem">
12539<div class="memproto">
12540 <table class="memname">
12541 <tr>
12542 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12543 <td>(</td>
12544 <td class="paramtype">::std::ostream &amp;&#160;</td>
12545 <td class="paramname"><em>os</em>, </td>
12546 </tr>
12547 <tr>
12548 <td class="paramkey"></td>
12549 <td></td>
12550 <td class="paramtype">const ConvertPolicy &amp;&#160;</td>
12551 <td class="paramname"><em>policy</em>&#160;</td>
12552 </tr>
12553 <tr>
12554 <td></td>
12555 <td>)</td>
12556 <td></td><td></td>
12557 </tr>
12558 </table>
12559</div><div class="memdoc">
12560
12561<p>Formatted output of the ConversionPolicy type. </p>
12562
12563<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00557">557</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12564
12565<p>References <a class="el" href="_error_8h_source.xhtml#l00031">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>
12566<div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;{</div>
12567<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">switch</span>(policy)</div>
12568<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; {</div>
12569<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div>
12570<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div>
12571<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">break</span>;</div>
12572<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div>
12573<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div>
12574<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">break</span>;</div>
12575<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">default</span>:</div>
12576<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12577<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; }</div>
12578<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;</div>
12579<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">return</span> os;</div>
12580<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;}</div>
12581<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12582</div><!-- fragment -->
12583</div>
12584</div>
12585<a class="anchor" id="a292505a0ec686541cfe0dcfd1d651ec5"></a>
12586<div class="memitem">
12587<div class="memproto">
12588 <table class="memname">
12589 <tr>
12590 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12591 <td>(</td>
12592 <td class="paramtype">::std::ostream &amp;&#160;</td>
12593 <td class="paramname"><em>os</em>, </td>
12594 </tr>
12595 <tr>
12596 <td class="paramkey"></td>
12597 <td></td>
12598 <td class="paramtype">const ReductionOperation &amp;&#160;</td>
12599 <td class="paramname"><em>op</em>&#160;</td>
12600 </tr>
12601 <tr>
12602 <td></td>
12603 <td>)</td>
12604 <td></td><td></td>
12605 </tr>
12606 </table>
12607</div><div class="memdoc">
12608
12609<p>Formatted output of the Reduction Operations. </p>
12610
12611<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00582">582</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12612
12613<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
12614<div class="fragment"><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;{</div>
12615<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">switch</span>(op)</div>
12616<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; {</div>
12617<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div>
12618<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div>
12619<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">break</span>;</div>
12620<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">default</span>:</div>
12621<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12622<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div>
12623<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;</div>
12624<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">return</span> os;</div>
12625<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;}</div>
12626<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12627</div><!-- fragment -->
12628</div>
12629</div>
12630<a class="anchor" id="a9a2e48a508dc85b7280f955876bb4462"></a>
12631<div class="memitem">
12632<div class="memproto">
12633 <table class="memname">
12634 <tr>
12635 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12636 <td>(</td>
12637 <td class="paramtype">::std::ostream &amp;&#160;</td>
12638 <td class="paramname"><em>os</em>, </td>
12639 </tr>
12640 <tr>
12641 <td class="paramkey"></td>
12642 <td></td>
12643 <td class="paramtype">const KeyPoint &amp;&#160;</td>
12644 <td class="paramname"><em>point</em>&#160;</td>
12645 </tr>
12646 <tr>
12647 <td></td>
12648 <td>)</td>
12649 <td></td><td></td>
12650 </tr>
12651 </table>
12652</div><div class="memdoc">
12653
12654<p>Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. </p>
12655
12656<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00625">625</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12657
12658<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00279">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00277">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00276">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00275">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00278">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00273">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00274">KeyPoint::y</a>.</p>
12659<div class="fragment"><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;{</div>
12660<div class="line"><a name="l00627"></a><span class="lineno"> 627</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>
12661<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; point.y &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12662<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; &lt;&lt; <span class="stringliteral">&quot;strength=&quot;</span> &lt;&lt; point.strength &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12663<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; &lt;&lt; <span class="stringliteral">&quot;scale=&quot;</span> &lt;&lt; point.scale &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12664<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; &lt;&lt; <span class="stringliteral">&quot;orientation=&quot;</span> &lt;&lt; point.orientation &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12665<div class="line"><a name="l00632"></a><span class="lineno"> 632</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>
12666<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; &lt;&lt; <span class="stringliteral">&quot;error=&quot;</span> &lt;&lt; point.error &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div>
12667<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;</div>
12668<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">return</span> os;</div>
12669<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;}</div>
12670</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010012671</div>
12672</div>
12673<a class="anchor" id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
12674<div class="memitem">
12675<div class="memproto">
12676 <table class="memname">
12677 <tr>
12678 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
12679 <td>(</td>
12680 <td class="paramtype">::std::istream &amp;&#160;</td>
12681 <td class="paramname"><em>is</em>, </td>
12682 </tr>
12683 <tr>
12684 <td class="paramkey"></td>
12685 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012686 <td class="paramtype">BorderMode &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012687 <td class="paramname"><em>mode</em>&#160;</td>
12688 </tr>
12689 <tr>
12690 <td></td>
12691 <td>)</td>
12692 <td></td><td></td>
12693 </tr>
12694 </table>
12695</div><div class="memdoc">
12696
12697<p>Formatted input of the BorderMode type. </p>
12698
12699<p>Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.h</a>.</p>
12700
Kaizen8938bd32017-09-28 14:38:23 +010012701<p>References <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
12702<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
12703<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; std::string <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
12704<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
12705<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; is &gt;&gt; <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
12706<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
12707<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c)</div>
12708<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div>
12709<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> std::toupper(c);</div>
12710<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; });</div>
12711<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
12712<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;UNDEFINED&quot;</span>)</div>
12713<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div>
12714<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; mode = BorderMode::UNDEFINED;</div>
12715<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
12716<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;CONSTANT&quot;</span>)</div>
12717<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
12718<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; mode = BorderMode::CONSTANT;</div>
12719<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
12720<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;REPLICATE&quot;</span>)</div>
12721<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
12722<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; mode = BorderMode::REPLICATE;</div>
12723<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
12724<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">else</span></div>
12725<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
12726<div class="line"><a name="l00061"></a><span class="lineno"> 61</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>
12727<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
12728<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
12729<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> is;</div>
12730<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
12731<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
12732</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010012733</div>
12734</div>
12735<a class="anchor" id="ab7b3af731907e85fcaf72555c446176b"></a>
12736<div class="memitem">
12737<div class="memproto">
12738<table class="mlabels">
12739 <tr>
12740 <td class="mlabels-left">
12741 <table class="memname">
12742 <tr>
12743 <td class="memname">uint8_t pixel_area_c1u8_clamp </td>
12744 <td>(</td>
12745 <td class="paramtype">const uint8_t *&#160;</td>
12746 <td class="paramname"><em>first_pixel_ptr</em>, </td>
12747 </tr>
12748 <tr>
12749 <td class="paramkey"></td>
12750 <td></td>
12751 <td class="paramtype">size_t&#160;</td>
12752 <td class="paramname"><em>stride</em>, </td>
12753 </tr>
12754 <tr>
12755 <td class="paramkey"></td>
12756 <td></td>
12757 <td class="paramtype">size_t&#160;</td>
12758 <td class="paramname"><em>width</em>, </td>
12759 </tr>
12760 <tr>
12761 <td class="paramkey"></td>
12762 <td></td>
12763 <td class="paramtype">size_t&#160;</td>
12764 <td class="paramname"><em>height</em>, </td>
12765 </tr>
12766 <tr>
12767 <td class="paramkey"></td>
12768 <td></td>
12769 <td class="paramtype">float&#160;</td>
12770 <td class="paramname"><em>wr</em>, </td>
12771 </tr>
12772 <tr>
12773 <td class="paramkey"></td>
12774 <td></td>
12775 <td class="paramtype">float&#160;</td>
12776 <td class="paramname"><em>hr</em>, </td>
12777 </tr>
12778 <tr>
12779 <td class="paramkey"></td>
12780 <td></td>
12781 <td class="paramtype">int&#160;</td>
12782 <td class="paramname"><em>x</em>, </td>
12783 </tr>
12784 <tr>
12785 <td class="paramkey"></td>
12786 <td></td>
12787 <td class="paramtype">int&#160;</td>
12788 <td class="paramname"><em>y</em>&#160;</td>
12789 </tr>
12790 <tr>
12791 <td></td>
12792 <td>)</td>
12793 <td></td><td></td>
12794 </tr>
12795 </table>
12796 </td>
12797 <td class="mlabels-right">
12798<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12799 </tr>
12800</table>
12801</div><div class="memdoc">
12802
12803<p>Return the pixel at (x,y) using area interpolation by clamping when out of borders. </p>
12804<p>The image must be single channel U8</p>
12805<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>
12806<dd>
12807Currently average of the contributing pixels is calculated</dd></dl>
12808<dl class="params"><dt>Parameters</dt><dd>
12809 <table class="params">
12810 <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>
12811 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
12812 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
12813 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
12814 <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>
12815 <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>
12816 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
12817 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
12818 </table>
12819 </dd>
12820</dl>
12821<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using area interpolation. </dd></dl>
12822
Kaizen8938bd32017-09-28 14:38:23 +010012823<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 +010012824
Kaizen8938bd32017-09-28 14:38:23 +010012825<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
12826<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
12827<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>
12828<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
12829<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Calculate sampling position</span></div>
12830<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>
12831<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>
12832<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
12833<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Get bounding box offsets</span></div>
12834<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>
12835<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>
12836<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>
12837<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>
12838<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
12839<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Clamp position to borders</span></div>
12840<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>
12841<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>
12842<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
12843<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// Clamp bounding box offsets to borders</span></div>
12844<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>
12845<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>
12846<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>
12847<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>
12848<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
12849<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// Get pixel index</span></div>
12850<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>
12851<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>
12852<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
12853<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Bounding box elements in each dimension</span></div>
12854<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>
12855<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>
12856<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>
12857<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
12858<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Sum pixels in area</span></div>
12859<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>
12860<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>
12861<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
12862<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>
12863<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>
12864<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
12865<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
12866<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Return average</span></div>
12867<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div>
12868<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
12869<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#l00884">FixedPoint.h:884</a></div></div>
12870<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 Barbierdbdab852017-06-23 15:42:00 +010012871<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#l00124">Error.h:124</a></div></div>
12872<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>
Kaizen8938bd32017-09-28 14:38:23 +010012873<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#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012874</div><!-- fragment -->
12875</div>
12876</div>
Kaizen8938bd32017-09-28 14:38:23 +010012877<a class="anchor" id="a1c8d639ec2b3086a9506e72605a32333"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012878<div class="memitem">
12879<div class="memproto">
12880<table class="mlabels">
12881 <tr>
12882 <td class="mlabels-left">
12883 <table class="memname">
12884 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010012885 <td class="memname">T arm_compute::pixel_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012886 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010012887 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012888 <td class="paramname"><em>first_pixel_ptr</em>, </td>
12889 </tr>
12890 <tr>
12891 <td class="paramkey"></td>
12892 <td></td>
12893 <td class="paramtype">size_t&#160;</td>
12894 <td class="paramname"><em>stride</em>, </td>
12895 </tr>
12896 <tr>
12897 <td class="paramkey"></td>
12898 <td></td>
12899 <td class="paramtype">float&#160;</td>
12900 <td class="paramname"><em>x</em>, </td>
12901 </tr>
12902 <tr>
12903 <td class="paramkey"></td>
12904 <td></td>
12905 <td class="paramtype">float&#160;</td>
12906 <td class="paramname"><em>y</em>&#160;</td>
12907 </tr>
12908 <tr>
12909 <td></td>
12910 <td>)</td>
12911 <td></td><td></td>
12912 </tr>
12913 </table>
12914 </td>
12915 <td class="mlabels-right">
12916<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12917 </tr>
12918</table>
12919</div><div class="memdoc">
12920
12921<p>Return the pixel at (x,y) using bilinear interpolation. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012922<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
12923<dl class="params"><dt>Parameters</dt><dd>
12924 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010012925 <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 +010012926 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image; </td></tr>
12927 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
12928 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
12929 </table>
12930 </dd>
12931</dl>
12932<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
12933
Kaizen8938bd32017-09-28 14:38:23 +010012934<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00131">131</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 +010012935
Kaizen8938bd32017-09-28 14:38:23 +010012936<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">delta_bilinear_c1()</a>.</p>
12937<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div>
12938<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
12939<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
12940<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> int32_t xi = std::floor(x);</div>
12941<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> int32_t yi = std::floor(y);</div>
12942<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
12943<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div>
12944<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div>
12945<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
12946<div class="line"><a name="l00141"></a><span class="lineno"> 141</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>
12947<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
12948<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#l00124">Error.h:124</a></div></div>
12949<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&#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">Helpers.h:99</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012950</div><!-- fragment -->
12951</div>
12952</div>
Kaizen8938bd32017-09-28 14:38:23 +010012953<a class="anchor" id="afa55519774605e5b840fb031fdd7b196"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012954<div class="memitem">
12955<div class="memproto">
12956<table class="mlabels">
12957 <tr>
12958 <td class="mlabels-left">
12959 <table class="memname">
12960 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010012961 <td class="memname">uint8_t arm_compute::pixel_bilinear_c1_clamp </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012962 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010012963 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012964 <td class="paramname"><em>first_pixel_ptr</em>, </td>
12965 </tr>
12966 <tr>
12967 <td class="paramkey"></td>
12968 <td></td>
12969 <td class="paramtype">size_t&#160;</td>
12970 <td class="paramname"><em>stride</em>, </td>
12971 </tr>
12972 <tr>
12973 <td class="paramkey"></td>
12974 <td></td>
12975 <td class="paramtype">size_t&#160;</td>
12976 <td class="paramname"><em>width</em>, </td>
12977 </tr>
12978 <tr>
12979 <td class="paramkey"></td>
12980 <td></td>
12981 <td class="paramtype">size_t&#160;</td>
12982 <td class="paramname"><em>height</em>, </td>
12983 </tr>
12984 <tr>
12985 <td class="paramkey"></td>
12986 <td></td>
12987 <td class="paramtype">float&#160;</td>
12988 <td class="paramname"><em>x</em>, </td>
12989 </tr>
12990 <tr>
12991 <td class="paramkey"></td>
12992 <td></td>
12993 <td class="paramtype">float&#160;</td>
12994 <td class="paramname"><em>y</em>&#160;</td>
12995 </tr>
12996 <tr>
12997 <td></td>
12998 <td>)</td>
12999 <td></td><td></td>
13000 </tr>
13001 </table>
13002 </td>
13003 <td class="mlabels-right">
13004<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13005 </tr>
13006</table>
13007</div><div class="memdoc">
13008
13009<p>Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. </p>
Kaizen8938bd32017-09-28 14:38:23 +010013010<p>The image must be single channel input</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013011<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
13012<dl class="params"><dt>Parameters</dt><dd>
13013 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010013014 <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 +010013015 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
13016 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
13017 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
13018 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
13019 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
13020 </table>
13021 </dd>
13022</dl>
13023<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
13024
Kaizen8938bd32017-09-28 14:38:23 +010013025<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00158">158</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 +010013026
Kaizen8938bd32017-09-28 14:38:23 +010013027<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">delta_bilinear_c1()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
13028<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;{</div>
13029<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
13030<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
13031<div class="line"><a name="l00162"></a><span class="lineno"> 162</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>
13032<div class="line"><a name="l00163"></a><span class="lineno"> 163</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>
13033<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
13034<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div>
13035<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div>
13036<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
13037<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div>
13038<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div>
13039<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
13040<div class="line"><a name="l00171"></a><span class="lineno"> 171</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>
13041<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;}</div>
13042<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#l00884">FixedPoint.h:884</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013043<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#l00124">Error.h:124</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010013044<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&#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">Helpers.h:99</a></div></div>
13045<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#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013046</div><!-- fragment -->
13047</div>
13048</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013049<a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
13050<div class="memitem">
13051<div class="memproto">
13052<table class="mlabels">
13053 <tr>
13054 <td class="mlabels-left">
13055 <table class="memname">
13056 <tr>
13057 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
13058 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013059 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013060 <td class="paramname"><em>format</em></td><td>)</td>
13061 <td></td>
13062 </tr>
13063 </table>
13064 </td>
13065 <td class="mlabels-right">
13066<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13067 </tr>
13068</table>
13069</div><div class="memdoc">
13070
13071<p>The size in bytes of the pixel format. </p>
13072<dl class="params"><dt>Parameters</dt><dd>
13073 <table class="params">
13074 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
13075 </table>
13076 </dd>
13077</dl>
13078<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
13079
Kaizen8938bd32017-09-28 14:38:23 +010013080<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00123">123</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 +000013081
13082<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010013083<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;{</div>
13084<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">switch</span>(format)</div>
13085<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
13086<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
13087<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> 1;</div>
13088<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
13089<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
13090<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
13091<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
13092<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
13093<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
13094<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> 2;</div>
13095<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
13096<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> 3;</div>
13097<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
13098<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> 4;</div>
13099<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
13100<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
13101<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
13102<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> 4;</div>
13103<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div>
13104<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
13105<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
13106<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
13107<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
13108<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">default</span>:</div>
13109<div class="line"><a name="l00150"></a><span class="lineno"> 150</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>
13110<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> 0;</div>
13111<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
13112<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div>
13113<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013114</div><!-- fragment -->
13115</div>
13116</div>
13117<a class="anchor" id="a4f6fe18760340bcec02d095b7099e923"></a>
13118<div class="memitem">
13119<div class="memproto">
13120<table class="mlabels">
13121 <tr>
13122 <td class="mlabels-left">
13123 <table class="memname">
13124 <tr>
13125 <td class="memname">int arm_compute::plane_idx_from_channel </td>
13126 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013127 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013128 <td class="paramname"><em>format</em>, </td>
13129 </tr>
13130 <tr>
13131 <td class="paramkey"></td>
13132 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013133 <td class="paramtype">Channel&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013134 <td class="paramname"><em>channel</em>&#160;</td>
13135 </tr>
13136 <tr>
13137 <td></td>
13138 <td>)</td>
13139 <td></td><td></td>
13140 </tr>
13141 </table>
13142 </td>
13143 <td class="mlabels-right">
13144<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13145 </tr>
13146</table>
13147</div><div class="memdoc">
13148
13149<p>Return the plane index of a given channel given an input format. </p>
13150<dl class="params"><dt>Parameters</dt><dd>
13151 <table class="params">
13152 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
13153 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
13154 </table>
13155 </dd>
13156</dl>
13157<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
13158
Kaizen8938bd32017-09-28 14:38:23 +010013159<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00232">232</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 +000013160
13161<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010013162<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div>
13163<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">switch</span>(format)</div>
13164<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
13165<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
13166<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
13167<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div>
13168<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">switch</span>(channel)</div>
13169<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div>
13170<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div>
13171<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> 0;</div>
13172<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">case</span> Channel::U:</div>
13173<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">case</span> Channel::V:</div>
13174<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> 1;</div>
13175<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">default</span>:</div>
13176<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div>
13177<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> 0;</div>
13178<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
13179<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
13180<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
13181<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
13182<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div>
13183<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">switch</span>(channel)</div>
13184<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
13185<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div>
13186<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> 0;</div>
13187<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">case</span> Channel::U:</div>
13188<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> 1;</div>
13189<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> Channel::V:</div>
13190<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> 2;</div>
13191<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">default</span>:</div>
13192<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div>
13193<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> 0;</div>
13194<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
13195<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
13196<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">default</span>:</div>
13197<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div>
13198<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> 0;</div>
13199<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
13200<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;}</div>
13201<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013202</div><!-- fragment -->
13203</div>
13204</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010013205<a class="anchor" id="a51a0d2ae440bc8cab3fbbe84bfea8b1d"></a>
13206<div class="memitem">
13207<div class="memproto">
13208 <table class="memname">
13209 <tr>
13210 <td class="memname">void arm_compute::print_consecutive_elements </td>
13211 <td>(</td>
13212 <td class="paramtype">std::ostream &amp;&#160;</td>
13213 <td class="paramname"><em>s</em>, </td>
13214 </tr>
13215 <tr>
13216 <td class="paramkey"></td>
13217 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013218 <td class="paramtype">DataType&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010013219 <td class="paramname"><em>dt</em>, </td>
13220 </tr>
13221 <tr>
13222 <td class="paramkey"></td>
13223 <td></td>
13224 <td class="paramtype">const uint8_t *&#160;</td>
13225 <td class="paramname"><em>ptr</em>, </td>
13226 </tr>
13227 <tr>
13228 <td class="paramkey"></td>
13229 <td></td>
13230 <td class="paramtype">unsigned int&#160;</td>
13231 <td class="paramname"><em>n</em>, </td>
13232 </tr>
13233 <tr>
13234 <td class="paramkey"></td>
13235 <td></td>
13236 <td class="paramtype">int&#160;</td>
13237 <td class="paramname"><em>stream_width</em>, </td>
13238 </tr>
13239 <tr>
13240 <td class="paramkey"></td>
13241 <td></td>
13242 <td class="paramtype">const std::string &amp;&#160;</td>
13243 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
13244 </tr>
13245 <tr>
13246 <td></td>
13247 <td>)</td>
13248 <td></td><td></td>
13249 </tr>
13250 </table>
13251</div><div class="memdoc">
13252
13253<p>Print consecutive elements to an output stream. </p>
13254<dl class="params"><dt>Parameters</dt><dd>
13255 <table class="params">
13256 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
13257 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
13258 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
13259 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
13260 <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>
13261 <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>
13262 </table>
13263 </dd>
13264</dl>
13265
Anthony Barbiera4376382017-04-12 15:12:46 +010013266</div>
13267</div>
13268<a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
13269<div class="memitem">
13270<div class="memproto">
13271 <table class="memname">
13272 <tr>
13273 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
13274 <td>(</td>
13275 <td class="paramtype">std::ostream &amp;&#160;</td>
13276 <td class="paramname"><em>s</em>, </td>
13277 </tr>
13278 <tr>
13279 <td class="paramkey"></td>
13280 <td></td>
13281 <td class="paramtype">const T *&#160;</td>
13282 <td class="paramname"><em>ptr</em>, </td>
13283 </tr>
13284 <tr>
13285 <td class="paramkey"></td>
13286 <td></td>
13287 <td class="paramtype">unsigned int&#160;</td>
13288 <td class="paramname"><em>n</em>, </td>
13289 </tr>
13290 <tr>
13291 <td class="paramkey"></td>
13292 <td></td>
13293 <td class="paramtype">int&#160;</td>
13294 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
13295 </tr>
13296 <tr>
13297 <td class="paramkey"></td>
13298 <td></td>
13299 <td class="paramtype">const std::string &amp;&#160;</td>
13300 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
13301 </tr>
13302 <tr>
13303 <td></td>
13304 <td>)</td>
13305 <td></td><td></td>
13306 </tr>
13307 </table>
13308</div><div class="memdoc">
13309
13310<p>Print consecutive elements to an output stream. </p>
13311<dl class="params"><dt>Parameters</dt><dd>
13312 <table class="params">
13313 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
13314 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
13315 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
13316 <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>
13317 <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>
13318 </table>
13319 </dd>
13320</dl>
13321
Kaizen8938bd32017-09-28 14:38:23 +010013322<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00687">687</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
13323
13324<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
13325<div class="fragment"><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;{</div>
13326<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional&lt;std::is_floating_point&lt;T&gt;::value</a>, T, <span class="keywordtype">int</span>&gt;<a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">::type</a>;</div>
13327<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;</div>
13328<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div>
13329<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div>
13330<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="comment">// Set stream width as it is not a &quot;sticky&quot; stream manipulator</span></div>
13331<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">if</span>(stream_width != 0)</div>
13332<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div>
13333<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; s.width(stream_width);</div>
13334<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div>
13335<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; s &lt;&lt; std::right &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]) &lt;&lt; element_delim;</div>
13336<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; }</div>
13337<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;}</div>
13338<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
13339<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
13340</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010013341</div>
13342</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013343<a class="anchor" id="aefa4a4d3136d77b85cccfce344f9f37f"></a>
13344<div class="memitem">
13345<div class="memproto">
13346 <table class="memname">
13347 <tr>
13348 <td class="memname">std::string arm_compute::read_file </td>
13349 <td>(</td>
13350 <td class="paramtype">const std::string &amp;&#160;</td>
13351 <td class="paramname"><em>filename</em>, </td>
13352 </tr>
13353 <tr>
13354 <td class="paramkey"></td>
13355 <td></td>
13356 <td class="paramtype">bool&#160;</td>
13357 <td class="paramname"><em>binary</em>&#160;</td>
13358 </tr>
13359 <tr>
13360 <td></td>
13361 <td>)</td>
13362 <td></td><td></td>
13363 </tr>
13364 </table>
13365</div><div class="memdoc">
13366
13367<p>Load an entire file in memory. </p>
13368<dl class="params"><dt>Parameters</dt><dd>
13369 <table class="params">
13370 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
13371 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
13372 </table>
13373 </dd>
13374</dl>
13375<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
13376
Kaizen8938bd32017-09-28 14:38:23 +010013377</div>
13378</div>
13379<a class="anchor" id="a5d49ea329c81268d6e12031f6f13f1eb"></a>
13380<div class="memitem">
13381<div class="memproto">
13382<table class="mlabels">
13383 <tr>
13384 <td class="mlabels-left">
13385 <table class="memname">
13386 <tr>
13387 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sabs_qs16 </td>
13388 <td>(</td>
13389 <td class="paramtype">qint16_t&#160;</td>
13390 <td class="paramname"><em>a</em></td><td>)</td>
13391 <td></td>
13392 </tr>
13393 </table>
13394 </td>
13395 <td class="mlabels-right">
13396<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13397 </tr>
13398</table>
13399</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +000013400
Kaizen8938bd32017-09-28 14:38:23 +010013401<p>16 bit fixed point scalar absolute value </p>
13402<dl class="params"><dt>Parameters</dt><dd>
13403 <table class="params">
13404 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input</td></tr>
13405 </table>
13406 </dd>
13407</dl>
13408<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point absolute value </dd></dl>
13409
13410<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00083">83</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13411
13412<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
13413
13414<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
13415<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div>
13416<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> (a &lt; 0) ? (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 : a;</div>
13417<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div>
13418<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#l00884">FixedPoint.h:884</a></div></div>
13419<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#l00889">FixedPoint.h:889</a></div></div>
13420</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013421</div>
13422</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013423<a class="anchor" id="a43315c66c4d00207f70143233b189085"></a>
13424<div class="memitem">
13425<div class="memproto">
13426<table class="mlabels">
13427 <tr>
13428 <td class="mlabels-left">
13429 <table class="memname">
13430 <tr>
13431 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sabs_qs8 </td>
13432 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013433 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013434 <td class="paramname"><em>a</em></td><td>)</td>
13435 <td></td>
13436 </tr>
13437 </table>
13438 </td>
13439 <td class="mlabels-right">
13440<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13441 </tr>
13442</table>
13443</div><div class="memdoc">
13444
13445<p>8 bit fixed point scalar absolute value </p>
13446<dl class="params"><dt>Parameters</dt><dd>
13447 <table class="params">
13448 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input</td></tr>
13449 </table>
13450 </dd>
13451</dl>
13452<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point absolute value </dd></dl>
13453
Kaizen8938bd32017-09-28 14:38:23 +010013454<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00078">78</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013455
Kaizen8938bd32017-09-28 14:38:23 +010013456<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
13457
13458<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
13459<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div>
13460<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> (a &lt; 0) ? (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 : a;</div>
13461<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
13462<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#l00884">FixedPoint.h:884</a></div></div>
13463<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#l00889">FixedPoint.h:889</a></div></div>
13464</div><!-- fragment -->
13465</div>
13466</div>
13467<a class="anchor" id="ab30659aa2125bd5857547d424e601e34"></a>
13468<div class="memitem">
13469<div class="memproto">
13470<table class="mlabels">
13471 <tr>
13472 <td class="mlabels-left">
13473 <table class="memname">
13474 <tr>
13475 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sadd_qs16 </td>
13476 <td>(</td>
13477 <td class="paramtype">qint16_t&#160;</td>
13478 <td class="paramname"><em>a</em>, </td>
13479 </tr>
13480 <tr>
13481 <td class="paramkey"></td>
13482 <td></td>
13483 <td class="paramtype">qint16_t&#160;</td>
13484 <td class="paramname"><em>b</em>&#160;</td>
13485 </tr>
13486 <tr>
13487 <td></td>
13488 <td>)</td>
13489 <td></td><td></td>
13490 </tr>
13491 </table>
13492 </td>
13493 <td class="mlabels-right">
13494<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13495 </tr>
13496</table>
13497</div><div class="memdoc">
13498
13499<p>16 bit fixed point scalar add </p>
13500<dl class="params"><dt>Parameters</dt><dd>
13501 <table class="params">
13502 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
13503 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
13504 </table>
13505 </dd>
13506</dl>
13507<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition </dd></dl>
13508
13509<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00093">93</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13510
13511<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
13512<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div>
13513<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> a + b;</div>
13514<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;}</div>
13515</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013516</div>
13517</div>
13518<a class="anchor" id="aa8cee074ec68e2ae7830a9472efd8429"></a>
13519<div class="memitem">
13520<div class="memproto">
13521<table class="mlabels">
13522 <tr>
13523 <td class="mlabels-left">
13524 <table class="memname">
13525 <tr>
13526 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sadd_qs8 </td>
13527 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013528 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013529 <td class="paramname"><em>a</em>, </td>
13530 </tr>
13531 <tr>
13532 <td class="paramkey"></td>
13533 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013534 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013535 <td class="paramname"><em>b</em>&#160;</td>
13536 </tr>
13537 <tr>
13538 <td></td>
13539 <td>)</td>
13540 <td></td><td></td>
13541 </tr>
13542 </table>
13543 </td>
13544 <td class="mlabels-right">
13545<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13546 </tr>
13547</table>
13548</div><div class="memdoc">
13549
13550<p>8 bit fixed point scalar add </p>
13551<dl class="params"><dt>Parameters</dt><dd>
13552 <table class="params">
13553 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
13554 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
13555 </table>
13556 </dd>
13557</dl>
13558<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition </dd></dl>
13559
Kaizen8938bd32017-09-28 14:38:23 +010013560<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00088">88</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013561
Kaizen8938bd32017-09-28 14:38:23 +010013562<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
13563<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
13564<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> a + b;</div>
13565<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
13566</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013567</div>
13568</div>
Kaizen8938bd32017-09-28 14:38:23 +010013569<a class="anchor" id="a3d3d8bf7b86db4d7d4ebfe5b332f41b3"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013570<div class="memitem">
13571<div class="memproto">
13572 <table class="memname">
13573 <tr>
13574 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::scaled_dimensions </td>
13575 <td>(</td>
13576 <td class="paramtype">unsigned int&#160;</td>
13577 <td class="paramname"><em>width</em>, </td>
13578 </tr>
13579 <tr>
13580 <td class="paramkey"></td>
13581 <td></td>
13582 <td class="paramtype">unsigned int&#160;</td>
13583 <td class="paramname"><em>height</em>, </td>
13584 </tr>
13585 <tr>
13586 <td class="paramkey"></td>
13587 <td></td>
13588 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013589 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013590 </tr>
13591 <tr>
13592 <td class="paramkey"></td>
13593 <td></td>
13594 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013595 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013596 </tr>
13597 <tr>
13598 <td class="paramkey"></td>
13599 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013600 <td class="paramtype">const PadStrideInfo &amp;&#160;</td>
13601 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013602 </tr>
13603 <tr>
13604 <td></td>
13605 <td>)</td>
13606 <td></td><td></td>
13607 </tr>
13608 </table>
13609</div><div class="memdoc">
13610
13611<p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
13612<dl class="params"><dt>Parameters</dt><dd>
13613 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010013614 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
13615 <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 +010013616 <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>
13617 <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>
13618 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Pad and stride information.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000013619 </table>
13620 </dd>
13621</dl>
13622<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>
13623
Anthony Barbier871448e2017-03-24 14:54:29 +000013624</div>
13625</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013626<a class="anchor" id="a55e8e161b9a16d750a6cff3fba6cd480"></a>
13627<div class="memitem">
13628<div class="memproto">
13629<table class="mlabels">
13630 <tr>
13631 <td class="mlabels-left">
13632 <table class="memname">
13633 <tr>
13634 <td class="memname">float scvt_f32_qs16 </td>
13635 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013636 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013637 <td class="paramname"><em>a</em>, </td>
13638 </tr>
13639 <tr>
13640 <td class="paramkey"></td>
13641 <td></td>
13642 <td class="paramtype">int&#160;</td>
13643 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13644 </tr>
13645 <tr>
13646 <td></td>
13647 <td>)</td>
13648 <td></td><td></td>
13649 </tr>
13650 </table>
13651 </td>
13652 <td class="mlabels-right">
13653<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13654 </tr>
13655</table>
13656</div><div class="memdoc">
13657
13658<p>Convert a 16 bit fixed point to float. </p>
13659<dl class="params"><dt>Parameters</dt><dd>
13660 <table class="params">
13661 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
13662 <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>
13663 </table>
13664 </dd>
13665</dl>
13666<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float </dd></dl>
13667
Kaizen8938bd32017-09-28 14:38:23 +010013668<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00400">400</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13669<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;{</div>
13670<div class="line"><a name="l00402"></a><span class="lineno"> 402</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) / (1 &lt;&lt; fixed_point_position);</div>
13671<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;}</div>
13672</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013673</div>
13674</div>
13675<a class="anchor" id="a62232512d049619479b670c58a607924"></a>
13676<div class="memitem">
13677<div class="memproto">
13678<table class="mlabels">
13679 <tr>
13680 <td class="mlabels-left">
13681 <table class="memname">
13682 <tr>
13683 <td class="memname">float scvt_f32_qs8 </td>
13684 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013685 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013686 <td class="paramname"><em>a</em>, </td>
13687 </tr>
13688 <tr>
13689 <td class="paramkey"></td>
13690 <td></td>
13691 <td class="paramtype">int&#160;</td>
13692 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13693 </tr>
13694 <tr>
13695 <td></td>
13696 <td>)</td>
13697 <td></td><td></td>
13698 </tr>
13699 </table>
13700 </td>
13701 <td class="mlabels-right">
13702<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13703 </tr>
13704</table>
13705</div><div class="memdoc">
13706
13707<p>Convert an 8 bit fixed point to float. </p>
13708<dl class="params"><dt>Parameters</dt><dd>
13709 <table class="params">
13710 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
13711 <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>
13712 </table>
13713 </dd>
13714</dl>
13715<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float </dd></dl>
13716
Kaizen8938bd32017-09-28 14:38:23 +010013717<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>
13718<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div>
13719<div class="line"><a name="l00391"></a><span class="lineno"> 391</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) / (1 &lt;&lt; fixed_point_position);</div>
13720<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013721</div><!-- fragment -->
13722</div>
13723</div>
Kaizen8938bd32017-09-28 14:38:23 +010013724<a class="anchor" id="a62b21ae2dd27770147d5b7c265fa534c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013725<div class="memitem">
13726<div class="memproto">
13727<table class="mlabels">
13728 <tr>
13729 <td class="mlabels-left">
13730 <table class="memname">
13731 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010013732 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sdiv_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013733 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013734 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013735 <td class="paramname"><em>a</em>, </td>
13736 </tr>
13737 <tr>
13738 <td class="paramkey"></td>
13739 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013740 <td class="paramtype">qint16_t&#160;</td>
13741 <td class="paramname"><em>b</em>, </td>
13742 </tr>
13743 <tr>
13744 <td class="paramkey"></td>
13745 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013746 <td class="paramtype">int&#160;</td>
13747 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13748 </tr>
13749 <tr>
13750 <td></td>
13751 <td>)</td>
13752 <td></td><td></td>
13753 </tr>
13754 </table>
13755 </td>
13756 <td class="mlabels-right">
13757<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13758 </tr>
13759</table>
13760</div><div class="memdoc">
13761
Kaizen8938bd32017-09-28 14:38:23 +010013762<p>16 bit fixed point scalar division </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013763<dl class="params"><dt>Parameters</dt><dd>
13764 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010013765 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
13766 <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 +010013767 <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>
13768 </table>
13769 </dd>
13770</dl>
Kaizen8938bd32017-09-28 14:38:23 +010013771<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 +010013772
Kaizen8938bd32017-09-28 14:38:23 +010013773<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00271">271</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13774
13775<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
13776<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;{</div>
13777<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> temp = a &lt;&lt; fixed_point_position;</div>
13778<div class="line"><a name="l00274"></a><span class="lineno"> 274</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 / b);</div>
13779<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
13780<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>
13781<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 +010013782</div><!-- fragment -->
13783</div>
13784</div>
13785<a class="anchor" id="ae39636f0e83dd3b854b89181a230216f"></a>
13786<div class="memitem">
13787<div class="memproto">
13788<table class="mlabels">
13789 <tr>
13790 <td class="mlabels-left">
13791 <table class="memname">
13792 <tr>
13793 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sdiv_qs8 </td>
13794 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013795 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013796 <td class="paramname"><em>a</em>, </td>
13797 </tr>
13798 <tr>
13799 <td class="paramkey"></td>
13800 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013801 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013802 <td class="paramname"><em>b</em>, </td>
13803 </tr>
13804 <tr>
13805 <td class="paramkey"></td>
13806 <td></td>
13807 <td class="paramtype">int&#160;</td>
13808 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13809 </tr>
13810 <tr>
13811 <td></td>
13812 <td>)</td>
13813 <td></td><td></td>
13814 </tr>
13815 </table>
13816 </td>
13817 <td class="mlabels-right">
13818<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13819 </tr>
13820</table>
13821</div><div class="memdoc">
13822
13823<p>8 bit fixed point scalar division </p>
13824<dl class="params"><dt>Parameters</dt><dd>
13825 <table class="params">
13826 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
13827 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
13828 <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>
13829 </table>
13830 </dd>
13831</dl>
13832<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point division. </dd></dl>
13833
Kaizen8938bd32017-09-28 14:38:23 +010013834<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00265">265</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013835
Kaizen8938bd32017-09-28 14:38:23 +010013836<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
13837<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;{</div>
13838<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#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = a &lt;&lt; fixed_point_position;</div>
13839<div class="line"><a name="l00268"></a><span class="lineno"> 268</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 / b);</div>
13840<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
13841<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 +010013842<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>
13843</div><!-- fragment -->
13844</div>
13845</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013846<a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
13847<div class="memitem">
13848<div class="memproto">
13849<table class="mlabels">
13850 <tr>
13851 <td class="mlabels-left">
13852 <table class="memname">
13853 <tr>
13854 <td class="memname">bool arm_compute::separate_matrix </td>
13855 <td>(</td>
13856 <td class="paramtype">const int16_t *&#160;</td>
13857 <td class="paramname"><em>conv</em>, </td>
13858 </tr>
13859 <tr>
13860 <td class="paramkey"></td>
13861 <td></td>
13862 <td class="paramtype">int16_t *&#160;</td>
13863 <td class="paramname"><em>conv_col</em>, </td>
13864 </tr>
13865 <tr>
13866 <td class="paramkey"></td>
13867 <td></td>
13868 <td class="paramtype">int16_t *&#160;</td>
13869 <td class="paramname"><em>conv_row</em>, </td>
13870 </tr>
13871 <tr>
13872 <td class="paramkey"></td>
13873 <td></td>
13874 <td class="paramtype">uint8_t&#160;</td>
13875 <td class="paramname"><em>size</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>Separate a 2D convolution into two 1D convolutions. </p>
13891<dl class="params"><dt>Parameters</dt><dd>
13892 <table class="params">
13893 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
13894 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
13895 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
13896 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
13897 </table>
13898 </dd>
13899</dl>
13900<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
13901
Kaizen8938bd32017-09-28 14:38:23 +010013902<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00355">355</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 +010013903
Kaizen8938bd32017-09-28 14:38:23 +010013904<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00276">size</a>.</p>
13905<div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div>
13906<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; int32_t min_col = -1;</div>
13907<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; int16_t min_col_val = -1;</div>
13908<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div>
13909<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">for</span>(int32_t i = 0; i &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++i)</div>
13910<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; {</div>
13911<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(conv[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>(conv[i])))</div>
13912<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
13913<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; min_col = i;</div>
13914<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; min_col_val = conv[i];</div>
13915<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
13916<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div>
13917<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div>
13918<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">if</span>(min_col &lt; 0)</div>
13919<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div>
13920<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
13921<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; }</div>
13922<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
13923<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div>
13924<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; {</div>
13925<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; conv_col[j] = conv[min_col + j * <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>];</div>
13926<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
13927<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
13928<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; i++)</div>
13929<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
13930<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div>
13931<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
13932<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; conv_row[i] = 1;</div>
13933<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
13934<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">else</span></div>
13935<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {</div>
13936<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; int16_t coeff = conv[i] / conv[min_col];</div>
13937<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div>
13938<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div>
13939<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div>
13940<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span>(conv[i + j * size] != (conv_col[j] * coeff))</div>
13941<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div>
13942<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
13943<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div>
13944<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
13945<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div>
13946<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; conv_row[i] = coeff;</div>
13947<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
13948<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div>
13949<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div>
13950<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
13951<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;}</div>
13952<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
13953<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#l00914">FixedPoint.h:914</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013954</div><!-- fragment -->
13955</div>
13956</div>
13957<a class="anchor" id="ad19446be52c2c162fa678b9ae236f445"></a>
13958<div class="memitem">
13959<div class="memproto">
13960<table class="mlabels">
13961 <tr>
13962 <td class="mlabels-left">
13963 <table class="memname">
13964 <tr>
13965 <td class="memname">bool set_data_type_if_unknown </td>
13966 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013967 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013968 <td class="paramname"><em>info</em>, </td>
13969 </tr>
13970 <tr>
13971 <td class="paramkey"></td>
13972 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013973 <td class="paramtype">DataType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013974 <td class="paramname"><em>data_type</em>&#160;</td>
13975 </tr>
13976 <tr>
13977 <td></td>
13978 <td>)</td>
13979 <td></td><td></td>
13980 </tr>
13981 </table>
13982 </td>
13983 <td class="mlabels-right">
13984<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13985 </tr>
13986</table>
13987</div><div class="memdoc">
13988
Kaizen8938bd32017-09-28 14:38:23 +010013989<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00236">236</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013990
Kaizen8938bd32017-09-28 14:38:23 +010013991<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#a4b622a0346ec30baf0b9a387e00c9ace">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
13992<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div>
13993<div class="line"><a name="l00238"></a><span class="lineno"> 238</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>
13994<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
13995<div class="line"><a name="l00240"></a><span class="lineno"> 240</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>
13996<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
13997<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
13998<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div>
13999<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14000<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;}</div>
14001<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>
14002<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
14003</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014004</div>
14005</div>
14006<a class="anchor" id="a0894ed18ca6f55d6053882676cc2c95c"></a>
14007<div class="memitem">
14008<div class="memproto">
14009<table class="mlabels">
14010 <tr>
14011 <td class="mlabels-left">
14012 <table class="memname">
14013 <tr>
14014 <td class="memname">bool set_fixed_point_position_if_zero </td>
14015 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014016 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014017 <td class="paramname"><em>info</em>, </td>
14018 </tr>
14019 <tr>
14020 <td class="paramkey"></td>
14021 <td></td>
14022 <td class="paramtype">int&#160;</td>
14023 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14024 </tr>
14025 <tr>
14026 <td></td>
14027 <td>)</td>
14028 <td></td><td></td>
14029 </tr>
14030 </table>
14031 </td>
14032 <td class="mlabels-right">
14033<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14034 </tr>
14035</table>
14036</div><div class="memdoc">
14037
Kaizen8938bd32017-09-28 14:38:23 +010014038<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00247">247</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014039
14040<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#aec2c125ece3cc6593a0be7f1fef3d97f">ITensorInfo::set_fixed_point_position()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014041<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;{</div>
14042<div class="line"><a name="l00249"></a><span class="lineno"> 249</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>
14043<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
14044<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div>
14045<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14046<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
14047<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div>
14048<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14049<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;}</div>
14050<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>
14051</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014052</div>
14053</div>
14054<a class="anchor" id="a8076ba239b6681067b6cfea7f773a39f"></a>
14055<div class="memitem">
14056<div class="memproto">
14057<table class="mlabels">
14058 <tr>
14059 <td class="mlabels-left">
14060 <table class="memname">
14061 <tr>
14062 <td class="memname">bool set_format_if_unknown </td>
14063 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014064 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014065 <td class="paramname"><em>info</em>, </td>
14066 </tr>
14067 <tr>
14068 <td class="paramkey"></td>
14069 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014070 <td class="paramtype">Format&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014071 <td class="paramname"><em>format</em>&#160;</td>
14072 </tr>
14073 <tr>
14074 <td></td>
14075 <td>)</td>
14076 <td></td><td></td>
14077 </tr>
14078 </table>
14079 </td>
14080 <td class="mlabels-right">
14081<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14082 </tr>
14083</table>
14084</div><div class="memdoc">
14085
Kaizen8938bd32017-09-28 14:38:23 +010014086<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00225">225</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014087
Kaizen8938bd32017-09-28 14:38:23 +010014088<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#a43bf980bc1ac27efa062386baa506380">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
14089<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
14090<div class="line"><a name="l00227"></a><span class="lineno"> 227</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>
14091<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
14092<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div>
14093<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14094<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
14095<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
14096<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14097<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div>
14098<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>
14099</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014100</div>
14101</div>
14102<a class="anchor" id="a9d1a839c51134b2ae171a2264c541b6f"></a>
14103<div class="memitem">
14104<div class="memproto">
14105<table class="mlabels">
14106 <tr>
14107 <td class="mlabels-left">
14108 <table class="memname">
14109 <tr>
14110 <td class="memname">bool set_shape_if_empty </td>
14111 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014112 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014113 <td class="paramname"><em>info</em>, </td>
14114 </tr>
14115 <tr>
14116 <td class="paramkey"></td>
14117 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014118 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014119 <td class="paramname"><em>shape</em>&#160;</td>
14120 </tr>
14121 <tr>
14122 <td></td>
14123 <td>)</td>
14124 <td></td><td></td>
14125 </tr>
14126 </table>
14127 </td>
14128 <td class="mlabels-right">
14129<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14130 </tr>
14131</table>
14132</div><div class="memdoc">
14133
Kaizen8938bd32017-09-28 14:38:23 +010014134<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00214">214</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014135
Kaizen8938bd32017-09-28 14:38:23 +010014136<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a40deec9ef7e7c892bef6b11b4d81c38e">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#l00135">TensorShape::total_size()</a>.</p>
14137<div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;{</div>
14138<div class="line"><a name="l00216"></a><span class="lineno"> 216</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>
14139<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
14140<div class="line"><a name="l00218"></a><span class="lineno"> 218</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>
14141<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14142<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
14143<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div>
14144<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14145<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
14146<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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
14147<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>
14148</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014149</div>
14150</div>
Kaizen8938bd32017-09-28 14:38:23 +010014151<a class="anchor" id="acc38b787d0451ec4a3e632ed919ac298"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014152<div class="memitem">
14153<div class="memproto">
14154 <table class="memname">
14155 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010014156 <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 +010014157 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014158 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014159 <td class="paramname"><em>a</em>, </td>
14160 </tr>
14161 <tr>
14162 <td class="paramkey"></td>
14163 <td></td>
14164 <td class="paramtype">int&#160;</td>
14165 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14166 </tr>
14167 <tr>
14168 <td></td>
14169 <td>)</td>
14170 <td></td><td></td>
14171 </tr>
14172 </table>
14173</div><div class="memdoc">
14174
Kaizen8938bd32017-09-28 14:38:23 +010014175<p>16 bit fixed point scalar exponential </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014176<dl class="params"><dt>Parameters</dt><dd>
14177 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010014178 <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 +010014179 <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>
14180 </table>
14181 </dd>
14182</dl>
Kaizen8938bd32017-09-28 14:38:23 +010014183<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 +010014184
14185</div>
14186</div>
Kaizen8938bd32017-09-28 14:38:23 +010014187<a class="anchor" id="a162390097e05ddc016310bad881c461c"></a>
14188<div class="memitem">
14189<div class="memproto">
14190<table class="mlabels">
14191 <tr>
14192 <td class="mlabels-left">
14193 <table class="memname">
14194 <tr>
14195 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sinvsqrt_qs16 </td>
14196 <td>(</td>
14197 <td class="paramtype">qint16_t&#160;</td>
14198 <td class="paramname"><em>a</em>, </td>
14199 </tr>
14200 <tr>
14201 <td class="paramkey"></td>
14202 <td></td>
14203 <td class="paramtype">int&#160;</td>
14204 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14205 </tr>
14206 <tr>
14207 <td></td>
14208 <td>)</td>
14209 <td></td><td></td>
14210 </tr>
14211 </table>
14212 </td>
14213 <td class="mlabels-right">
14214<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14215 </tr>
14216</table>
14217</div><div class="memdoc">
14218
14219<p>16 bit fixed point scalar inverse square root </p>
14220<dl class="params"><dt>Parameters</dt><dd>
14221 <table class="params">
14222 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
14223 <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>
14224 </table>
14225 </dd>
14226</dl>
14227<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point inverse square root. </dd></dl>
14228
14229<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">245</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14230
14231<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">smul_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">ssub_qs16()</a>.</p>
14232<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;{</div>
14233<div class="line"><a name="l00247"></a><span class="lineno"> 247</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) - 16));</div>
14234<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
14235<div class="line"><a name="l00249"></a><span class="lineno"> 249</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>
14236<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = shift &lt; 0 ? (a &lt;&lt; -shift) : (a &gt;&gt; shift);</div>
14237<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> x2 = temp;</div>
14238<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
14239<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">// We need three iterations to find the result</span></div>
14240<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div>
14241<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
14242<div class="line"><a name="l00256"></a><span class="lineno"> 256</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>
14243<div class="line"><a name="l00257"></a><span class="lineno"> 257</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>
14244<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div>
14245<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
14246<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; temp = shift &lt; 0 ? (x2 &lt;&lt; ((-shift) &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</div>
14247<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
14248<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> temp;</div>
14249<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
14250<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#l00165">FixedPoint.inl:165</a></div></div>
14251<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>
14252<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#l00130">FixedPoint.inl:130</a></div></div>
14253</div><!-- fragment -->
14254</div>
14255</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014256<a class="anchor" id="ab768d7001612a149c0bf695b773d659b"></a>
14257<div class="memitem">
14258<div class="memproto">
14259<table class="mlabels">
14260 <tr>
14261 <td class="mlabels-left">
14262 <table class="memname">
14263 <tr>
14264 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sinvsqrt_qs8 </td>
14265 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014266 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014267 <td class="paramname"><em>a</em>, </td>
14268 </tr>
14269 <tr>
14270 <td class="paramkey"></td>
14271 <td></td>
14272 <td class="paramtype">int&#160;</td>
14273 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14274 </tr>
14275 <tr>
14276 <td></td>
14277 <td>)</td>
14278 <td></td><td></td>
14279 </tr>
14280 </table>
14281 </td>
14282 <td class="mlabels-right">
14283<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14284 </tr>
14285</table>
14286</div><div class="memdoc">
14287
14288<p>8 bit fixed point scalar inverse square root </p>
14289<dl class="params"><dt>Parameters</dt><dd>
14290 <table class="params">
14291 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
14292 <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>
14293 </table>
14294 </dd>
14295</dl>
14296<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point inverse square root. </dd></dl>
14297
Kaizen8938bd32017-09-28 14:38:23 +010014298<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">225</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014299
Kaizen8938bd32017-09-28 14:38:23 +010014300<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">smul_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">ssub_qs8()</a>.</p>
14301<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
14302<div class="line"><a name="l00227"></a><span class="lineno"> 227</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) - 24));</div>
14303<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div>
14304<div class="line"><a name="l00229"></a><span class="lineno"> 229</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>
14305<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> temp = shift &lt; 0 ? (a &lt;&lt; -shift) : (a &gt;&gt; shift);</div>
14306<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> x2 = temp;</div>
14307<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
14308<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// We need three iterations to find the result</span></div>
14309<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div>
14310<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
14311<div class="line"><a name="l00236"></a><span class="lineno"> 236</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>
14312<div class="line"><a name="l00237"></a><span class="lineno"> 237</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>
14313<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
14314<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
14315<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; temp = shift &lt; 0 ? (x2 &lt;&lt; (-shift &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</div>
14316<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div>
14317<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> temp;</div>
14318<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
14319<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#l00153">FixedPoint.inl:153</a></div></div>
14320<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#l00125">FixedPoint.inl:125</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014321<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>
14322</div><!-- fragment -->
14323</div>
14324</div>
Kaizen8938bd32017-09-28 14:38:23 +010014325<a class="anchor" id="ad45601a3c0f1d9f6210041651f4e2f4b"></a>
14326<div class="memitem">
14327<div class="memproto">
14328<table class="mlabels">
14329 <tr>
14330 <td class="mlabels-left">
14331 <table class="memname">
14332 <tr>
14333 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> slog_qs16 </td>
14334 <td>(</td>
14335 <td class="paramtype">qint16_t&#160;</td>
14336 <td class="paramname"><em>a</em>, </td>
14337 </tr>
14338 <tr>
14339 <td class="paramkey"></td>
14340 <td></td>
14341 <td class="paramtype">int&#160;</td>
14342 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14343 </tr>
14344 <tr>
14345 <td></td>
14346 <td>)</td>
14347 <td></td><td></td>
14348 </tr>
14349 </table>
14350 </td>
14351 <td class="mlabels-right">
14352<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14353 </tr>
14354</table>
14355</div><div class="memdoc">
14356
14357<p>16 bit fixed point scalar logarithm </p>
14358<dl class="params"><dt>Parameters</dt><dd>
14359 <table class="params">
14360 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
14361 <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>
14362 </table>
14363 </dd>
14364</dl>
14365<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point logarithm. </dd></dl>
14366
14367<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">356</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14368
14369<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#l00093">sadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00271">sdiv_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">smul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">ssub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
14370<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;{</div>
14371<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="comment">// Constants</span></div>
14372<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div>
14373<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = (0x58B9 &gt;&gt; (7 - fixed_point_position));</div>
14374<div class="line"><a name="l00361"></a><span class="lineno"> 361</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>
14375<div class="line"><a name="l00362"></a><span class="lineno"> 362</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>
14376<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = (0x2933 &gt;&gt; (7 - fixed_point_position));</div>
14377<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = -(0x0AA7 &gt;&gt; (7 - fixed_point_position));</div>
14378<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div>
14379<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span>((const_one == a) || (a &lt; 0))</div>
14380<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
14381<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> 0;</div>
14382<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
14383<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(a &lt; const_one)</div>
14384<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
14385<div class="line"><a name="l00372"></a><span class="lineno"> 372</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, fixed_point_position), fixed_point_position);</div>
14386<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
14387<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div>
14388<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="comment">// Remove even powers of 2</span></div>
14389<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift_val = 31 - __builtin_clz(a &gt;&gt; fixed_point_position);</div>
14390<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; a &gt;&gt;= shift_val;</div>
14391<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; a = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(a, const_one);</div>
14392<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
14393<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="comment">// Polynomial expansion</span></div>
14394<div class="line"><a name="l00381"></a><span class="lineno"> 381</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, D, fixed_point_position), C);</div>
14395<div class="line"><a name="l00382"></a><span class="lineno"> 382</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, sum, fixed_point_position), B);</div>
14396<div class="line"><a name="l00383"></a><span class="lineno"> 383</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, sum, fixed_point_position), A);</div>
14397<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position);</div>
14398<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div>
14399<div class="line"><a name="l00386"></a><span class="lineno"> 386</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>
14400<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;}</div>
14401<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>
14402<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#l00271">FixedPoint.inl:271</a></div></div>
14403<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>
14404<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>
14405<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#l00356">FixedPoint.inl:356</a></div></div>
14406<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#l00165">FixedPoint.inl:165</a></div></div>
14407<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>
14408<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#l00107">FixedPoint.inl:107</a></div></div>
14409<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#l00130">FixedPoint.inl:130</a></div></div>
14410<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#l00093">FixedPoint.inl:93</a></div></div>
14411<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#l00189">FixedPoint.inl:189</a></div></div>
14412</div><!-- fragment -->
14413</div>
14414</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014415<a class="anchor" id="a596a7e3c63f80e67ea7cb713e8fc9992"></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"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> slog_qs8 </td>
14424 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014425 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014426 <td class="paramname"><em>a</em>, </td>
14427 </tr>
14428 <tr>
14429 <td class="paramkey"></td>
14430 <td></td>
14431 <td class="paramtype">int&#160;</td>
14432 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14433 </tr>
14434 <tr>
14435 <td></td>
14436 <td>)</td>
14437 <td></td><td></td>
14438 </tr>
14439 </table>
14440 </td>
14441 <td class="mlabels-right">
14442<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14443 </tr>
14444</table>
14445</div><div class="memdoc">
14446
14447<p>8 bit fixed point scalar logarithm </p>
14448<dl class="params"><dt>Parameters</dt><dd>
14449 <table class="params">
14450 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
14451 <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>
14452 </table>
14453 </dd>
14454</dl>
14455<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point logarithm. </dd></dl>
14456
Kaizen8938bd32017-09-28 14:38:23 +010014457<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">323</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014458
Kaizen8938bd32017-09-28 14:38:23 +010014459<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#l00088">sadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00265">sdiv_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">smul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">ssub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
14460<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div>
14461<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// Constants</span></div>
14462<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div>
14463<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = (0x58 &gt;&gt; (7 - fixed_point_position));</div>
14464<div class="line"><a name="l00328"></a><span class="lineno"> 328</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>
14465<div class="line"><a name="l00329"></a><span class="lineno"> 329</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>
14466<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = (0x29 &gt;&gt; (7 - fixed_point_position));</div>
14467<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = -(0x0A &gt;&gt; (7 - fixed_point_position));</div>
14468<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div>
14469<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span>((const_one == a) || (a &lt; 0))</div>
14470<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
14471<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> 0;</div>
14472<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
14473<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(a &lt; const_one)</div>
14474<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
14475<div class="line"><a name="l00339"></a><span class="lineno"> 339</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, fixed_point_position), fixed_point_position);</div>
14476<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
14477<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
14478<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="comment">// Remove even powers of 2</span></div>
14479<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift_val = 31 - __builtin_clz(a &gt;&gt; fixed_point_position);</div>
14480<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; a &gt;&gt;= shift_val;</div>
14481<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; a = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(a, const_one);</div>
14482<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
14483<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="comment">// Polynomial expansion</span></div>
14484<div class="line"><a name="l00348"></a><span class="lineno"> 348</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, D, fixed_point_position), C);</div>
14485<div class="line"><a name="l00349"></a><span class="lineno"> 349</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, sum, fixed_point_position), B);</div>
14486<div class="line"><a name="l00350"></a><span class="lineno"> 350</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, sum, fixed_point_position), A);</div>
14487<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position);</div>
14488<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div>
14489<div class="line"><a name="l00353"></a><span class="lineno"> 353</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>
14490<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;}</div>
14491<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>
14492<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#l00153">FixedPoint.inl:153</a></div></div>
14493<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#l00125">FixedPoint.inl:125</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014494<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 +010014495<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>
14496<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#l00088">FixedPoint.inl:88</a></div></div>
14497<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#l00265">FixedPoint.inl:265</a></div></div>
14498<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#l00177">FixedPoint.inl:177</a></div></div>
14499<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#l00323">FixedPoint.inl:323</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014500<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 +010014501<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#l00098">FixedPoint.inl:98</a></div></div>
14502</div><!-- fragment -->
14503</div>
14504</div>
14505<a class="anchor" id="a7e6eff2c8b93f18002c06059b7e5b79a"></a>
14506<div class="memitem">
14507<div class="memproto">
14508<table class="mlabels">
14509 <tr>
14510 <td class="mlabels-left">
14511 <table class="memname">
14512 <tr>
14513 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> smul_qs16 </td>
14514 <td>(</td>
14515 <td class="paramtype">qint16_t&#160;</td>
14516 <td class="paramname"><em>a</em>, </td>
14517 </tr>
14518 <tr>
14519 <td class="paramkey"></td>
14520 <td></td>
14521 <td class="paramtype">qint16_t&#160;</td>
14522 <td class="paramname"><em>b</em>, </td>
14523 </tr>
14524 <tr>
14525 <td class="paramkey"></td>
14526 <td></td>
14527 <td class="paramtype">int&#160;</td>
14528 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14529 </tr>
14530 <tr>
14531 <td></td>
14532 <td>)</td>
14533 <td></td><td></td>
14534 </tr>
14535 </table>
14536 </td>
14537 <td class="mlabels-right">
14538<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14539 </tr>
14540</table>
14541</div><div class="memdoc">
14542
14543<p>16 bit fixed point scalar multiply </p>
14544<dl class="params"><dt>Parameters</dt><dd>
14545 <table class="params">
14546 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
14547 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
14548 <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>
14549 </table>
14550 </dd>
14551</dl>
14552<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. </dd></dl>
14553
14554<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">165</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14555
14556<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
14557<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div>
14558<div class="line"><a name="l00167"></a><span class="lineno"> 167</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>
14559<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
14560<div class="line"><a name="l00169"></a><span class="lineno"> 169</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) * static_cast&lt;qint32_t&gt;(b);</div>
14561<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
14562<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// Rounding up</span></div>
14563<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; tmp += round_up_const;</div>
14564<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
14565<div class="line"><a name="l00174"></a><span class="lineno"> 174</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>
14566<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
14567<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>
14568<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 +010014569</div><!-- fragment -->
14570</div>
14571</div>
14572<a class="anchor" id="aec48f137adc904d648dd7eba0d828fab"></a>
14573<div class="memitem">
14574<div class="memproto">
14575<table class="mlabels">
14576 <tr>
14577 <td class="mlabels-left">
14578 <table class="memname">
14579 <tr>
14580 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> smul_qs8 </td>
14581 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014582 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014583 <td class="paramname"><em>a</em>, </td>
14584 </tr>
14585 <tr>
14586 <td class="paramkey"></td>
14587 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014588 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014589 <td class="paramname"><em>b</em>, </td>
14590 </tr>
14591 <tr>
14592 <td class="paramkey"></td>
14593 <td></td>
14594 <td class="paramtype">int&#160;</td>
14595 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14596 </tr>
14597 <tr>
14598 <td></td>
14599 <td>)</td>
14600 <td></td><td></td>
14601 </tr>
14602 </table>
14603 </td>
14604 <td class="mlabels-right">
14605<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14606 </tr>
14607</table>
14608</div><div class="memdoc">
14609
14610<p>8 bit fixed point scalar multiply </p>
14611<dl class="params"><dt>Parameters</dt><dd>
14612 <table class="params">
14613 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
14614 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
14615 <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>
14616 </table>
14617 </dd>
14618</dl>
14619<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. </dd></dl>
14620
Kaizen8938bd32017-09-28 14:38:23 +010014621<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">153</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014622
Kaizen8938bd32017-09-28 14:38:23 +010014623<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
14624<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;{</div>
14625<div class="line"><a name="l00155"></a><span class="lineno"> 155</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>
14626<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
14627<div class="line"><a name="l00157"></a><span class="lineno"> 157</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) * static_cast&lt;qint16_t&gt;(b);</div>
14628<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
14629<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// Rounding up</span></div>
14630<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; tmp += round_up_const;</div>
14631<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
14632<div class="line"><a name="l00162"></a><span class="lineno"> 162</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>
14633<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div>
14634<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 +010014635<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>
14636</div><!-- fragment -->
14637</div>
14638</div>
14639<a class="anchor" id="a45669fcc0f31fce521179510e85dcb62"></a>
14640<div class="memitem">
14641<div class="memproto">
14642<table class="mlabels">
14643 <tr>
14644 <td class="mlabels-left">
14645 <table class="memname">
14646 <tr>
14647 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqadd_qs16 </td>
14648 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014649 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014650 <td class="paramname"><em>a</em>, </td>
14651 </tr>
14652 <tr>
14653 <td class="paramkey"></td>
14654 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014655 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014656 <td class="paramname"><em>b</em>&#160;</td>
14657 </tr>
14658 <tr>
14659 <td></td>
14660 <td>)</td>
14661 <td></td><td></td>
14662 </tr>
14663 </table>
14664 </td>
14665 <td class="mlabels-right">
14666<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14667 </tr>
14668</table>
14669</div><div class="memdoc">
14670
14671<p>16 bit fixed point scalar saturating add </p>
14672<dl class="params"><dt>Parameters</dt><dd>
14673 <table class="params">
14674 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
14675 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
14676 </table>
14677 </dd>
14678</dl>
14679<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>
14680
Kaizen8938bd32017-09-28 14:38:23 +010014681<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">107</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14682
14683<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00071">sshr_qs16()</a>.</p>
14684<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div>
14685<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div>
14686<div class="line"><a name="l00110"></a><span class="lineno"> 110</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) + static_cast&lt;qint32_t&gt;(b));</div>
14687<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
14688<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
14689<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp);</div>
14690<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
14691<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>
14692</div><!-- fragment -->
14693</div>
14694</div>
14695<a class="anchor" id="af1a4a8b0eeee4d2d1c14774e2417f3de"></a>
14696<div class="memitem">
14697<div class="memproto">
14698<table class="mlabels">
14699 <tr>
14700 <td class="mlabels-left">
14701 <table class="memname">
14702 <tr>
14703 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqadd_qs32 </td>
14704 <td>(</td>
14705 <td class="paramtype">qint32_t&#160;</td>
14706 <td class="paramname"><em>a</em>, </td>
14707 </tr>
14708 <tr>
14709 <td class="paramkey"></td>
14710 <td></td>
14711 <td class="paramtype">qint32_t&#160;</td>
14712 <td class="paramname"><em>b</em>&#160;</td>
14713 </tr>
14714 <tr>
14715 <td></td>
14716 <td>)</td>
14717 <td></td><td></td>
14718 </tr>
14719 </table>
14720 </td>
14721 <td class="mlabels-right">
14722<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14723 </tr>
14724</table>
14725</div><div class="memdoc">
14726
14727<p>32 bit fixed point scalar saturating add </p>
14728<dl class="params"><dt>Parameters</dt><dd>
14729 <table class="params">
14730 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input </td></tr>
14731 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 32 bit fixed point input</td></tr>
14732 </table>
14733 </dd>
14734</dl>
14735<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>
14736
14737<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00116">116</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14738<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;{</div>
14739<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// We need to store the temporary result in qint64_t otherwise we cannot evaluate the overflow</span></div>
14740<div class="line"><a name="l00119"></a><span class="lineno"> 119</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) + static_cast&lt;qint64_t&gt;(b));</div>
14741<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
14742<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint32_t</span></div>
14743<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint64_t, qint32_t&gt;(tmp);</div>
14744<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div>
14745<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014746</div><!-- fragment -->
14747</div>
14748</div>
14749<a class="anchor" id="a532d90e007d0cb6f3d43107229c40c32"></a>
14750<div class="memitem">
14751<div class="memproto">
14752<table class="mlabels">
14753 <tr>
14754 <td class="mlabels-left">
14755 <table class="memname">
14756 <tr>
14757 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqadd_qs8 </td>
14758 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014759 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014760 <td class="paramname"><em>a</em>, </td>
14761 </tr>
14762 <tr>
14763 <td class="paramkey"></td>
14764 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014765 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014766 <td class="paramname"><em>b</em>&#160;</td>
14767 </tr>
14768 <tr>
14769 <td></td>
14770 <td>)</td>
14771 <td></td><td></td>
14772 </tr>
14773 </table>
14774 </td>
14775 <td class="mlabels-right">
14776<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14777 </tr>
14778</table>
14779</div><div class="memdoc">
14780
14781<p>8 bit fixed point scalar saturating add </p>
14782<dl class="params"><dt>Parameters</dt><dd>
14783 <table class="params">
14784 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
14785 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
14786 </table>
14787 </dd>
14788</dl>
14789<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>
14790
Kaizen8938bd32017-09-28 14:38:23 +010014791<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">98</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014792
Kaizen8938bd32017-09-28 14:38:23 +010014793<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00064">sshr_qs8()</a>.</p>
14794<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;{</div>
14795<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// We need to store the temporary result in qint16_t otherwise we cannot evaluate the overflow</span></div>
14796<div class="line"><a name="l00101"></a><span class="lineno"> 101</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) + static_cast&lt;qint16_t&gt;(b));</div>
14797<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
14798<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
14799<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp);</div>
14800<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
14801<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 +010014802</div><!-- fragment -->
14803</div>
14804</div>
Kaizen8938bd32017-09-28 14:38:23 +010014805<a class="anchor" id="a790df824287a4f498e648dbbb481906b"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014806<div class="memitem">
14807<div class="memproto">
14808<table class="mlabels">
14809 <tr>
14810 <td class="mlabels-left">
14811 <table class="memname">
14812 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010014813 <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 +010014814 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014815 <td class="paramtype">float&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014816 <td class="paramname"><em>a</em>, </td>
14817 </tr>
14818 <tr>
14819 <td class="paramkey"></td>
14820 <td></td>
14821 <td class="paramtype">int&#160;</td>
14822 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14823 </tr>
14824 <tr>
14825 <td></td>
14826 <td>)</td>
14827 <td></td><td></td>
14828 </tr>
14829 </table>
14830 </td>
14831 <td class="mlabels-right">
14832<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14833 </tr>
14834</table>
14835</div><div class="memdoc">
14836
Kaizen8938bd32017-09-28 14:38:23 +010014837<p>Convert a float to 16 bit fixed point. </p>
14838<dl class="params"><dt>Parameters</dt><dd>
14839 <table class="params">
14840 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
14841 <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>
14842 </table>
14843 </dd>
14844</dl>
14845<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 +010014846
Kaizen8938bd32017-09-28 14:38:23 +010014847<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00405">405</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14848<div class="fragment"><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;{</div>
14849<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div>
14850<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;float, qint16_t&gt;(a * (1 &lt;&lt; fixed_point_position) + ((a &gt;= 0) ? 0.5 : -0.5));</div>
14851<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;}</div>
14852</div><!-- fragment -->
14853</div>
14854</div>
14855<a class="anchor" id="a4f425447c1efb8d2b48cb50b110f4739"></a>
14856<div class="memitem">
14857<div class="memproto">
14858<table class="mlabels">
14859 <tr>
14860 <td class="mlabels-left">
14861 <table class="memname">
14862 <tr>
14863 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqcvt_qs8_f32 </td>
14864 <td>(</td>
14865 <td class="paramtype">float&#160;</td>
14866 <td class="paramname"><em>a</em>, </td>
14867 </tr>
14868 <tr>
14869 <td class="paramkey"></td>
14870 <td></td>
14871 <td class="paramtype">int&#160;</td>
14872 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14873 </tr>
14874 <tr>
14875 <td></td>
14876 <td>)</td>
14877 <td></td><td></td>
14878 </tr>
14879 </table>
14880 </td>
14881 <td class="mlabels-right">
14882<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14883 </tr>
14884</table>
14885</div><div class="memdoc">
14886
14887<p>Convert a float to 8 bit fixed point. </p>
14888<dl class="params"><dt>Parameters</dt><dd>
14889 <table class="params">
14890 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
14891 <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>
14892 </table>
14893 </dd>
14894</dl>
14895<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point </dd></dl>
14896
14897<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00394">394</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14898<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;{</div>
14899<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div>
14900<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;float, qint8_t&gt;(a * (1 &lt;&lt; fixed_point_position) + ((a &gt;= 0) ? 0.5 : -0.5));</div>
14901<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;}</div>
14902</div><!-- fragment -->
14903</div>
14904</div>
14905<a class="anchor" id="aba5b39758733711eaf3015d17839feb5"></a>
14906<div class="memitem">
14907<div class="memproto">
14908<table class="mlabels">
14909 <tr>
14910 <td class="mlabels-left">
14911 <table class="memname">
14912 <tr>
14913 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqexp_qs16 </td>
14914 <td>(</td>
14915 <td class="paramtype">qint16_t&#160;</td>
14916 <td class="paramname"><em>a</em>, </td>
14917 </tr>
14918 <tr>
14919 <td class="paramkey"></td>
14920 <td></td>
14921 <td class="paramtype">int&#160;</td>
14922 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14923 </tr>
14924 <tr>
14925 <td></td>
14926 <td>)</td>
14927 <td></td><td></td>
14928 </tr>
14929 </table>
14930 </td>
14931 <td class="mlabels-right">
14932<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14933 </tr>
14934</table>
14935</div><div class="memdoc">
14936
14937<p>16 bit fixed point scalar exponential </p>
14938<dl class="params"><dt>Parameters</dt><dd>
14939 <table class="params">
14940 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
14941 <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>
14942 </table>
14943 </dd>
14944</dl>
14945<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
14946
14947<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">300</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14948
14949<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#l00083">sabs_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">sqshl_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">sqsub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
14950<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;{</div>
14951<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="comment">// Constants</span></div>
14952<div class="line"><a name="l00303"></a><span class="lineno"> 303</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>
14953<div class="line"><a name="l00304"></a><span class="lineno"> 304</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>
14954<div class="line"><a name="l00305"></a><span class="lineno"> 305</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>
14955<div class="line"><a name="l00306"></a><span class="lineno"> 306</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>
14956<div class="line"><a name="l00307"></a><span class="lineno"> 307</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>
14957<div class="line"><a name="l00308"></a><span class="lineno"> 308</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>
14958<div class="line"><a name="l00309"></a><span class="lineno"> 309</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>
14959<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
14960<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="comment">// Polynomial expansion</span></div>
14961<div class="line"><a name="l00312"></a><span class="lineno"> 312</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, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div>
14962<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</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>
14963<div class="line"><a name="l00314"></a><span class="lineno"> 314</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>
14964<div class="line"><a name="l00315"></a><span class="lineno"> 315</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>
14965<div class="line"><a name="l00316"></a><span class="lineno"> 316</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>
14966<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position);</div>
14967<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(sum, const_one);</div>
14968<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
14969<div class="line"><a name="l00320"></a><span class="lineno"> 320</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>
14970<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div>
14971<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>
14972<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#l00083">FixedPoint.inl:83</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014973<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 +010014974<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>
14975<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#l00056">FixedPoint.inl:56</a></div></div>
14976<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>
14977<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#l00107">FixedPoint.inl:107</a></div></div>
14978<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#l00144">FixedPoint.inl:144</a></div></div>
14979<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#l00189">FixedPoint.inl:189</a></div></div>
14980</div><!-- fragment -->
14981</div>
14982</div>
14983<a class="anchor" id="a20724c7cb556b1ff4fd9d01c7020d762"></a>
14984<div class="memitem">
14985<div class="memproto">
14986<table class="mlabels">
14987 <tr>
14988 <td class="mlabels-left">
14989 <table class="memname">
14990 <tr>
14991 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqexp_qs8 </td>
14992 <td>(</td>
14993 <td class="paramtype">qint8_t&#160;</td>
14994 <td class="paramname"><em>a</em>, </td>
14995 </tr>
14996 <tr>
14997 <td class="paramkey"></td>
14998 <td></td>
14999 <td class="paramtype">int&#160;</td>
15000 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15001 </tr>
15002 <tr>
15003 <td></td>
15004 <td>)</td>
15005 <td></td><td></td>
15006 </tr>
15007 </table>
15008 </td>
15009 <td class="mlabels-right">
15010<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15011 </tr>
15012</table>
15013</div><div class="memdoc">
15014
15015<p>8 bit fixed point scalar exponential </p>
15016<dl class="params"><dt>Parameters</dt><dd>
15017 <table class="params">
15018 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
15019 <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>
15020 </table>
15021 </dd>
15022</dl>
15023<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point exponential. </dd></dl>
15024
15025<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">277</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15026
15027<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#l00078">sabs_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">sqshl_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">sqsub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
15028<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;{</div>
15029<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="comment">// Constants</span></div>
15030<div class="line"><a name="l00280"></a><span class="lineno"> 280</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>
15031<div class="line"><a name="l00281"></a><span class="lineno"> 281</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>
15032<div class="line"><a name="l00282"></a><span class="lineno"> 282</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>
15033<div class="line"><a name="l00283"></a><span class="lineno"> 283</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>
15034<div class="line"><a name="l00284"></a><span class="lineno"> 284</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>
15035<div class="line"><a name="l00285"></a><span class="lineno"> 285</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>
15036<div class="line"><a name="l00286"></a><span class="lineno"> 286</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>
15037<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div>
15038<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="comment">// Polynomial expansion</span></div>
15039<div class="line"><a name="l00289"></a><span class="lineno"> 289</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, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div>
15040<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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</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>
15041<div class="line"><a name="l00291"></a><span class="lineno"> 291</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>
15042<div class="line"><a name="l00292"></a><span class="lineno"> 292</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>
15043<div class="line"><a name="l00293"></a><span class="lineno"> 293</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>
15044<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position);</div>
15045<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(sum, const_one);</div>
15046<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
15047<div class="line"><a name="l00297"></a><span class="lineno"> 297</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>
15048<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;}</div>
15049<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>
15050<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>
15051<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>
15052<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#l00048">FixedPoint.inl:48</a></div></div>
15053<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#l00135">FixedPoint.inl:135</a></div></div>
15054<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#l00177">FixedPoint.inl:177</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015055<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 +010015056<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#l00078">FixedPoint.inl:78</a></div></div>
15057<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#l00098">FixedPoint.inl:98</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015058</div><!-- fragment -->
15059</div>
15060</div>
15061<a class="anchor" id="ad555b251940cba2ca1c6eb168f0bbea4"></a>
15062<div class="memitem">
15063<div class="memproto">
15064<table class="mlabels">
15065 <tr>
15066 <td class="mlabels-left">
15067 <table class="memname">
15068 <tr>
15069 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmovn_qs16 </td>
15070 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015071 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015072 <td class="paramname"><em>a</em></td><td>)</td>
15073 <td></td>
15074 </tr>
15075 </table>
15076 </td>
15077 <td class="mlabels-right">
15078<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15079 </tr>
15080</table>
15081</div><div class="memdoc">
15082
15083<p>Scalar saturating move and narrow. </p>
15084<dl class="params"><dt>Parameters</dt><dd>
15085 <table class="params">
15086 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 8 bit fixed point</td></tr>
15087 </table>
15088 </dd>
15089</dl>
15090<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 8 bit </dd></dl>
15091
Kaizen8938bd32017-09-28 14:38:23 +010015092<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00411">411</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15093<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;{</div>
15094<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15095<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(a);</div>
15096<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;}</div>
15097</div><!-- fragment -->
15098</div>
15099</div>
15100<a class="anchor" id="a4a4859f4f212d3824e70a36aed901b5b"></a>
15101<div class="memitem">
15102<div class="memproto">
15103<table class="mlabels">
15104 <tr>
15105 <td class="mlabels-left">
15106 <table class="memname">
15107 <tr>
15108 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmovn_qs32 </td>
15109 <td>(</td>
15110 <td class="paramtype">qint32_t&#160;</td>
15111 <td class="paramname"><em>a</em></td><td>)</td>
15112 <td></td>
15113 </tr>
15114 </table>
15115 </td>
15116 <td class="mlabels-right">
15117<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15118 </tr>
15119</table>
15120</div><div class="memdoc">
15121
15122<p>Scalar saturating move and narrow. </p>
15123<dl class="params"><dt>Parameters</dt><dd>
15124 <table class="params">
15125 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 16 bit fixed point</td></tr>
15126 </table>
15127 </dd>
15128</dl>
15129<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 16 bit </dd></dl>
15130
15131<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00417">417</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15132<div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div>
15133<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
15134<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(a);</div>
15135<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
15136</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010015137</div>
15138</div>
15139<a class="anchor" id="a55c8a365b4242664f8c0f19e91bcee92"></a>
15140<div class="memitem">
15141<div class="memproto">
15142<table class="mlabels">
15143 <tr>
15144 <td class="mlabels-left">
15145 <table class="memname">
15146 <tr>
15147 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmul_qs16 </td>
15148 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015149 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015150 <td class="paramname"><em>a</em>, </td>
15151 </tr>
15152 <tr>
15153 <td class="paramkey"></td>
15154 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015155 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015156 <td class="paramname"><em>b</em>, </td>
15157 </tr>
15158 <tr>
15159 <td class="paramkey"></td>
15160 <td></td>
15161 <td class="paramtype">int&#160;</td>
15162 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15163 </tr>
15164 <tr>
15165 <td></td>
15166 <td>)</td>
15167 <td></td><td></td>
15168 </tr>
15169 </table>
15170 </td>
15171 <td class="mlabels-right">
15172<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15173 </tr>
15174</table>
15175</div><div class="memdoc">
15176
15177<p>16 bit fixed point scalar saturating multiply </p>
15178<dl class="params"><dt>Parameters</dt><dd>
15179 <table class="params">
15180 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15181 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
15182 <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>
15183 </table>
15184 </dd>
15185</dl>
15186<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>
15187
Kaizen8938bd32017-09-28 14:38:23 +010015188<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">189</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15189
15190<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
15191<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
15192<div class="line"><a name="l00191"></a><span class="lineno"> 191</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>
15193<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
15194<div class="line"><a name="l00193"></a><span class="lineno"> 193</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) * static_cast&lt;qint32_t&gt;(b);</div>
15195<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div>
15196<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Rounding up</span></div>
15197<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; tmp += round_up_const;</div>
15198<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
15199<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp &gt;&gt; fixed_point_position);</div>
15200<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;}</div>
15201<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 Barbierdbdab852017-06-23 15:42:00 +010015202</div><!-- fragment -->
15203</div>
15204</div>
15205<a class="anchor" id="af0b73b0c4980a551d7cd4edec43ffd92"></a>
15206<div class="memitem">
15207<div class="memproto">
15208<table class="mlabels">
15209 <tr>
15210 <td class="mlabels-left">
15211 <table class="memname">
15212 <tr>
15213 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmul_qs8 </td>
15214 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015215 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015216 <td class="paramname"><em>a</em>, </td>
15217 </tr>
15218 <tr>
15219 <td class="paramkey"></td>
15220 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015221 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015222 <td class="paramname"><em>b</em>, </td>
15223 </tr>
15224 <tr>
15225 <td class="paramkey"></td>
15226 <td></td>
15227 <td class="paramtype">int&#160;</td>
15228 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15229 </tr>
15230 <tr>
15231 <td></td>
15232 <td>)</td>
15233 <td></td><td></td>
15234 </tr>
15235 </table>
15236 </td>
15237 <td class="mlabels-right">
15238<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15239 </tr>
15240</table>
15241</div><div class="memdoc">
15242
15243<p>8 bit fixed point scalar saturating multiply </p>
15244<dl class="params"><dt>Parameters</dt><dd>
15245 <table class="params">
15246 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15247 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
15248 <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>
15249 </table>
15250 </dd>
15251</dl>
15252<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>
15253
Kaizen8938bd32017-09-28 14:38:23 +010015254<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">177</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015255
Kaizen8938bd32017-09-28 14:38:23 +010015256<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
15257<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div>
15258<div class="line"><a name="l00179"></a><span class="lineno"> 179</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>
15259<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
15260<div class="line"><a name="l00181"></a><span class="lineno"> 181</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) * static_cast&lt;qint16_t&gt;(b);</div>
15261<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
15262<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="comment">// Rounding up</span></div>
15263<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; tmp += round_up_const;</div>
15264<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
15265<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp &gt;&gt; fixed_point_position);</div>
15266<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div>
15267<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>
15268</div><!-- fragment -->
15269</div>
15270</div>
15271<a class="anchor" id="a7f9fcf8e60c300e602327f8ff67800cb"></a>
15272<div class="memitem">
15273<div class="memproto">
15274<table class="mlabels">
15275 <tr>
15276 <td class="mlabels-left">
15277 <table class="memname">
15278 <tr>
15279 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqmull_qs16 </td>
15280 <td>(</td>
15281 <td class="paramtype">qint16_t&#160;</td>
15282 <td class="paramname"><em>a</em>, </td>
15283 </tr>
15284 <tr>
15285 <td class="paramkey"></td>
15286 <td></td>
15287 <td class="paramtype">qint16_t&#160;</td>
15288 <td class="paramname"><em>b</em>, </td>
15289 </tr>
15290 <tr>
15291 <td class="paramkey"></td>
15292 <td></td>
15293 <td class="paramtype">int&#160;</td>
15294 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15295 </tr>
15296 <tr>
15297 <td></td>
15298 <td>)</td>
15299 <td></td><td></td>
15300 </tr>
15301 </table>
15302 </td>
15303 <td class="mlabels-right">
15304<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15305 </tr>
15306</table>
15307</div><div class="memdoc">
15308
15309<p>16 bit fixed point scalar multiply long </p>
15310<dl class="params"><dt>Parameters</dt><dd>
15311 <table class="params">
15312 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15313 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
15314 <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>
15315 </table>
15316 </dd>
15317</dl>
15318<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>
15319
15320<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00213">213</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15321<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div>
15322<div class="line"><a name="l00215"></a><span class="lineno"> 215</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>
15323<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
15324<div class="line"><a name="l00217"></a><span class="lineno"> 217</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) * static_cast&lt;qint32_t&gt;(b);</div>
15325<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
15326<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">// Rounding up</span></div>
15327<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; tmp += round_up_const;</div>
15328<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div>
15329<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div>
15330<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
15331<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 Barbierdbdab852017-06-23 15:42:00 +010015332</div><!-- fragment -->
15333</div>
15334</div>
15335<a class="anchor" id="a0721e062e6d7a90f07fd08aeda5e7eda"></a>
15336<div class="memitem">
15337<div class="memproto">
15338<table class="mlabels">
15339 <tr>
15340 <td class="mlabels-left">
15341 <table class="memname">
15342 <tr>
15343 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmull_qs8 </td>
15344 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015345 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015346 <td class="paramname"><em>a</em>, </td>
15347 </tr>
15348 <tr>
15349 <td class="paramkey"></td>
15350 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015351 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015352 <td class="paramname"><em>b</em>, </td>
15353 </tr>
15354 <tr>
15355 <td class="paramkey"></td>
15356 <td></td>
15357 <td class="paramtype">int&#160;</td>
15358 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15359 </tr>
15360 <tr>
15361 <td></td>
15362 <td>)</td>
15363 <td></td><td></td>
15364 </tr>
15365 </table>
15366 </td>
15367 <td class="mlabels-right">
15368<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15369 </tr>
15370</table>
15371</div><div class="memdoc">
15372
15373<p>8 bit fixed point scalar multiply long </p>
15374<dl class="params"><dt>Parameters</dt><dd>
15375 <table class="params">
15376 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15377 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
15378 <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>
15379 </table>
15380 </dd>
15381</dl>
15382<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>
15383
Kaizen8938bd32017-09-28 14:38:23 +010015384<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15385<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
15386<div class="line"><a name="l00203"></a><span class="lineno"> 203</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>
15387<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
15388<div class="line"><a name="l00205"></a><span class="lineno"> 205</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) * static_cast&lt;qint16_t&gt;(b);</div>
15389<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div>
15390<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="comment">// Rounding up</span></div>
15391<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; tmp += round_up_const;</div>
15392<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
15393<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div>
15394<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div>
15395<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>
15396</div><!-- fragment -->
15397</div>
15398</div>
15399<a class="anchor" id="a383b9d12f86c35ceed6dd5922439aa4c"></a>
15400<div class="memitem">
15401<div class="memproto">
15402<table class="mlabels">
15403 <tr>
15404 <td class="mlabels-left">
15405 <table class="memname">
15406 <tr>
15407 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqshl_qs16 </td>
15408 <td>(</td>
15409 <td class="paramtype">qint16_t&#160;</td>
15410 <td class="paramname"><em>a</em>, </td>
15411 </tr>
15412 <tr>
15413 <td class="paramkey"></td>
15414 <td></td>
15415 <td class="paramtype">int&#160;</td>
15416 <td class="paramname"><em>shift</em>&#160;</td>
15417 </tr>
15418 <tr>
15419 <td></td>
15420 <td>)</td>
15421 <td></td><td></td>
15422 </tr>
15423 </table>
15424 </td>
15425 <td class="mlabels-right">
15426<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15427 </tr>
15428</table>
15429</div><div class="memdoc">
15430
15431<p>16 bit fixed point scalar saturating shift left </p>
15432<dl class="params"><dt>Parameters</dt><dd>
15433 <table class="params">
15434 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15435 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
15436 </table>
15437 </dd>
15438</dl>
15439<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>
15440
15441<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">56</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15442
15443<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
15444<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div>
15445<div class="line"><a name="l00058"></a><span class="lineno"> 58</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) &lt;&lt; shift;</div>
15446<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
15447<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
15448<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp);</div>
15449<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
15450<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 Barbierdbdab852017-06-23 15:42:00 +010015451</div><!-- fragment -->
15452</div>
15453</div>
15454<a class="anchor" id="a203882febb616f5468d1b63b60ffb331"></a>
15455<div class="memitem">
15456<div class="memproto">
15457<table class="mlabels">
15458 <tr>
15459 <td class="mlabels-left">
15460 <table class="memname">
15461 <tr>
15462 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqshl_qs8 </td>
15463 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015464 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015465 <td class="paramname"><em>a</em>, </td>
15466 </tr>
15467 <tr>
15468 <td class="paramkey"></td>
15469 <td></td>
15470 <td class="paramtype">int&#160;</td>
15471 <td class="paramname"><em>shift</em>&#160;</td>
15472 </tr>
15473 <tr>
15474 <td></td>
15475 <td>)</td>
15476 <td></td><td></td>
15477 </tr>
15478 </table>
15479 </td>
15480 <td class="mlabels-right">
15481<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15482 </tr>
15483</table>
15484</div><div class="memdoc">
15485
15486<p>8 bit fixed point scalar saturating shift left </p>
15487<dl class="params"><dt>Parameters</dt><dd>
15488 <table class="params">
15489 <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 +010015490 <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 +010015491 </table>
15492 </dd>
15493</dl>
15494<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>
15495
Kaizen8938bd32017-09-28 14:38:23 +010015496<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015497
Kaizen8938bd32017-09-28 14:38:23 +010015498<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
15499<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div>
15500<div class="line"><a name="l00050"></a><span class="lineno"> 50</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) &lt;&lt; shift;</div>
15501<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
15502<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15503<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp);</div>
15504<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div>
15505<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>
15506</div><!-- fragment -->
15507</div>
15508</div>
15509<a class="anchor" id="a217e5c603560d6f73971983c6d1572a1"></a>
15510<div class="memitem">
15511<div class="memproto">
15512<table class="mlabels">
15513 <tr>
15514 <td class="mlabels-left">
15515 <table class="memname">
15516 <tr>
15517 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqsub_qs16 </td>
15518 <td>(</td>
15519 <td class="paramtype">qint16_t&#160;</td>
15520 <td class="paramname"><em>a</em>, </td>
15521 </tr>
15522 <tr>
15523 <td class="paramkey"></td>
15524 <td></td>
15525 <td class="paramtype">qint16_t&#160;</td>
15526 <td class="paramname"><em>b</em>&#160;</td>
15527 </tr>
15528 <tr>
15529 <td></td>
15530 <td>)</td>
15531 <td></td><td></td>
15532 </tr>
15533 </table>
15534 </td>
15535 <td class="mlabels-right">
15536<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15537 </tr>
15538</table>
15539</div><div class="memdoc">
15540
15541<p>16 bit fixed point scalar saturating subtraction </p>
15542<dl class="params"><dt>Parameters</dt><dd>
15543 <table class="params">
15544 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15545 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
15546 </table>
15547 </dd>
15548</dl>
15549<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>
15550
15551<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">144</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15552
15553<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
15554<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;{</div>
15555<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div>
15556<div class="line"><a name="l00147"></a><span class="lineno"> 147</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) - static_cast&lt;qint32_t&gt;(b);</div>
15557<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
15558<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
15559<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp);</div>
15560<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
15561<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 Barbierdbdab852017-06-23 15:42:00 +010015562</div><!-- fragment -->
15563</div>
15564</div>
15565<a class="anchor" id="ae74bbb6e25cc1b774428722b2faad00c"></a>
15566<div class="memitem">
15567<div class="memproto">
15568<table class="mlabels">
15569 <tr>
15570 <td class="mlabels-left">
15571 <table class="memname">
15572 <tr>
15573 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqsub_qs8 </td>
15574 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015575 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015576 <td class="paramname"><em>a</em>, </td>
15577 </tr>
15578 <tr>
15579 <td class="paramkey"></td>
15580 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015581 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015582 <td class="paramname"><em>b</em>&#160;</td>
15583 </tr>
15584 <tr>
15585 <td></td>
15586 <td>)</td>
15587 <td></td><td></td>
15588 </tr>
15589 </table>
15590 </td>
15591 <td class="mlabels-right">
15592<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15593 </tr>
15594</table>
15595</div><div class="memdoc">
15596
15597<p>8 bit fixed point scalar saturating subtraction </p>
15598<dl class="params"><dt>Parameters</dt><dd>
15599 <table class="params">
15600 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15601 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
15602 </table>
15603 </dd>
15604</dl>
15605<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>
15606
Kaizen8938bd32017-09-28 14:38:23 +010015607<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">135</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015608
Kaizen8938bd32017-09-28 14:38:23 +010015609<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
15610<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div>
15611<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// We need to store the temporary result in uint16_t otherwise we cannot evaluate the overflow</span></div>
15612<div class="line"><a name="l00138"></a><span class="lineno"> 138</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) - static_cast&lt;qint16_t&gt;(b);</div>
15613<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
15614<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15615<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp);</div>
15616<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
15617<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>
15618</div><!-- fragment -->
15619</div>
15620</div>
15621<a class="anchor" id="a1dfcf4fd912cbd9853c0f7ddfcf3a163"></a>
15622<div class="memitem">
15623<div class="memproto">
15624<table class="mlabels">
15625 <tr>
15626 <td class="mlabels-left">
15627 <table class="memname">
15628 <tr>
15629 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sshr_qs16 </td>
15630 <td>(</td>
15631 <td class="paramtype">qint16_t&#160;</td>
15632 <td class="paramname"><em>a</em>, </td>
15633 </tr>
15634 <tr>
15635 <td class="paramkey"></td>
15636 <td></td>
15637 <td class="paramtype">int&#160;</td>
15638 <td class="paramname"><em>shift</em>&#160;</td>
15639 </tr>
15640 <tr>
15641 <td></td>
15642 <td>)</td>
15643 <td></td><td></td>
15644 </tr>
15645 </table>
15646 </td>
15647 <td class="mlabels-right">
15648<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15649 </tr>
15650</table>
15651</div><div class="memdoc">
15652
15653<p>16 bit fixed point scalar shift right </p>
15654<dl class="params"><dt>Parameters</dt><dd>
15655 <table class="params">
15656 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15657 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
15658 </table>
15659 </dd>
15660</dl>
15661<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift </dd></dl>
15662
15663<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00071">71</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15664
15665<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>.</p>
15666<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;{</div>
15667<div class="line"><a name="l00073"></a><span class="lineno"> 73</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>
15668<div class="line"><a name="l00074"></a><span class="lineno"> 74</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>
15669<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(a, round_val) &gt;&gt; shift;</div>
15670<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
15671<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>
15672<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#l00107">FixedPoint.inl:107</a></div></div>
15673<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#l00115">Error.h:115</a></div></div>
15674</div><!-- fragment -->
15675</div>
15676</div>
15677<a class="anchor" id="a3e4f9ff20167e78399975ec02c009c95"></a>
15678<div class="memitem">
15679<div class="memproto">
15680<table class="mlabels">
15681 <tr>
15682 <td class="mlabels-left">
15683 <table class="memname">
15684 <tr>
15685 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sshr_qs8 </td>
15686 <td>(</td>
15687 <td class="paramtype">qint8_t&#160;</td>
15688 <td class="paramname"><em>a</em>, </td>
15689 </tr>
15690 <tr>
15691 <td class="paramkey"></td>
15692 <td></td>
15693 <td class="paramtype">int&#160;</td>
15694 <td class="paramname"><em>shift</em>&#160;</td>
15695 </tr>
15696 <tr>
15697 <td></td>
15698 <td>)</td>
15699 <td></td><td></td>
15700 </tr>
15701 </table>
15702 </td>
15703 <td class="mlabels-right">
15704<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15705 </tr>
15706</table>
15707</div><div class="memdoc">
15708
15709<p>8 bit fixed point scalar shift right </p>
15710<dl class="params"><dt>Parameters</dt><dd>
15711 <table class="params">
15712 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15713 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
15714 </table>
15715 </dd>
15716</dl>
15717<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift </dd></dl>
15718
15719<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00064">64</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15720
15721<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>.</p>
15722<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
15723<div class="line"><a name="l00066"></a><span class="lineno"> 66</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>
15724<div class="line"><a name="l00067"></a><span class="lineno"> 67</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>
15725<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(a, round_val) &gt;&gt; shift;</div>
15726<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div>
15727<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>
15728<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#l00098">FixedPoint.inl:98</a></div></div>
15729<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#l00115">Error.h:115</a></div></div>
15730</div><!-- fragment -->
15731</div>
15732</div>
15733<a class="anchor" id="a70476eda2d46c943d572362fe2fc9d14"></a>
15734<div class="memitem">
15735<div class="memproto">
15736<table class="mlabels">
15737 <tr>
15738 <td class="mlabels-left">
15739 <table class="memname">
15740 <tr>
15741 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ssub_qs16 </td>
15742 <td>(</td>
15743 <td class="paramtype">qint16_t&#160;</td>
15744 <td class="paramname"><em>a</em>, </td>
15745 </tr>
15746 <tr>
15747 <td class="paramkey"></td>
15748 <td></td>
15749 <td class="paramtype">qint16_t&#160;</td>
15750 <td class="paramname"><em>b</em>&#160;</td>
15751 </tr>
15752 <tr>
15753 <td></td>
15754 <td>)</td>
15755 <td></td><td></td>
15756 </tr>
15757 </table>
15758 </td>
15759 <td class="mlabels-right">
15760<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15761 </tr>
15762</table>
15763</div><div class="memdoc">
15764
15765<p>16 bit fixed point scalar subtraction </p>
15766<dl class="params"><dt>Parameters</dt><dd>
15767 <table class="params">
15768 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15769 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
15770 </table>
15771 </dd>
15772</dl>
15773<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction </dd></dl>
15774
15775<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">130</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15776
15777<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
15778<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;{</div>
15779<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> a - b;</div>
15780<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015781</div><!-- fragment -->
15782</div>
15783</div>
15784<a class="anchor" id="ab97841950d268532e51f28a208ddafd4"></a>
15785<div class="memitem">
15786<div class="memproto">
15787<table class="mlabels">
15788 <tr>
15789 <td class="mlabels-left">
15790 <table class="memname">
15791 <tr>
15792 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ssub_qs8 </td>
15793 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015794 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015795 <td class="paramname"><em>a</em>, </td>
15796 </tr>
15797 <tr>
15798 <td class="paramkey"></td>
15799 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015800 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015801 <td class="paramname"><em>b</em>&#160;</td>
15802 </tr>
15803 <tr>
15804 <td></td>
15805 <td>)</td>
15806 <td></td><td></td>
15807 </tr>
15808 </table>
15809 </td>
15810 <td class="mlabels-right">
15811<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15812 </tr>
15813</table>
15814</div><div class="memdoc">
15815
15816<p>8 bit fixed point scalar subtraction </p>
15817<dl class="params"><dt>Parameters</dt><dd>
15818 <table class="params">
15819 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15820 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
15821 </table>
15822 </dd>
15823</dl>
15824<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction </dd></dl>
15825
Kaizen8938bd32017-09-28 14:38:23 +010015826<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">125</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015827
Kaizen8938bd32017-09-28 14:38:23 +010015828<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
15829<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div>
15830<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> a - b;</div>
15831<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
15832</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000015833</div>
15834</div>
15835<a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
15836<div class="memitem">
15837<div class="memproto">
15838 <table class="memname">
15839 <tr>
15840 <td class="memname">const std::string&amp; arm_compute::string_from_activation_func </td>
15841 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015842 <td class="paramtype">ActivationLayerInfo::ActivationFunction&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015843 <td class="paramname"><em>act</em></td><td>)</td>
15844 <td></td>
15845 </tr>
15846 </table>
15847</div><div class="memdoc">
15848
15849<p>Translates a given activation function to a string. </p>
15850<dl class="params"><dt>Parameters</dt><dd>
15851 <table class="params">
15852 <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>
15853 </table>
15854 </dd>
15855</dl>
15856<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
15857
Anthony Barbier871448e2017-03-24 14:54:29 +000015858</div>
15859</div>
15860<a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
15861<div class="memitem">
15862<div class="memproto">
15863 <table class="memname">
15864 <tr>
15865 <td class="memname">const std::string&amp; arm_compute::string_from_border_mode </td>
15866 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015867 <td class="paramtype">BorderMode&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015868 <td class="paramname"><em>border_mode</em></td><td>)</td>
15869 <td></td>
15870 </tr>
15871 </table>
15872</div><div class="memdoc">
15873
15874<p>Translates a given border mode policy to a string. </p>
15875<dl class="params"><dt>Parameters</dt><dd>
15876 <table class="params">
15877 <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>
15878 </table>
15879 </dd>
15880</dl>
15881<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
15882
Anthony Barbier871448e2017-03-24 14:54:29 +000015883</div>
15884</div>
15885<a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
15886<div class="memitem">
15887<div class="memproto">
15888 <table class="memname">
15889 <tr>
15890 <td class="memname">const std::string&amp; arm_compute::string_from_channel </td>
15891 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015892 <td class="paramtype">Channel&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015893 <td class="paramname"><em>channel</em></td><td>)</td>
15894 <td></td>
15895 </tr>
15896 </table>
15897</div><div class="memdoc">
15898
15899<p>Convert a channel identity into a string. </p>
15900<dl class="params"><dt>Parameters</dt><dd>
15901 <table class="params">
15902 <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>
15903 </table>
15904 </dd>
15905</dl>
15906<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
15907
Anthony Barbier871448e2017-03-24 14:54:29 +000015908</div>
15909</div>
15910<a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
15911<div class="memitem">
15912<div class="memproto">
15913 <table class="memname">
15914 <tr>
15915 <td class="memname">const std::string&amp; arm_compute::string_from_data_type </td>
15916 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015917 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015918 <td class="paramname"><em>dt</em></td><td>)</td>
15919 <td></td>
15920 </tr>
15921 </table>
15922</div><div class="memdoc">
15923
15924<p>Convert a data type identity into a string. </p>
15925<dl class="params"><dt>Parameters</dt><dd>
15926 <table class="params">
15927 <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>
15928 </table>
15929 </dd>
15930</dl>
15931<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
15932
Kaizen8938bd32017-09-28 14:38:23 +010015933<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00387">error_on_data_type_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00565">error_on_value_not_representable_in_fixed_point()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000015934
15935</div>
15936</div>
15937<a class="anchor" id="a9c92c867fc64454545668d87b20979eb"></a>
15938<div class="memitem">
15939<div class="memproto">
15940 <table class="memname">
15941 <tr>
15942 <td class="memname">const std::string&amp; arm_compute::string_from_format </td>
15943 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015944 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015945 <td class="paramname"><em>format</em></td><td>)</td>
15946 <td></td>
15947 </tr>
15948 </table>
15949</div><div class="memdoc">
15950
15951<p>Convert a tensor format into a string. </p>
15952<dl class="params"><dt>Parameters</dt><dd>
15953 <table class="params">
15954 <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>
15955 </table>
15956 </dd>
15957</dl>
15958<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
15959
Kaizen8938bd32017-09-28 14:38:23 +010015960<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00356">error_on_format_not_in()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000015961
15962</div>
15963</div>
15964<a class="anchor" id="ade34f5e72f050fd3665f3294dfb15850"></a>
15965<div class="memitem">
15966<div class="memproto">
15967 <table class="memname">
15968 <tr>
15969 <td class="memname">const std::string&amp; arm_compute::string_from_interpolation_policy </td>
15970 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015971 <td class="paramtype">InterpolationPolicy&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015972 <td class="paramname"><em>policy</em></td><td>)</td>
15973 <td></td>
15974 </tr>
15975 </table>
15976</div><div class="memdoc">
15977
15978<p>Translates a given interpolation policy to a string. </p>
15979<dl class="params"><dt>Parameters</dt><dd>
15980 <table class="params">
15981 <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>
15982 </table>
15983 </dd>
15984</dl>
15985<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
15986
Anthony Barbier871448e2017-03-24 14:54:29 +000015987</div>
15988</div>
15989<a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
15990<div class="memitem">
15991<div class="memproto">
15992 <table class="memname">
15993 <tr>
15994 <td class="memname">const std::string&amp; arm_compute::string_from_matrix_pattern </td>
15995 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015996 <td class="paramtype">MatrixPattern&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000015997 <td class="paramname"><em>pattern</em></td><td>)</td>
15998 <td></td>
15999 </tr>
16000 </table>
16001</div><div class="memdoc">
16002
16003<p>Convert a matrix pattern into a string. </p>
16004<dl class="params"><dt>Parameters</dt><dd>
16005 <table class="params">
16006 <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>
16007 </table>
16008 </dd>
16009</dl>
16010<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
16011
Anthony Barbier871448e2017-03-24 14:54:29 +000016012</div>
16013</div>
16014<a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
16015<div class="memitem">
16016<div class="memproto">
16017 <table class="memname">
16018 <tr>
16019 <td class="memname">const std::string&amp; arm_compute::string_from_non_linear_filter_function </td>
16020 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016021 <td class="paramtype">NonLinearFilterFunction&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016022 <td class="paramname"><em>function</em></td><td>)</td>
16023 <td></td>
16024 </tr>
16025 </table>
16026</div><div class="memdoc">
16027
16028<p>Translates a given non linear function to a string. </p>
16029<dl class="params"><dt>Parameters</dt><dd>
16030 <table class="params">
16031 <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>
16032 </table>
16033 </dd>
16034</dl>
16035<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
16036
Anthony Barbierdbdab852017-06-23 15:42:00 +010016037</div>
16038</div>
16039<a class="anchor" id="afb5698af5404d5d11e3516c87b6e7041"></a>
16040<div class="memitem">
16041<div class="memproto">
16042 <table class="memname">
16043 <tr>
16044 <td class="memname">const std::string&amp; arm_compute::string_from_norm_type </td>
16045 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016046 <td class="paramtype">NormType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016047 <td class="paramname"><em>type</em></td><td>)</td>
16048 <td></td>
16049 </tr>
16050 </table>
16051</div><div class="memdoc">
16052
16053<p>Translates a given normalization type to a string. </p>
16054<dl class="params"><dt>Parameters</dt><dd>
16055 <table class="params">
16056 <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>
16057 </table>
16058 </dd>
16059</dl>
16060<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
16061
Kaizen8938bd32017-09-28 14:38:23 +010016062</div>
16063</div>
16064<a class="anchor" id="a84a03e85d2c40bf54ec8cdd5e3715c58"></a>
16065<div class="memitem">
16066<div class="memproto">
16067 <table class="memname">
16068 <tr>
16069 <td class="memname">const std::string&amp; arm_compute::string_from_pooling_type </td>
16070 <td>(</td>
16071 <td class="paramtype">PoolingType&#160;</td>
16072 <td class="paramname"><em>type</em></td><td>)</td>
16073 <td></td>
16074 </tr>
16075 </table>
16076</div><div class="memdoc">
16077
16078<p>Translates a given pooling type to a string. </p>
16079<dl class="params"><dt>Parameters</dt><dd>
16080 <table class="params">
16081 <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>
16082 </table>
16083 </dd>
16084</dl>
16085<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016086
16087</div>
16088</div>
16089<a class="anchor" id="aa5191117dc677a74552769b87131b1b6"></a>
16090<div class="memitem">
16091<div class="memproto">
16092 <table class="memname">
16093 <tr>
16094 <td class="memname">const std::string&amp; arm_compute::string_from_scheduler_type </td>
16095 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016096 <td class="paramtype">Scheduler::Type&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016097 <td class="paramname"><em>t</em></td><td>)</td>
16098 <td></td>
16099 </tr>
16100 </table>
16101</div><div class="memdoc">
16102
16103<p>Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> into a string. </p>
16104<dl class="params"><dt>Parameters</dt><dd>
16105 <table class="params">
16106 <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>
16107 </table>
16108 </dd>
16109</dl>
16110<dl class="section return"><dt>Returns</dt><dd>The string describing the scheduler type. </dd></dl>
16111
16112</div>
16113</div>
16114<a class="anchor" id="afab814721e78cbfc34e7e7fe2874fa56"></a>
16115<div class="memitem">
16116<div class="memproto">
16117 <table class="memname">
16118 <tr>
16119 <td class="memname">const std::string&amp; arm_compute::string_from_target </td>
16120 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016121 <td class="paramtype">GPUTarget&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016122 <td class="paramname"><em>target</em></td><td>)</td>
16123 <td></td>
16124 </tr>
16125 </table>
16126</div><div class="memdoc">
16127
16128<p>Translates a given gpu device target to string. </p>
16129<dl class="params"><dt>Parameters</dt><dd>
16130 <table class="params">
16131 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Given gpu target.</td></tr>
16132 </table>
16133 </dd>
16134</dl>
16135<dl class="section return"><dt>Returns</dt><dd>The string describing the target. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000016136
16137</div>
16138</div>
Kaizen8938bd32017-09-28 14:38:23 +010016139<a class="anchor" id="aabe16be22edb41656e66ed9eae3b69e6"></a>
16140<div class="memitem">
16141<div class="memproto">
16142<table class="mlabels">
16143 <tr>
16144 <td class="mlabels-left">
16145 <table class="memname">
16146 <tr>
16147 <td class="memname">std::string arm_compute::to_string </td>
16148 <td>(</td>
16149 <td class="paramtype">const NonLinearFilterFunction &amp;&#160;</td>
16150 <td class="paramname"><em>function</em></td><td>)</td>
16151 <td></td>
16152 </tr>
16153 </table>
16154 </td>
16155 <td class="mlabels-right">
16156<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16157 </tr>
16158</table>
16159</div><div class="memdoc">
16160
16161<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00075">75</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16162
16163<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00058">main()</a>.</p>
16164<div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div>
16165<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; std::stringstream str;</div>
16166<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div>
16167<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16168<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
16169</div><!-- fragment -->
16170</div>
16171</div>
16172<a class="anchor" id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
16173<div class="memitem">
16174<div class="memproto">
16175<table class="mlabels">
16176 <tr>
16177 <td class="mlabels-left">
16178 <table class="memname">
16179 <tr>
16180 <td class="memname">std::string arm_compute::to_string </td>
16181 <td>(</td>
16182 <td class="paramtype">const MatrixPattern &amp;&#160;</td>
16183 <td class="paramname"><em>pattern</em></td><td>)</td>
16184 <td></td>
16185 </tr>
16186 </table>
16187 </td>
16188 <td class="mlabels-right">
16189<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16190 </tr>
16191</table>
16192</div><div class="memdoc">
16193
16194<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16195<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;{</div>
16196<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; std::stringstream str;</div>
16197<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; str &lt;&lt; pattern;</div>
16198<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16199<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
16200</div><!-- fragment -->
16201</div>
16202</div>
16203<a class="anchor" id="a72626d2cca3922127c41526e37e9e623"></a>
16204<div class="memitem">
16205<div class="memproto">
16206<table class="mlabels">
16207 <tr>
16208 <td class="mlabels-left">
16209 <table class="memname">
16210 <tr>
16211 <td class="memname">std::string arm_compute::to_string </td>
16212 <td>(</td>
16213 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;&#160;</td>
16214 <td class="paramname"><em>info</em></td><td>)</td>
16215 <td></td>
16216 </tr>
16217 </table>
16218 </td>
16219 <td class="mlabels-right">
16220<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16221 </tr>
16222</table>
16223</div><div class="memdoc">
16224
16225<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00194">194</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16226
16227<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00541">ActivationLayerInfo::activation()</a>.</p>
16228<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{</div>
16229<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; std::stringstream str;</div>
16230<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div>
16231<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16232<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;}</div>
16233<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="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00541">Types.h:541</a></div></div>
16234</div><!-- fragment -->
16235</div>
16236</div>
16237<a class="anchor" id="a8a18c453150ab547c1add44b3ed3bc56"></a>
16238<div class="memitem">
16239<div class="memproto">
16240<table class="mlabels">
16241 <tr>
16242 <td class="mlabels-left">
16243 <table class="memname">
16244 <tr>
16245 <td class="memname">std::string arm_compute::to_string </td>
16246 <td>(</td>
16247 <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>
16248 <td class="paramname"><em>function</em></td><td>)</td>
16249 <td></td>
16250 </tr>
16251 </table>
16252 </td>
16253 <td class="mlabels-right">
16254<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16255 </tr>
16256</table>
16257</div><div class="memdoc">
16258
16259<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00201">201</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16260<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
16261<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; std::stringstream str;</div>
16262<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div>
16263<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16264<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;}</div>
16265</div><!-- fragment -->
16266</div>
16267</div>
16268<a class="anchor" id="a45dd771bdecbafb975fd267c2ae320a7"></a>
16269<div class="memitem">
16270<div class="memproto">
16271<table class="mlabels">
16272 <tr>
16273 <td class="mlabels-left">
16274 <table class="memname">
16275 <tr>
16276 <td class="memname">std::string arm_compute::to_string </td>
16277 <td>(</td>
16278 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;&#160;</td>
16279 <td class="paramname"><em>info</em></td><td>)</td>
16280 <td></td>
16281 </tr>
16282 </table>
16283 </td>
16284 <td class="mlabels-right">
16285<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16286 </tr>
16287</table>
16288</div><div class="memdoc">
16289
16290<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00229">229</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16291
16292<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00576">NormalizationLayerInfo::type()</a>.</p>
16293<div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;{</div>
16294<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; std::stringstream str;</div>
16295<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>();</div>
16296<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16297<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div>
16298<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="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00576">Types.h:576</a></div></div>
16299</div><!-- fragment -->
16300</div>
16301</div>
16302<a class="anchor" id="a96b47511b549b48d2ead05b5c757ccc9"></a>
16303<div class="memitem">
16304<div class="memproto">
16305<table class="mlabels">
16306 <tr>
16307 <td class="mlabels-left">
16308 <table class="memname">
16309 <tr>
16310 <td class="memname">std::string arm_compute::to_string </td>
16311 <td>(</td>
16312 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
16313 <td class="paramname"><em>data_type</em></td><td>)</td>
16314 <td></td>
16315 </tr>
16316 </table>
16317 </td>
16318 <td class="mlabels-right">
16319<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16320 </tr>
16321</table>
16322</div><div class="memdoc">
16323
16324<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00322">322</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16325
16326<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">arm_compute::test::validation::data_type</a>.</p>
16327<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;{</div>
16328<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; std::stringstream str;</div>
16329<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div>
16330<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16331<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;}</div>
16332<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
16333</div><!-- fragment -->
16334</div>
16335</div>
16336<a class="anchor" id="ab0e6381843dc9901bb59285ec846dc5d"></a>
16337<div class="memitem">
16338<div class="memproto">
16339<table class="mlabels">
16340 <tr>
16341 <td class="mlabels-left">
16342 <table class="memname">
16343 <tr>
16344 <td class="memname">std::string arm_compute::to_string </td>
16345 <td>(</td>
16346 <td class="paramtype">const Format &amp;&#160;</td>
16347 <td class="paramname"><em>format</em></td><td>)</td>
16348 <td></td>
16349 </tr>
16350 </table>
16351 </td>
16352 <td class="mlabels-right">
16353<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16354 </tr>
16355</table>
16356</div><div class="memdoc">
16357
16358<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00392">392</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16359<div class="fragment"><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;{</div>
16360<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; std::stringstream str;</div>
16361<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; str &lt;&lt; format;</div>
16362<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16363<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</div>
16364</div><!-- fragment -->
16365</div>
16366</div>
16367<a class="anchor" id="aa32488ee1dd78e0464ed23e8cc2b6e49"></a>
16368<div class="memitem">
16369<div class="memproto">
16370<table class="mlabels">
16371 <tr>
16372 <td class="mlabels-left">
16373 <table class="memname">
16374 <tr>
16375 <td class="memname">std::string arm_compute::to_string </td>
16376 <td>(</td>
16377 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
16378 <td class="paramname"><em>dimensions</em></td><td>)</td>
16379 <td></td>
16380 </tr>
16381 </table>
16382 </td>
16383 <td class="mlabels-right">
16384<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16385 </tr>
16386</table>
16387</div><div class="memdoc">
16388
16389<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00501">501</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16390<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;{</div>
16391<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; std::stringstream str;</div>
16392<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; str &lt;&lt; dimensions;</div>
16393<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16394<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;}</div>
16395</div><!-- fragment -->
16396</div>
16397</div>
16398<a class="anchor" id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
16399<div class="memitem">
16400<div class="memproto">
16401<table class="mlabels">
16402 <tr>
16403 <td class="mlabels-left">
16404 <table class="memname">
16405 <tr>
16406 <td class="memname">std::string arm_compute::to_string </td>
16407 <td>(</td>
16408 <td class="paramtype">const TensorShape &amp;&#160;</td>
16409 <td class="paramname"><em>shape</em></td><td>)</td>
16410 <td></td>
16411 </tr>
16412 </table>
16413 </td>
16414 <td class="mlabels-right">
16415<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16416 </tr>
16417</table>
16418</div><div class="memdoc">
16419
16420<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>
16421
16422<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00509">509</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16423
16424<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>.</p>
16425<div class="fragment"><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;{</div>
16426<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; std::stringstream str;</div>
16427<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div>
16428<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16429<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;}</div>
16430<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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
16431</div><!-- fragment -->
16432</div>
16433</div>
16434<a class="anchor" id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
16435<div class="memitem">
16436<div class="memproto">
16437<table class="mlabels">
16438 <tr>
16439 <td class="mlabels-left">
16440 <table class="memname">
16441 <tr>
16442 <td class="memname">std::string arm_compute::to_string </td>
16443 <td>(</td>
16444 <td class="paramtype">const PadStrideInfo &amp;&#160;</td>
16445 <td class="paramname"><em>pad_stride_info</em></td><td>)</td>
16446 <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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00535">535</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16457<div class="fragment"><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;{</div>
16458<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; std::stringstream str;</div>
16459<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; str &lt;&lt; pad_stride_info;</div>
16460<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16461<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;}</div>
16462</div><!-- fragment -->
16463</div>
16464</div>
16465<a class="anchor" id="a0604106dd269acd58152a81ba87cc265"></a>
16466<div class="memitem">
16467<div class="memproto">
16468<table class="mlabels">
16469 <tr>
16470 <td class="mlabels-left">
16471 <table class="memname">
16472 <tr>
16473 <td class="memname">std::string arm_compute::to_string </td>
16474 <td>(</td>
16475 <td class="paramtype">const BorderMode &amp;&#160;</td>
16476 <td class="paramname"><em>mode</em></td><td>)</td>
16477 <td></td>
16478 </tr>
16479 </table>
16480 </td>
16481 <td class="mlabels-right">
16482<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16483 </tr>
16484</table>
16485</div><div class="memdoc">
16486
16487<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00542">542</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16488<div class="fragment"><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;{</div>
16489<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; std::stringstream str;</div>
16490<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; str &lt;&lt; mode;</div>
16491<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16492<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;}</div>
16493</div><!-- fragment -->
16494</div>
16495</div>
16496<a class="anchor" id="a94bd78942b683c05cba85048537d3ee7"></a>
16497<div class="memitem">
16498<div class="memproto">
16499<table class="mlabels">
16500 <tr>
16501 <td class="mlabels-left">
16502 <table class="memname">
16503 <tr>
16504 <td class="memname">std::string arm_compute::to_string </td>
16505 <td>(</td>
16506 <td class="paramtype">const InterpolationPolicy &amp;&#160;</td>
16507 <td class="paramname"><em>policy</em></td><td>)</td>
16508 <td></td>
16509 </tr>
16510 </table>
16511 </td>
16512 <td class="mlabels-right">
16513<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16514 </tr>
16515</table>
16516</div><div class="memdoc">
16517
16518<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00549">549</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16519<div class="fragment"><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;{</div>
16520<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; std::stringstream str;</div>
16521<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; str &lt;&lt; policy;</div>
16522<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16523<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;}</div>
16524</div><!-- fragment -->
16525</div>
16526</div>
16527<a class="anchor" id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
16528<div class="memitem">
16529<div class="memproto">
16530<table class="mlabels">
16531 <tr>
16532 <td class="mlabels-left">
16533 <table class="memname">
16534 <tr>
16535 <td class="memname">std::string arm_compute::to_string </td>
16536 <td>(</td>
16537 <td class="paramtype">const ConvertPolicy &amp;&#160;</td>
16538 <td class="paramname"><em>policy</em></td><td>)</td>
16539 <td></td>
16540 </tr>
16541 </table>
16542 </td>
16543 <td class="mlabels-right">
16544<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16545 </tr>
16546</table>
16547</div><div class="memdoc">
16548
16549<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00574">574</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16550<div class="fragment"><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;{</div>
16551<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; std::stringstream str;</div>
16552<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; str &lt;&lt; policy;</div>
16553<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16554<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;}</div>
16555</div><!-- fragment -->
16556</div>
16557</div>
16558<a class="anchor" id="aae534105c7ea67999ccbb34a0ed567cd"></a>
16559<div class="memitem">
16560<div class="memproto">
16561<table class="mlabels">
16562 <tr>
16563 <td class="mlabels-left">
16564 <table class="memname">
16565 <tr>
16566 <td class="memname">std::string arm_compute::to_string </td>
16567 <td>(</td>
16568 <td class="paramtype">const ReductionOperation &amp;&#160;</td>
16569 <td class="paramname"><em>op</em></td><td>)</td>
16570 <td></td>
16571 </tr>
16572 </table>
16573 </td>
16574 <td class="mlabels-right">
16575<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16576 </tr>
16577</table>
16578</div><div class="memdoc">
16579
16580<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00596">596</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16581<div class="fragment"><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;{</div>
16582<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; std::stringstream str;</div>
16583<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; str &lt;&lt; op;</div>
16584<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16585<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;}</div>
16586</div><!-- fragment -->
16587</div>
16588</div>
16589<a class="anchor" id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
16590<div class="memitem">
16591<div class="memproto">
16592<table class="mlabels">
16593 <tr>
16594 <td class="mlabels-left">
16595 <table class="memname">
16596 <tr>
16597 <td class="memname">std::string arm_compute::to_string </td>
16598 <td>(</td>
16599 <td class="paramtype">const NormType &amp;&#160;</td>
16600 <td class="paramname"><em>type</em></td><td>)</td>
16601 <td></td>
16602 </tr>
16603 </table>
16604 </td>
16605 <td class="mlabels-right">
16606<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16607 </tr>
16608</table>
16609</div><div class="memdoc">
16610
16611<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00603">603</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16612
16613<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
16614<div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;{</div>
16615<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; std::stringstream str;</div>
16616<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; str &lt;&lt; <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">type</a>;</div>
16617<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16618<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;}</div>
16619<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
16620</div><!-- fragment -->
16621</div>
16622</div>
16623<a class="anchor" id="a2872d19dd10dc3117813d291c08e0383"></a>
16624<div class="memitem">
16625<div class="memproto">
16626<table class="mlabels">
16627 <tr>
16628 <td class="mlabels-left">
16629 <table class="memname">
16630 <tr>
16631 <td class="memname">std::string arm_compute::to_string </td>
16632 <td>(</td>
16633 <td class="paramtype">const PoolingType &amp;&#160;</td>
16634 <td class="paramname"><em>type</em></td><td>)</td>
16635 <td></td>
16636 </tr>
16637 </table>
16638 </td>
16639 <td class="mlabels-right">
16640<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16641 </tr>
16642</table>
16643</div><div class="memdoc">
16644
16645<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00610">610</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16646
16647<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
16648<div class="fragment"><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;{</div>
16649<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; std::stringstream str;</div>
16650<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; str &lt;&lt; <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">type</a>;</div>
16651<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16652<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;}</div>
16653<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
16654</div><!-- fragment -->
16655</div>
16656</div>
16657<a class="anchor" id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
16658<div class="memitem">
16659<div class="memproto">
16660<table class="mlabels">
16661 <tr>
16662 <td class="mlabels-left">
16663 <table class="memname">
16664 <tr>
16665 <td class="memname">std::string arm_compute::to_string </td>
16666 <td>(</td>
16667 <td class="paramtype">const PoolingLayerInfo &amp;&#160;</td>
16668 <td class="paramname"><em>info</em></td><td>)</td>
16669 <td></td>
16670 </tr>
16671 </table>
16672 </td>
16673 <td class="mlabels-right">
16674<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16675 </tr>
16676</table>
16677</div><div class="memdoc">
16678
16679<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00617">617</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16680
16681<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">PoolingLayerInfo::pool_type()</a>.</p>
16682<div class="fragment"><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;{</div>
16683<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; std::stringstream str;</div>
16684<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div>
16685<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16686<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;}</div>
16687<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>
16688</div><!-- fragment -->
16689</div>
16690</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016691<a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
16692<div class="memitem">
16693<div class="memproto">
16694 <table class="memname">
16695 <tr>
16696 <td class="memname">bool arm_compute::update_window_and_padding </td>
16697 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016698 <td class="paramtype">Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016699 <td class="paramname"><em>win</em>, </td>
16700 </tr>
16701 <tr>
16702 <td class="paramkey"></td>
16703 <td></td>
16704 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
16705 <td class="paramname"><em>patterns</em>&#160;</td>
16706 </tr>
16707 <tr>
16708 <td></td>
16709 <td>)</td>
16710 <td></td><td></td>
16711 </tr>
16712 </table>
16713</div><div class="memdoc">
16714
16715<p>Update window and padding size for each of the access patterns. </p>
16716<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>
16717<dl class="params"><dt>Parameters</dt><dd>
16718 <table class="params">
16719 <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>
16720 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
16721 </table>
16722 </dd>
16723</dl>
16724<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>
16725
Kaizen8938bd32017-09-28 14:38:23 +010016726<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00343">343</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 +000016727
Kaizen8938bd32017-09-28 14:38:23 +010016728<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#abd645498a7cbaebd88b257083e459dd6">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
16729<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;{</div>
16730<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div>
16731<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
16732<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div>
16733<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div>
16734<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; window_changed |= w.update_window_if_needed(win);</div>
16735<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; },</div>
16736<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; patterns...);</div>
16737<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div>
16738<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div>
16739<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div>
16740<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div>
16741<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
16742<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; padding_changed |= w.update_padding_if_needed(win);</div>
16743<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; },</div>
16744<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; patterns...);</div>
16745<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
16746<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> window_changed;</div>
16747<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;}</div>
16748<div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">Helpers.h:219</a></div></div>
16749</div><!-- fragment -->
16750</div>
16751</div>
16752<a class="anchor" id="a5344249fe56e2a6cf0b7336c069cb846"></a>
16753<div class="memitem">
16754<div class="memproto">
16755<table class="mlabels">
16756 <tr>
16757 <td class="mlabels-left">
16758 <table class="memname">
16759 <tr>
16760 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vabs_qs16 </td>
16761 <td>(</td>
16762 <td class="paramtype">qint16x4_t&#160;</td>
16763 <td class="paramname"><em>a</em></td><td>)</td>
16764 <td></td>
16765 </tr>
16766 </table>
16767 </td>
16768 <td class="mlabels-right">
16769<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16770 </tr>
16771</table>
16772</div><div class="memdoc">
16773
16774<p>Absolute value of 16 bit fixed point vector (4 elements) </p>
16775<dl class="params"><dt>Parameters</dt><dd>
16776 <table class="params">
16777 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
16778 </table>
16779 </dd>
16780</dl>
16781<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
16782
16783<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00288">288</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
16784<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;{</div>
16785<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> vabs_s16(a);</div>
16786<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016787</div><!-- fragment -->
16788</div>
16789</div>
16790<a class="anchor" id="ab62f4e080614df358423180767cffefd"></a>
16791<div class="memitem">
16792<div class="memproto">
16793<table class="mlabels">
16794 <tr>
16795 <td class="mlabels-left">
16796 <table class="memname">
16797 <tr>
16798 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vabs_qs8 </td>
16799 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016800 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016801 <td class="paramname"><em>a</em></td><td>)</td>
16802 <td></td>
16803 </tr>
16804 </table>
16805 </td>
16806 <td class="mlabels-right">
16807<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16808 </tr>
16809</table>
16810</div><div class="memdoc">
16811
16812<p>Absolute value of 8 bit fixed point vector (8 elements) </p>
16813<dl class="params"><dt>Parameters</dt><dd>
16814 <table class="params">
16815 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
16816 </table>
16817 </dd>
16818</dl>
16819<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
16820
Kaizen8938bd32017-09-28 14:38:23 +010016821<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00283">283</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
16822<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;{</div>
16823<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> vabs_s8(a);</div>
16824<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;}</div>
16825</div><!-- fragment -->
16826</div>
16827</div>
16828<a class="anchor" id="a15cf61eaeb7d9b008f262936f6f4cca8"></a>
16829<div class="memitem">
16830<div class="memproto">
16831<table class="mlabels">
16832 <tr>
16833 <td class="mlabels-left">
16834 <table class="memname">
16835 <tr>
16836 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vabsq_qs16 </td>
16837 <td>(</td>
16838 <td class="paramtype">qint16x8_t&#160;</td>
16839 <td class="paramname"><em>a</em></td><td>)</td>
16840 <td></td>
16841 </tr>
16842 </table>
16843 </td>
16844 <td class="mlabels-right">
16845<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16846 </tr>
16847</table>
16848</div><div class="memdoc">
16849
16850<p>Absolute value of 16 bit fixed point vector (8 elements) </p>
16851<dl class="params"><dt>Parameters</dt><dd>
16852 <table class="params">
16853 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
16854 </table>
16855 </dd>
16856</dl>
16857<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
16858
16859<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00298">298</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
16860<div class="fragment"><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;{</div>
16861<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> vabsq_s16(a);</div>
16862<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;}</div>
16863</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016864</div>
16865</div>
16866<a class="anchor" id="a3e4c45da2bef323158955d7c3b9d148d"></a>
16867<div class="memitem">
16868<div class="memproto">
16869<table class="mlabels">
16870 <tr>
16871 <td class="mlabels-left">
16872 <table class="memname">
16873 <tr>
16874 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vabsq_qs8 </td>
16875 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016876 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016877 <td class="paramname"><em>a</em></td><td>)</td>
16878 <td></td>
16879 </tr>
16880 </table>
16881 </td>
16882 <td class="mlabels-right">
16883<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16884 </tr>
16885</table>
16886</div><div class="memdoc">
16887
16888<p>Absolute value of 8 bit fixed point vector (16 elements) </p>
16889<dl class="params"><dt>Parameters</dt><dd>
16890 <table class="params">
16891 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
16892 </table>
16893 </dd>
16894</dl>
16895<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
16896
Kaizen8938bd32017-09-28 14:38:23 +010016897<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00293">293</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
16898<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;{</div>
16899<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> vabsq_s8(a);</div>
16900<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;}</div>
16901</div><!-- fragment -->
16902</div>
16903</div>
16904<a class="anchor" id="ac28c9ffea6f2c962ec87f69d377faaeb"></a>
16905<div class="memitem">
16906<div class="memproto">
16907<table class="mlabels">
16908 <tr>
16909 <td class="mlabels-left">
16910 <table class="memname">
16911 <tr>
16912 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vadd_qs16 </td>
16913 <td>(</td>
16914 <td class="paramtype">qint16x4_t&#160;</td>
16915 <td class="paramname"><em>a</em>, </td>
16916 </tr>
16917 <tr>
16918 <td class="paramkey"></td>
16919 <td></td>
16920 <td class="paramtype">qint16x4_t&#160;</td>
16921 <td class="paramname"><em>b</em>&#160;</td>
16922 </tr>
16923 <tr>
16924 <td></td>
16925 <td>)</td>
16926 <td></td><td></td>
16927 </tr>
16928 </table>
16929 </td>
16930 <td class="mlabels-right">
16931<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16932 </tr>
16933</table>
16934</div><div class="memdoc">
16935
16936<p>16 bit fixed point vector add (4 elements) </p>
16937<dl class="params"><dt>Parameters</dt><dd>
16938 <table class="params">
16939 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
16940 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
16941 </table>
16942 </dd>
16943</dl>
16944<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
16945
16946<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00388">388</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
16947<div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;{</div>
16948<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> vadd_s16(a, b);</div>
16949<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;}</div>
16950</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016951</div>
16952</div>
16953<a class="anchor" id="ad91fc981c1b7b04a1975de3aefc6a4f7"></a>
16954<div class="memitem">
16955<div class="memproto">
16956<table class="mlabels">
16957 <tr>
16958 <td class="mlabels-left">
16959 <table class="memname">
16960 <tr>
16961 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vadd_qs8 </td>
16962 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016963 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016964 <td class="paramname"><em>a</em>, </td>
16965 </tr>
16966 <tr>
16967 <td class="paramkey"></td>
16968 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010016969 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016970 <td class="paramname"><em>b</em>&#160;</td>
16971 </tr>
16972 <tr>
16973 <td></td>
16974 <td>)</td>
16975 <td></td><td></td>
16976 </tr>
16977 </table>
16978 </td>
16979 <td class="mlabels-right">
16980<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16981 </tr>
16982</table>
16983</div><div class="memdoc">
16984
16985<p>8 bit fixed point vector add (8 elements) </p>
16986<dl class="params"><dt>Parameters</dt><dd>
16987 <table class="params">
16988 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
16989 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
16990 </table>
16991 </dd>
16992</dl>
16993<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
16994
Kaizen8938bd32017-09-28 14:38:23 +010016995<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00383">383</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
16996<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;{</div>
16997<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">return</span> vadd_s8(a, b);</div>
16998<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;}</div>
16999</div><!-- fragment -->
17000</div>
17001</div>
17002<a class="anchor" id="a2a84234e327a554d7ce7f97f269b6efc"></a>
17003<div class="memitem">
17004<div class="memproto">
17005<table class="mlabels">
17006 <tr>
17007 <td class="mlabels-left">
17008 <table class="memname">
17009 <tr>
17010 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vaddq_qs16 </td>
17011 <td>(</td>
17012 <td class="paramtype">qint16x8_t&#160;</td>
17013 <td class="paramname"><em>a</em>, </td>
17014 </tr>
17015 <tr>
17016 <td class="paramkey"></td>
17017 <td></td>
17018 <td class="paramtype">qint16x8_t&#160;</td>
17019 <td class="paramname"><em>b</em>&#160;</td>
17020 </tr>
17021 <tr>
17022 <td></td>
17023 <td>)</td>
17024 <td></td><td></td>
17025 </tr>
17026 </table>
17027 </td>
17028 <td class="mlabels-right">
17029<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17030 </tr>
17031</table>
17032</div><div class="memdoc">
17033
17034<p>16 bit fixed point vector add (8 elements) </p>
17035<dl class="params"><dt>Parameters</dt><dd>
17036 <table class="params">
17037 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17038 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
17039 </table>
17040 </dd>
17041</dl>
17042<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
17043
17044<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00398">398</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17045<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;{</div>
17046<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> vaddq_s16(a, b);</div>
17047<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;}</div>
17048</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017049</div>
17050</div>
17051<a class="anchor" id="a30eeb53208a2f67d4b0cf73a81b09467"></a>
17052<div class="memitem">
17053<div class="memproto">
17054<table class="mlabels">
17055 <tr>
17056 <td class="mlabels-left">
17057 <table class="memname">
17058 <tr>
17059 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vaddq_qs8 </td>
17060 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017061 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017062 <td class="paramname"><em>a</em>, </td>
17063 </tr>
17064 <tr>
17065 <td class="paramkey"></td>
17066 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010017067 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017068 <td class="paramname"><em>b</em>&#160;</td>
17069 </tr>
17070 <tr>
17071 <td></td>
17072 <td>)</td>
17073 <td></td><td></td>
17074 </tr>
17075 </table>
17076 </td>
17077 <td class="mlabels-right">
17078<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17079 </tr>
17080</table>
17081</div><div class="memdoc">
17082
17083<p>8 bit fixed point vector add (16 elements) </p>
17084<dl class="params"><dt>Parameters</dt><dd>
17085 <table class="params">
17086 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
17087 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
17088 </table>
17089 </dd>
17090</dl>
17091<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
17092
Kaizen8938bd32017-09-28 14:38:23 +010017093<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00393">393</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17094<div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;{</div>
17095<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> vaddq_s8(a, b);</div>
17096<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;}</div>
17097</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000017098</div>
17099</div>
Kaizen8938bd32017-09-28 14:38:23 +010017100<a class="anchor" id="a771203a3bf0d0df11dbf90f492525656"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000017101<div class="memitem">
17102<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010017103<table class="mlabels">
17104 <tr>
17105 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000017106 <table class="memname">
17107 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017108 <td class="memname">float32x4_t vcvt_f32_qs16 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017109 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017110 <td class="paramtype">qint16x4_t&#160;</td>
17111 <td class="paramname"><em>a</em>, </td>
17112 </tr>
17113 <tr>
17114 <td class="paramkey"></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017115 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010017116 <td class="paramtype">int&#160;</td>
17117 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17118 </tr>
17119 <tr>
17120 <td></td>
17121 <td>)</td>
17122 <td></td><td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017123 </tr>
17124 </table>
Kaizen8938bd32017-09-28 14:38:23 +010017125 </td>
17126 <td class="mlabels-right">
17127<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17128 </tr>
17129</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000017130</div><div class="memdoc">
17131
Kaizen8938bd32017-09-28 14:38:23 +010017132<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 +000017133<dl class="params"><dt>Parameters</dt><dd>
17134 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017135 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
17136 <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 +000017137 </table>
17138 </dd>
17139</dl>
Kaizen8938bd32017-09-28 14:38:23 +010017140<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 +000017141
Kaizen8938bd32017-09-28 14:38:23 +010017142<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01002">1002</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17143<div class="fragment"><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;{</div>
17144<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17145<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keyword">const</span> float32x4_t res_f32 = vcvtq_f32_s32(vmovl_s16(a));</div>
17146<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;</div>
17147<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="keywordflow">return</span> vmulq_f32(res_f32, pow2);</div>
17148<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;}</div>
17149</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000017150</div>
17151</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017152<a class="anchor" id="a14a78befffd5c48b43554fdc28d654ff"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000017153<div class="memitem">
17154<div class="memproto">
17155<table class="mlabels">
17156 <tr>
17157 <td class="mlabels-left">
17158 <table class="memname">
17159 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017160 <td class="memname">float32x4x2_t vcvt_f32_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017161 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017162 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017163 <td class="paramname"><em>a</em>, </td>
17164 </tr>
17165 <tr>
17166 <td class="paramkey"></td>
17167 <td></td>
17168 <td class="paramtype">int&#160;</td>
17169 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17170 </tr>
17171 <tr>
17172 <td></td>
17173 <td>)</td>
17174 <td></td><td></td>
17175 </tr>
17176 </table>
17177 </td>
17178 <td class="mlabels-right">
17179<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17180 </tr>
17181</table>
17182</div><div class="memdoc">
17183
17184<p>Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
17185<dl class="params"><dt>Parameters</dt><dd>
17186 <table class="params">
17187 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
17188 <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>
17189 </table>
17190 </dd>
17191</dl>
17192<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x2x4 </dd></dl>
17193
Kaizen8938bd32017-09-28 14:38:23 +010017194<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00974">974</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17195
17196<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
17197<div class="fragment"><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;{</div>
17198<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17199<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;</div>
17200<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keyword">const</span> int16x8_t res_s16 = vmovl_s8(a);</div>
17201<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;</div>
17202<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
17203<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; {</div>
17204<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; {</div>
17205<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16)),</div>
17206<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16))</div>
17207<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; }</div>
17208<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; };</div>
17209<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;</div>
17210<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; float32x4x2_t res_f32 =</div>
17211<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; {</div>
17212<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; {</div>
17213<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; vcvtq_f32_s32(res_s32.val[0]),</div>
17214<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; vcvtq_f32_s32(res_s32.val[1])</div>
17215<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; }</div>
17216<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; };</div>
17217<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160;</div>
17218<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
17219<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
17220<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;</div>
17221<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">return</span> res_f32;</div>
17222<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;}</div>
17223<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
17224<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
17225</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017226</div>
17227</div>
Kaizen8938bd32017-09-28 14:38:23 +010017228<a class="anchor" id="a81653ad507d968c3f760564c7949a86e"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017229<div class="memitem">
17230<div class="memproto">
17231<table class="mlabels">
17232 <tr>
17233 <td class="mlabels-left">
17234 <table class="memname">
17235 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017236 <td class="memname">float32x4x2_t arm_compute::vcvtq_f32_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017237 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017238 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017239 <td class="paramname"><em>a</em>, </td>
17240 </tr>
17241 <tr>
17242 <td class="paramkey"></td>
17243 <td></td>
17244 <td class="paramtype">int&#160;</td>
17245 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17246 </tr>
17247 <tr>
17248 <td></td>
17249 <td>)</td>
17250 <td></td><td></td>
17251 </tr>
17252 </table>
17253 </td>
17254 <td class="mlabels-right">
17255<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17256 </tr>
17257</table>
17258</div><div class="memdoc">
17259
Kaizen8938bd32017-09-28 14:38:23 +010017260<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01050">1050</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017261
Kaizen8938bd32017-09-28 14:38:23 +010017262<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
17263<div class="fragment"><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;{</div>
17264<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17265<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;</div>
17266<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
17267<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; {</div>
17268<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; {</div>
17269<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a)),</div>
17270<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a))</div>
17271<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; }</div>
17272<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; };</div>
17273<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div>
17274<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; float32x4x2_t res_f32 =</div>
17275<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; {</div>
17276<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; {</div>
17277<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; vcvtq_f32_s32(res_s32.val[0]),</div>
17278<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; vcvtq_f32_s32(res_s32.val[1])</div>
17279<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; }</div>
17280<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; };</div>
17281<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;</div>
17282<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
17283<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
17284<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;</div>
17285<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; <span class="keywordflow">return</span> res_f32;</div>
17286<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;}</div>
17287<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
17288<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
17289</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017290</div>
17291</div>
17292<a class="anchor" id="ac18aedae4207e681f6f833281d2395a0"></a>
17293<div class="memitem">
17294<div class="memproto">
17295<table class="mlabels">
17296 <tr>
17297 <td class="mlabels-left">
17298 <table class="memname">
17299 <tr>
17300 <td class="memname">float32x4x4_t arm_compute::vcvtq_f32_qs8 </td>
17301 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017302 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017303 <td class="paramname"><em>a</em>, </td>
17304 </tr>
17305 <tr>
17306 <td class="paramkey"></td>
17307 <td></td>
17308 <td class="paramtype">int&#160;</td>
17309 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17310 </tr>
17311 <tr>
17312 <td></td>
17313 <td>)</td>
17314 <td></td><td></td>
17315 </tr>
17316 </table>
17317 </td>
17318 <td class="mlabels-right">
17319<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17320 </tr>
17321</table>
17322</div><div class="memdoc">
17323
Kaizen8938bd32017-09-28 14:38:23 +010017324<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01010">1010</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17325
17326<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
17327<div class="fragment"><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;{</div>
17328<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17329<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div>
17330<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keyword">const</span> int16x8x2_t res_s16 =</div>
17331<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; {</div>
17332<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; {</div>
17333<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; vmovl_s8(vget_low_s8(a)),</div>
17334<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; vmovl_s8(vget_high_s8(a)),</div>
17335<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; }</div>
17336<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; };</div>
17337<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div>
17338<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; <span class="keyword">const</span> int32x4x4_t res_s32 =</div>
17339<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; {</div>
17340<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; {</div>
17341<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[0])),</div>
17342<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[0])),</div>
17343<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[1])),</div>
17344<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[1])),</div>
17345<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; }</div>
17346<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; };</div>
17347<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;</div>
17348<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; float32x4x4_t res_f32 =</div>
17349<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; {</div>
17350<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; {</div>
17351<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; vcvtq_f32_s32(res_s32.val[0]),</div>
17352<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; vcvtq_f32_s32(res_s32.val[1]),</div>
17353<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; vcvtq_f32_s32(res_s32.val[2]),</div>
17354<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; vcvtq_f32_s32(res_s32.val[3])</div>
17355<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; }</div>
17356<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; };</div>
17357<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;</div>
17358<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
17359<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
17360<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; res_f32.val[2] = vmulq_f32(res_f32.val[2], pow2);</div>
17361<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; res_f32.val[3] = vmulq_f32(res_f32.val[3], pow2);</div>
17362<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div>
17363<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">return</span> res_f32;</div>
17364<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;}</div>
17365<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
17366<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
17367</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017368</div>
17369</div>
Kaizen8938bd32017-09-28 14:38:23 +010017370<a class="anchor" id="a943abeff66faa34d1c2aeeab4ebfabdf"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017371<div class="memitem">
17372<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010017373 <table class="memname">
17374 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017375 <td class="memname">float32x4x2_t arm_compute::vcvtq_qs16_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017376 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017377 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017378 <td class="paramname"><em>a</em>, </td>
17379 </tr>
17380 <tr>
17381 <td class="paramkey"></td>
17382 <td></td>
17383 <td class="paramtype">int&#160;</td>
17384 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17385 </tr>
17386 <tr>
17387 <td></td>
17388 <td>)</td>
17389 <td></td><td></td>
17390 </tr>
17391 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017392</div><div class="memdoc">
17393
Kaizen8938bd32017-09-28 14:38:23 +010017394<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 +010017395<dl class="params"><dt>Parameters</dt><dd>
17396 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017397 <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 +010017398 <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>
17399 </table>
17400 </dd>
17401</dl>
Kaizen8938bd32017-09-28 14:38:23 +010017402<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 +010017403
Anthony Barbierdbdab852017-06-23 15:42:00 +010017404</div>
17405</div>
17406<a class="anchor" id="a19e68f6a298ae587a491df52d6859350"></a>
17407<div class="memitem">
17408<div class="memproto">
17409 <table class="memname">
17410 <tr>
17411 <td class="memname">float32x4x4_t arm_compute::vcvtq_qs8_f32 </td>
17412 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017413 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017414 <td class="paramname"><em>a</em>, </td>
17415 </tr>
17416 <tr>
17417 <td class="paramkey"></td>
17418 <td></td>
17419 <td class="paramtype">int&#160;</td>
17420 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17421 </tr>
17422 <tr>
17423 <td></td>
17424 <td>)</td>
17425 <td></td><td></td>
17426 </tr>
17427 </table>
17428</div><div class="memdoc">
17429
17430<p>Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. </p>
17431<dl class="params"><dt>Parameters</dt><dd>
17432 <table class="params">
17433 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
17434 <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>
17435 </table>
17436 </dd>
17437</dl>
17438<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x4x4 </dd></dl>
17439
17440</div>
17441</div>
Kaizen8938bd32017-09-28 14:38:23 +010017442<a class="anchor" id="aa65479f6532283c215e398735d0b3c22"></a>
17443<div class="memitem">
17444<div class="memproto">
17445<table class="mlabels">
17446 <tr>
17447 <td class="mlabels-left">
17448 <table class="memname">
17449 <tr>
17450 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vdiv_qs16 </td>
17451 <td>(</td>
17452 <td class="paramtype">qint16x4_t&#160;</td>
17453 <td class="paramname"><em>a</em>, </td>
17454 </tr>
17455 <tr>
17456 <td class="paramkey"></td>
17457 <td></td>
17458 <td class="paramtype">qint16x4_t&#160;</td>
17459 <td class="paramname"><em>b</em>, </td>
17460 </tr>
17461 <tr>
17462 <td class="paramkey"></td>
17463 <td></td>
17464 <td class="paramtype">int&#160;</td>
17465 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17466 </tr>
17467 <tr>
17468 <td></td>
17469 <td>)</td>
17470 <td></td><td></td>
17471 </tr>
17472 </table>
17473 </td>
17474 <td class="mlabels-right">
17475<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17476 </tr>
17477</table>
17478</div><div class="memdoc">
17479
17480<p>Division fixed point 16 bit (4 elements) </p>
17481<dl class="params"><dt>Parameters</dt><dd>
17482 <table class="params">
17483 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17484 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
17485 <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>
17486 </table>
17487 </dd>
17488</dl>
17489<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
17490
17491<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01298">1298</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17492
17493<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00495">vmul_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01102">vrecip_qs16()</a>.</p>
17494<div class="fragment"><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;{</div>
17495<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(b, fixed_point_position), fixed_point_position);</div>
17496<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;}</div>
17497<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00495">NEFixedPoint.inl:495</a></div></div>
17498<div class="ttc" id="namespacearm__compute_xhtml_a8e14017f1276f4a4e14078d93ed692bd"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">arm_compute::vrecip_qs16</a></div><div class="ttdeci">qint16x4_t vrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01102">NEFixedPoint.inl:1102</a></div></div>
17499</div><!-- fragment -->
17500</div>
17501</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017502<a class="anchor" id="aeab4c6963804a85c9ea6c319f4e95a0b"></a>
17503<div class="memitem">
17504<div class="memproto">
17505<table class="mlabels">
17506 <tr>
17507 <td class="mlabels-left">
17508 <table class="memname">
17509 <tr>
17510 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vdiv_qs8 </td>
17511 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017512 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017513 <td class="paramname"><em>a</em>, </td>
17514 </tr>
17515 <tr>
17516 <td class="paramkey"></td>
17517 <td></td>
17518 <td class="paramtype">int8x8_t&#160;</td>
17519 <td class="paramname"><em>b</em>, </td>
17520 </tr>
17521 <tr>
17522 <td class="paramkey"></td>
17523 <td></td>
17524 <td class="paramtype">int&#160;</td>
17525 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17526 </tr>
17527 <tr>
17528 <td></td>
17529 <td>)</td>
17530 <td></td><td></td>
17531 </tr>
17532 </table>
17533 </td>
17534 <td class="mlabels-right">
17535<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17536 </tr>
17537</table>
17538</div><div class="memdoc">
17539
17540<p>Division fixed point 8bit (8 elements) </p>
17541<dl class="params"><dt>Parameters</dt><dd>
17542 <table class="params">
17543 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
17544 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
17545 <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>
17546 </table>
17547 </dd>
17548</dl>
17549<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
17550
Kaizen8938bd32017-09-28 14:38:23 +010017551<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01293">1293</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017552
Kaizen8938bd32017-09-28 14:38:23 +010017553<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00478">vmul_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01076">vrecip_qs8()</a>.</p>
17554<div class="fragment"><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;{</div>
17555<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(b, fixed_point_position), fixed_point_position);</div>
17556<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;}</div>
17557<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00478">NEFixedPoint.inl:478</a></div></div>
17558<div class="ttc" id="namespacearm__compute_xhtml_aa24b270b0193ad8983dfecd6105c4936"><div class="ttname"><a href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">arm_compute::vrecip_qs8</a></div><div class="ttdeci">qint8x8_t vrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01076">NEFixedPoint.inl:1076</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017559</div><!-- fragment -->
17560</div>
17561</div>
Kaizen8938bd32017-09-28 14:38:23 +010017562<a class="anchor" id="a2c21a21a9004609887c0a6f5304faa2a"></a>
17563<div class="memitem">
17564<div class="memproto">
17565<table class="mlabels">
17566 <tr>
17567 <td class="mlabels-left">
17568 <table class="memname">
17569 <tr>
17570 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vdivq_qs16 </td>
17571 <td>(</td>
17572 <td class="paramtype">qint16x8_t&#160;</td>
17573 <td class="paramname"><em>a</em>, </td>
17574 </tr>
17575 <tr>
17576 <td class="paramkey"></td>
17577 <td></td>
17578 <td class="paramtype">qint16x8_t&#160;</td>
17579 <td class="paramname"><em>b</em>, </td>
17580 </tr>
17581 <tr>
17582 <td class="paramkey"></td>
17583 <td></td>
17584 <td class="paramtype">int&#160;</td>
17585 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17586 </tr>
17587 <tr>
17588 <td></td>
17589 <td>)</td>
17590 <td></td><td></td>
17591 </tr>
17592 </table>
17593 </td>
17594 <td class="mlabels-right">
17595<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17596 </tr>
17597</table>
17598</div><div class="memdoc">
17599
17600<p>Division fixed point 16 bit (8 elements) </p>
17601<dl class="params"><dt>Parameters</dt><dd>
17602 <table class="params">
17603 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17604 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
17605 <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>
17606 </table>
17607 </dd>
17608</dl>
17609<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 16 bit fixed point format. </dd></dl>
17610
17611<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01308">1308</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17612
17613<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">vmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01209">vrecipq_qs16()</a>.</p>
17614<div class="fragment"><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;{</div>
17615<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a>(b, fixed_point_position), fixed_point_position);</div>
17616<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;}</div>
17617<div class="ttc" id="namespacearm__compute_xhtml_aea1b943c0452ea124c9f8ac0d1315bed"><div class="ttname"><a href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">arm_compute::vrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01209">NEFixedPoint.inl:1209</a></div></div>
17618<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00532">NEFixedPoint.inl:532</a></div></div>
17619</div><!-- fragment -->
17620</div>
17621</div>
17622<a class="anchor" id="ae589b6f4ada9d9cb81f70897d7991cd1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017623<div class="memitem">
17624<div class="memproto">
17625<table class="mlabels">
17626 <tr>
17627 <td class="mlabels-left">
17628 <table class="memname">
17629 <tr>
17630 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdivq_qs8 </td>
17631 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017632 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017633 <td class="paramname"><em>a</em>, </td>
17634 </tr>
17635 <tr>
17636 <td class="paramkey"></td>
17637 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010017638 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017639 <td class="paramname"><em>b</em>, </td>
17640 </tr>
17641 <tr>
17642 <td class="paramkey"></td>
17643 <td></td>
17644 <td class="paramtype">int&#160;</td>
17645 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17646 </tr>
17647 <tr>
17648 <td></td>
17649 <td>)</td>
17650 <td></td><td></td>
17651 </tr>
17652 </table>
17653 </td>
17654 <td class="mlabels-right">
17655<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17656 </tr>
17657</table>
17658</div><div class="memdoc">
17659
17660<p>Division fixed point 8bit (16 elements) </p>
17661<dl class="params"><dt>Parameters</dt><dd>
17662 <table class="params">
17663 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
17664 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
17665 <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>
17666 </table>
17667 </dd>
17668</dl>
17669<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 8bit fixed point format. </dd></dl>
17670
Kaizen8938bd32017-09-28 14:38:23 +010017671<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01303">1303</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017672
Kaizen8938bd32017-09-28 14:38:23 +010017673<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00512">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01182">vrecipq_qs8()</a>.</p>
17674<div class="fragment"><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;{</div>
17675<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(b, fixed_point_position), fixed_point_position);</div>
17676<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;}</div>
17677<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00512">NEFixedPoint.inl:512</a></div></div>
17678<div class="ttc" id="namespacearm__compute_xhtml_abbeb1dc4834fb4e97cf94d702d0e0f91"><div class="ttname"><a href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">arm_compute::vrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01182">NEFixedPoint.inl:1182</a></div></div>
17679</div><!-- fragment -->
17680</div>
17681</div>
17682<a class="anchor" id="a1f6c3965dec29d8ac84ff84a164e9d8e"></a>
17683<div class="memitem">
17684<div class="memproto">
17685<table class="mlabels">
17686 <tr>
17687 <td class="mlabels-left">
17688 <table class="memname">
17689 <tr>
17690 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vdup_n_qs16 </td>
17691 <td>(</td>
17692 <td class="paramtype">qint16_t&#160;</td>
17693 <td class="paramname"><em>a</em></td><td>)</td>
17694 <td></td>
17695 </tr>
17696 </table>
17697 </td>
17698 <td class="mlabels-right">
17699<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17700 </tr>
17701</table>
17702</div><div class="memdoc">
17703
17704<p>16 bit fixed point vector duplicate (4 elements) </p>
17705<dl class="params"><dt>Parameters</dt><dd>
17706 <table class="params">
17707 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
17708 </table>
17709 </dd>
17710</dl>
17711<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
17712
17713<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00237">237</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17714
17715<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01728">vinvsqrt_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01784">vqinvsqrt_qs16()</a>.</p>
17716<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;{</div>
17717<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> vdup_n_s16(a);</div>
17718<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017719</div><!-- fragment -->
17720</div>
17721</div>
17722<a class="anchor" id="a1a226812e3cfdf3494adbdd92d4a1cb3"></a>
17723<div class="memitem">
17724<div class="memproto">
17725<table class="mlabels">
17726 <tr>
17727 <td class="mlabels-left">
17728 <table class="memname">
17729 <tr>
17730 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vdup_n_qs8 </td>
17731 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017732 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017733 <td class="paramname"><em>a</em></td><td>)</td>
17734 <td></td>
17735 </tr>
17736 </table>
17737 </td>
17738 <td class="mlabels-right">
17739<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17740 </tr>
17741</table>
17742</div><div class="memdoc">
17743
17744<p>8 bit fixed point vector duplicate (8 elements) </p>
17745<dl class="params"><dt>Parameters</dt><dd>
17746 <table class="params">
17747 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
17748 </table>
17749 </dd>
17750</dl>
17751<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
17752
Kaizen8938bd32017-09-28 14:38:23 +010017753<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017754
Kaizen8938bd32017-09-28 14:38:23 +010017755<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01701">vinvsqrt_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01757">vqinvsqrt_qs8()</a>.</p>
17756<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div>
17757<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> vdup_n_s8(a);</div>
17758<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div>
17759</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017760</div>
17761</div>
17762<a class="anchor" id="a740436aed8843612da747f40ff926875"></a>
17763<div class="memitem">
17764<div class="memproto">
17765 <table class="memname">
17766 <tr>
17767 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
17768 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017769 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017770 <td class="paramname"><em>a</em></td><td>)</td>
17771 <td></td>
17772 </tr>
17773 </table>
17774</div><div class="memdoc">
17775
17776<p>16 bit fixed point vector duplicate (8 elements) </p>
17777<dl class="params"><dt>Parameters</dt><dd>
17778 <table class="params">
17779 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
17780 </table>
17781 </dd>
17782</dl>
17783<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
17784
Kaizen8938bd32017-09-28 14:38:23 +010017785<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01840">vinvsqrtq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01896">vqinvsqrtq_qs16()</a>.</p>
17786
17787</div>
17788</div>
17789<a class="anchor" id="aed2fc8d1b9642b7625379a930ef4914a"></a>
17790<div class="memitem">
17791<div class="memproto">
17792<table class="mlabels">
17793 <tr>
17794 <td class="mlabels-left">
17795 <table class="memname">
17796 <tr>
17797 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
17798 <td>(</td>
17799 <td class="paramtype">qint16_t&#160;</td>
17800 <td class="paramname"><em>a</em></td><td>)</td>
17801 <td></td>
17802 </tr>
17803 </table>
17804 </td>
17805 <td class="mlabels-right">
17806<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17807 </tr>
17808</table>
17809</div><div class="memdoc">
17810
17811<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00273">273</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17812<div class="fragment"><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;{</div>
17813<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> vdupq_n_s16(a);</div>
17814<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;}</div>
17815</div><!-- fragment -->
17816</div>
17817</div>
17818<a class="anchor" id="a2b3337b650277502ad64d8ba55f9b8b2"></a>
17819<div class="memitem">
17820<div class="memproto">
17821<table class="mlabels">
17822 <tr>
17823 <td class="mlabels-left">
17824 <table class="memname">
17825 <tr>
17826 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vdupq_n_qs16_f32 </td>
17827 <td>(</td>
17828 <td class="paramtype">float&#160;</td>
17829 <td class="paramname"><em>a</em>, </td>
17830 </tr>
17831 <tr>
17832 <td class="paramkey"></td>
17833 <td></td>
17834 <td class="paramtype">int&#160;</td>
17835 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17836 </tr>
17837 <tr>
17838 <td></td>
17839 <td>)</td>
17840 <td></td><td></td>
17841 </tr>
17842 </table>
17843 </td>
17844 <td class="mlabels-right">
17845<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17846 </tr>
17847</table>
17848</div><div class="memdoc">
17849
17850<p>Duplicate a float and convert it to 16 bit fixed point vector (8 elements) </p>
17851<dl class="params"><dt>Parameters</dt><dd>
17852 <table class="params">
17853 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
17854 <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>
17855 </table>
17856 </dd>
17857</dl>
17858<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
17859
17860<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00261">261</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17861
17862<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00948">vqcvtq_qs16_f32()</a>.</p>
17863<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;{</div>
17864<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; float32x4x2_t res =</div>
17865<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div>
17866<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; {</div>
17867<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; vdupq_n_f32(a),</div>
17868<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; vdupq_n_f32(a),</div>
17869<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div>
17870<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; };</div>
17871<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a>(res, fixed_point_position);</div>
17872<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;}</div>
17873<div class="ttc" id="namespacearm__compute_xhtml_afe99b690ec0046061f66f699fa055b47"><div class="ttname"><a href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">arm_compute::vqcvtq_qs16_f32</a></div><div class="ttdeci">qint16x8_t vqcvtq_qs16_f32(const float32x4x2_t &amp;a, int fixed_point_position)</div><div class="ttdoc">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00948">NEFixedPoint.inl:948</a></div></div>
17874</div><!-- fragment -->
17875</div>
17876</div>
17877<a class="anchor" id="ada6db431017d7911b0647cfb7a8711de"></a>
17878<div class="memitem">
17879<div class="memproto">
17880<table class="mlabels">
17881 <tr>
17882 <td class="mlabels-left">
17883 <table class="memname">
17884 <tr>
17885 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vdupq_n_qs32 </td>
17886 <td>(</td>
17887 <td class="paramtype">qint32_t&#160;</td>
17888 <td class="paramname"><em>a</em></td><td>)</td>
17889 <td></td>
17890 </tr>
17891 </table>
17892 </td>
17893 <td class="mlabels-right">
17894<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17895 </tr>
17896</table>
17897</div><div class="memdoc">
17898
17899<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00278">278</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17900<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;{</div>
17901<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> vdupq_n_s32(a);</div>
17902<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div>
17903</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017904</div>
17905</div>
17906<a class="anchor" id="adbd4df93ed00fcda54f91e669ea2be04"></a>
17907<div class="memitem">
17908<div class="memproto">
17909<table class="mlabels">
17910 <tr>
17911 <td class="mlabels-left">
17912 <table class="memname">
17913 <tr>
17914 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdupq_n_qs8 </td>
17915 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017916 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017917 <td class="paramname"><em>a</em></td><td>)</td>
17918 <td></td>
17919 </tr>
17920 </table>
17921 </td>
17922 <td class="mlabels-right">
17923<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17924 </tr>
17925</table>
17926</div><div class="memdoc">
17927
17928<p>8 bit fixed point vector duplicate (16 elements) </p>
17929<dl class="params"><dt>Parameters</dt><dd>
17930 <table class="params">
17931 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
17932 </table>
17933 </dd>
17934</dl>
17935<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
17936
Kaizen8938bd32017-09-28 14:38:23 +010017937<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00242">242</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017938
Kaizen8938bd32017-09-28 14:38:23 +010017939<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01813">vinvsqrtq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01869">vqinvsqrtq_qs8()</a>.</p>
17940<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;{</div>
17941<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">return</span> vdupq_n_s8(a);</div>
17942<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;}</div>
17943</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017944</div>
17945</div>
17946<a class="anchor" id="ab20e66231de6c259952534de39214784"></a>
17947<div class="memitem">
17948<div class="memproto">
17949<table class="mlabels">
17950 <tr>
17951 <td class="mlabels-left">
17952 <table class="memname">
17953 <tr>
17954 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdupq_n_qs8_f32 </td>
17955 <td>(</td>
17956 <td class="paramtype">float&#160;</td>
17957 <td class="paramname"><em>a</em>, </td>
17958 </tr>
17959 <tr>
17960 <td class="paramkey"></td>
17961 <td></td>
17962 <td class="paramtype">int&#160;</td>
17963 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17964 </tr>
17965 <tr>
17966 <td></td>
17967 <td>)</td>
17968 <td></td><td></td>
17969 </tr>
17970 </table>
17971 </td>
17972 <td class="mlabels-right">
17973<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17974 </tr>
17975</table>
17976</div><div class="memdoc">
17977
17978<p>Duplicate a float and convert it to 8 bit fixed point vector (16 elements) </p>
17979<dl class="params"><dt>Parameters</dt><dd>
17980 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017981 <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 +010017982 <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>
17983 </table>
17984 </dd>
17985</dl>
17986<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
17987
Kaizen8938bd32017-09-28 14:38:23 +010017988<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00247">247</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017989
Kaizen8938bd32017-09-28 14:38:23 +010017990<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00908">vqcvtq_qs8_f32()</a>.</p>
17991<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;{</div>
17992<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; float32x4x4_t res =</div>
17993<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
17994<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div>
17995<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; vdupq_n_f32(a),</div>
17996<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; vdupq_n_f32(a),</div>
17997<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; vdupq_n_f32(a),</div>
17998<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; vdupq_n_f32(a),</div>
17999<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
18000<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; };</div>
18001<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a>(res, fixed_point_position);</div>
18002<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
18003<div class="ttc" id="namespacearm__compute_xhtml_ad7eb7d308bb87e94eb693bc13eda5adc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">arm_compute::vqcvtq_qs8_f32</a></div><div class="ttdeci">qint8x16_t vqcvtq_qs8_f32(const float32x4x4_t &amp;a, int fixed_point_position)</div><div class="ttdoc">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00908">NEFixedPoint.inl:908</a></div></div>
18004</div><!-- fragment -->
18005</div>
18006</div>
18007<a class="anchor" id="a829992d2c673006879696821024df5b7"></a>
18008<div class="memitem">
18009<div class="memproto">
18010<table class="mlabels">
18011 <tr>
18012 <td class="mlabels-left">
18013 <table class="memname">
18014 <tr>
18015 <td class="memname">float16x8_t vexpq_f16 </td>
18016 <td>(</td>
18017 <td class="paramtype">float16x8_t&#160;</td>
18018 <td class="paramname"><em>x</em></td><td>)</td>
18019 <td></td>
18020 </tr>
18021 </table>
18022 </td>
18023 <td class="mlabels-right">
18024<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18025 </tr>
18026</table>
18027</div><div class="memdoc">
18028
18029<p>Calculate exponential. </p>
18030<dl class="params"><dt>Parameters</dt><dd>
18031 <table class="params">
18032 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F16 format.</td></tr>
18033 </table>
18034 </dd>
18035</dl>
18036<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
18037
18038<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">261</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18039
18040<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00173">exp_tab_f16</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">vtaylor_polyq_f16()</a>.</p>
18041
18042<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">vpowq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">vtanhq_f16()</a>.</p>
18043<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;{</div>
18044<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_LN2 = vdupq_n_f16(0.6931471805f); <span class="comment">// ln(2)</span></div>
18045<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_INV_LN2 = vdupq_n_f16(1.4426950408f); <span class="comment">// 1/ln(2)</span></div>
18046<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_0 = vdupq_n_f16(0.f);</div>
18047<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int16x8_t CONST_NEGATIVE_126 = vdupq_n_s16(-126);</div>
18048<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div>
18049<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
18050<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> int16x8_t m = vcvtq_s16_f16(vmulq_f16(x, CONST_INV_LN2));</div>
18051<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">const</span> float16x8_t val = vsubq_f16(x, vmulq_f16(vcvtq_f16_s16(m), CONST_LN2));</div>
18052<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div>
18053<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
18054<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; float16x8_t poly = <a class="code" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a>(val, <a class="code" href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">exp_tab_f16</a>);</div>
18055<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
18056<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="comment">// Reconstruct</span></div>
18057<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; poly = vreinterpretq_f16_s16(vqaddq_s16(vreinterpretq_s16_f16(poly), vqshlq_n_s16(m, 9)));</div>
18058<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; poly = vbslq_f16(vcltq_s16(m, CONST_NEGATIVE_126), CONST_0, poly);</div>
18059<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div>
18060<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> poly;</div>
18061<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
18062<div class="ttc" id="namespacearm__compute_xhtml_afaad64bc527ee67d3374b67610a34a13"><div class="ttname"><a href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">arm_compute::vtaylor_polyq_f16</a></div><div class="ttdeci">float16x8_t vtaylor_polyq_f16(float16x8_t x, const std::array&lt; float16x8_t, 8 &gt; &amp;coeffs)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00249">NEMath.inl:249</a></div></div>
18063<div class="ttc" id="namespacearm__compute_xhtml_a2260e62edc9c3e04a06e8016136b10b1"><div class="ttname"><a href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">arm_compute::exp_tab_f16</a></div><div class="ttdeci">const std::array&lt; float16x8_t, 8 &gt; exp_tab_f16</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00173">NEMath.inl:173</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018064</div><!-- fragment -->
18065</div>
18066</div>
18067<a class="anchor" id="ade3ef16de304661943c900ac9a47d28f"></a>
18068<div class="memitem">
18069<div class="memproto">
18070<table class="mlabels">
18071 <tr>
18072 <td class="mlabels-left">
18073 <table class="memname">
18074 <tr>
18075 <td class="memname">float32x4_t vexpq_f32 </td>
18076 <td>(</td>
18077 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018078 <td class="paramname"><em>x</em></td><td>)</td>
18079 <td></td>
18080 </tr>
18081 </table>
18082 </td>
18083 <td class="mlabels-right">
18084<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18085 </tr>
18086</table>
18087</div><div class="memdoc">
18088
18089<p>Calculate exponential. </p>
18090<dl class="params"><dt>Parameters</dt><dd>
18091 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018092 <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 +000018093 </table>
18094 </dd>
18095</dl>
18096<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
18097
Kaizen8938bd32017-09-28 14:38:23 +010018098<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">113</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018099
Kaizen8938bd32017-09-28 14:38:23 +010018100<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">exp_tab</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018101
Kaizen8938bd32017-09-28 14:38:23 +010018102<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">vtanhq_f32()</a>.</p>
18103<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
18104<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div>
18105<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div>
18106<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_0 = vdupq_n_f32(0.f);</div>
18107<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_NEGATIVE_126 = vdupq_n_s32(-126);</div>
18108<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
18109<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
18110<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div>
18111<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div>
18112<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
18113<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
18114<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div>
18115<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
18116<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// Reconstruct</span></div>
18117<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; poly = vreinterpretq_f32_s32(vqaddq_s32(vreinterpretq_s32_f32(poly), vqshlq_n_s32(m, 23)));</div>
18118<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; poly = vbslq_f32(vcltq_s32(m, CONST_NEGATIVE_126), CONST_0, poly);</div>
18119<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
18120<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> poly;</div>
18121<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;}</div>
18122<div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array&lt; float32x4_t, 8 &gt; exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00028">NEMath.inl:28</a></div></div>
18123<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
18124</div><!-- fragment -->
18125</div>
18126</div>
18127<a class="anchor" id="adb7ad6f2d80bafc0a8fb0c920909b9fb"></a>
18128<div class="memitem">
18129<div class="memproto">
18130<table class="mlabels">
18131 <tr>
18132 <td class="mlabels-left">
18133 <table class="memname">
18134 <tr>
18135 <td class="memname">float32x4_t vfloorq_f32 </td>
18136 <td>(</td>
18137 <td class="paramtype">float32x4_t&#160;</td>
18138 <td class="paramname"><em>val</em></td><td>)</td>
18139 <td></td>
18140 </tr>
18141 </table>
18142 </td>
18143 <td class="mlabels-right">
18144<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18145 </tr>
18146</table>
18147</div><div class="memdoc">
18148
18149<p>Calculate floor of a vector. </p>
18150<dl class="params"><dt>Parameters</dt><dd>
18151 <table class="params">
18152 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
18153 </table>
18154 </dd>
18155</dl>
18156<dl class="section return"><dt>Returns</dt><dd>The calculated floor vector. </dd></dl>
18157
18158<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00057">57</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18159<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div>
18160<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div>
18161<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
18162<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> int32x4_t z = vcvtq_s32_f32(val);</div>
18163<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> float32x4_t r = vcvtq_f32_s32(z);</div>
18164<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
18165<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> vbslq_f32(vcgtq_f32(r, val), vsubq_f32(r, CONST_1), r);</div>
18166<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
18167</div><!-- fragment -->
18168</div>
18169</div>
18170<a class="anchor" id="ac2edef8bf07bce91b37aa02b952b8ed6"></a>
18171<div class="memitem">
18172<div class="memproto">
18173<table class="mlabels">
18174 <tr>
18175 <td class="mlabels-left">
18176 <table class="memname">
18177 <tr>
18178 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vget_high_qs16 </td>
18179 <td>(</td>
18180 <td class="paramtype">qint16x8_t&#160;</td>
18181 <td class="paramname"><em>a</em></td><td>)</td>
18182 <td></td>
18183 </tr>
18184 </table>
18185 </td>
18186 <td class="mlabels-right">
18187<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18188 </tr>
18189</table>
18190</div><div class="memdoc">
18191
18192<p>Get the higher half of a 16 elements vector. </p>
18193<dl class="params"><dt>Parameters</dt><dd>
18194 <table class="params">
18195 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
18196 </table>
18197 </dd>
18198</dl>
18199<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
18200
18201<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">147</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18202
18203<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00974">vcvt_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01050">vcvtq_f32_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01010">vcvtq_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00703">vmlaq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">vmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00778">vqmlaq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>.</p>
18204<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;{</div>
18205<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> vget_high_s16(a);</div>
18206<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000018207</div><!-- fragment -->
18208</div>
18209</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018210<a class="anchor" id="ab93c92d0f3228809b6a4bfaa24eb4924"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000018211<div class="memitem">
18212<div class="memproto">
18213<table class="mlabels">
18214 <tr>
18215 <td class="mlabels-left">
18216 <table class="memname">
18217 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018218 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vget_high_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018219 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018220 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018221 <td class="paramname"><em>a</em></td><td>)</td>
18222 <td></td>
18223 </tr>
18224 </table>
18225 </td>
18226 <td class="mlabels-right">
18227<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18228 </tr>
18229</table>
18230</div><div class="memdoc">
18231
18232<p>Get the higher half of a 16 elements vector. </p>
18233<dl class="params"><dt>Parameters</dt><dd>
18234 <table class="params">
18235 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
18236 </table>
18237 </dd>
18238</dl>
18239<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
18240
Kaizen8938bd32017-09-28 14:38:23 +010018241<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00142">142</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18242<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div>
18243<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> vget_high_s8(a);</div>
18244<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;}</div>
18245</div><!-- fragment -->
18246</div>
18247</div>
18248<a class="anchor" id="ae895c5b470fcf069afd626bb36c63e3d"></a>
18249<div class="memitem">
18250<div class="memproto">
18251<table class="mlabels">
18252 <tr>
18253 <td class="mlabels-left">
18254 <table class="memname">
18255 <tr>
18256 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vget_low_qs16 </td>
18257 <td>(</td>
18258 <td class="paramtype">qint16x8_t&#160;</td>
18259 <td class="paramname"><em>a</em></td><td>)</td>
18260 <td></td>
18261 </tr>
18262 </table>
18263 </td>
18264 <td class="mlabels-right">
18265<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18266 </tr>
18267</table>
18268</div><div class="memdoc">
18269
18270<p>Get the lower half of a 16 elements vector. </p>
18271<dl class="params"><dt>Parameters</dt><dd>
18272 <table class="params">
18273 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
18274 </table>
18275 </dd>
18276</dl>
18277<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
18278
18279<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">137</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18280
18281<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00974">vcvt_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01050">vcvtq_f32_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01010">vcvtq_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00703">vmlaq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">vmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00778">vqmlaq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>.</p>
18282<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;{</div>
18283<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> vget_low_s16(a);</div>
18284<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
18285</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018286</div>
18287</div>
18288<a class="anchor" id="a85ff7d135f7aa13359bd575139ba14dd"></a>
18289<div class="memitem">
18290<div class="memproto">
18291<table class="mlabels">
18292 <tr>
18293 <td class="mlabels-left">
18294 <table class="memname">
18295 <tr>
18296 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vget_low_qs8 </td>
18297 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018298 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018299 <td class="paramname"><em>a</em></td><td>)</td>
18300 <td></td>
18301 </tr>
18302 </table>
18303 </td>
18304 <td class="mlabels-right">
18305<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18306 </tr>
18307</table>
18308</div><div class="memdoc">
18309
18310<p>Get the lower half of a 16 elements vector. </p>
18311<dl class="params"><dt>Parameters</dt><dd>
18312 <table class="params">
18313 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
18314 </table>
18315 </dd>
18316</dl>
18317<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
18318
Kaizen8938bd32017-09-28 14:38:23 +010018319<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00132">132</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18320<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;{</div>
18321<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> vget_low_s8(a);</div>
18322<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
18323</div><!-- fragment -->
18324</div>
18325</div>
18326<a class="anchor" id="aba029f555d1868e560b8a278bdf87341"></a>
18327<div class="memitem">
18328<div class="memproto">
18329<table class="mlabels">
18330 <tr>
18331 <td class="mlabels-left">
18332 <table class="memname">
18333 <tr>
18334 <td class="memname">float16x4_t vinv_f16 </td>
18335 <td>(</td>
18336 <td class="paramtype">float16x4_t&#160;</td>
18337 <td class="paramname"><em>x</em></td><td>)</td>
18338 <td></td>
18339 </tr>
18340 </table>
18341 </td>
18342 <td class="mlabels-right">
18343<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18344 </tr>
18345</table>
18346</div><div class="memdoc">
18347
18348<p>Calculate reciprocal. </p>
18349<dl class="params"><dt>Parameters</dt><dd>
18350 <table class="params">
18351 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18352 </table>
18353 </dd>
18354</dl>
18355<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18356
18357<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18358<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;{</div>
18359<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; float16x4_t recip = vrecpe_f16(x);</div>
18360<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; recip = vmul_f16(vrecps_f16(x, recip), recip);</div>
18361<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; recip = vmul_f16(vrecps_f16(x, recip), recip);</div>
18362<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> recip;</div>
18363<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div>
18364</div><!-- fragment -->
18365</div>
18366</div>
18367<a class="anchor" id="a7bb067c606cdc07805181688b9bee569"></a>
18368<div class="memitem">
18369<div class="memproto">
18370<table class="mlabels">
18371 <tr>
18372 <td class="mlabels-left">
18373 <table class="memname">
18374 <tr>
18375 <td class="memname">float32x2_t vinv_f32 </td>
18376 <td>(</td>
18377 <td class="paramtype">float32x2_t&#160;</td>
18378 <td class="paramname"><em>x</em></td><td>)</td>
18379 <td></td>
18380 </tr>
18381 </table>
18382 </td>
18383 <td class="mlabels-right">
18384<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18385 </tr>
18386</table>
18387</div><div class="memdoc">
18388
18389<p>Calculate reciprocal. </p>
18390<dl class="params"><dt>Parameters</dt><dd>
18391 <table class="params">
18392 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18393 </table>
18394 </dd>
18395</dl>
18396<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18397
18398<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00085">85</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18399<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;{</div>
18400<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; float32x2_t recip = vrecpe_f32(x);</div>
18401<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; recip = vmul_f32(vrecps_f32(x, recip), recip);</div>
18402<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; recip = vmul_f32(vrecps_f32(x, recip), recip);</div>
18403<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> recip;</div>
18404<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
18405</div><!-- fragment -->
18406</div>
18407</div>
18408<a class="anchor" id="a5ccd23ffe952767d73334cabcdbff246"></a>
18409<div class="memitem">
18410<div class="memproto">
18411<table class="mlabels">
18412 <tr>
18413 <td class="mlabels-left">
18414 <table class="memname">
18415 <tr>
18416 <td class="memname">float16x8_t vinvq_f16 </td>
18417 <td>(</td>
18418 <td class="paramtype">float16x8_t&#160;</td>
18419 <td class="paramname"><em>x</em></td><td>)</td>
18420 <td></td>
18421 </tr>
18422 </table>
18423 </td>
18424 <td class="mlabels-right">
18425<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18426 </tr>
18427</table>
18428</div><div class="memdoc">
18429
18430<p>Calculate reciprocal. </p>
18431<dl class="params"><dt>Parameters</dt><dd>
18432 <table class="params">
18433 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18434 </table>
18435 </dd>
18436</dl>
18437<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18438
18439<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00226">226</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18440
18441<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">vtanhq_f16()</a>.</p>
18442<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;{</div>
18443<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; float16x8_t recip = vrecpeq_f16(x);</div>
18444<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; recip = vmulq_f16(vrecpsq_f16(x, recip), recip);</div>
18445<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; recip = vmulq_f16(vrecpsq_f16(x, recip), recip);</div>
18446<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> recip;</div>
18447<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div>
18448</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018449</div>
18450</div>
18451<a class="anchor" id="ac8f459d5899b79c00fb4042a5b3470fb"></a>
18452<div class="memitem">
18453<div class="memproto">
18454<table class="mlabels">
18455 <tr>
18456 <td class="mlabels-left">
18457 <table class="memname">
18458 <tr>
18459 <td class="memname">float32x4_t vinvq_f32 </td>
18460 <td>(</td>
18461 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018462 <td class="paramname"><em>x</em></td><td>)</td>
18463 <td></td>
18464 </tr>
18465 </table>
18466 </td>
18467 <td class="mlabels-right">
18468<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18469 </tr>
18470</table>
18471</div><div class="memdoc">
18472
18473<p>Calculate reciprocal. </p>
18474<dl class="params"><dt>Parameters</dt><dd>
18475 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018476 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018477 </table>
18478 </dd>
18479</dl>
18480<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18481
Kaizen8938bd32017-09-28 14:38:23 +010018482<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00093">93</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018483
Kaizen8938bd32017-09-28 14:38:23 +010018484<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">vtanhq_f32()</a>.</p>
18485<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div>
18486<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; float32x4_t recip = vrecpeq_f32(x);</div>
18487<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div>
18488<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div>
18489<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> recip;</div>
18490<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;}</div>
18491</div><!-- fragment -->
18492</div>
18493</div>
18494<a class="anchor" id="ab74b7f62070607d8dfb02364664d7867"></a>
18495<div class="memitem">
18496<div class="memproto">
18497<table class="mlabels">
18498 <tr>
18499 <td class="mlabels-left">
18500 <table class="memname">
18501 <tr>
18502 <td class="memname">float16x4_t vinvsqrt_f16 </td>
18503 <td>(</td>
18504 <td class="paramtype">float16x4_t&#160;</td>
18505 <td class="paramname"><em>x</em></td><td>)</td>
18506 <td></td>
18507 </tr>
18508 </table>
18509 </td>
18510 <td class="mlabels-right">
18511<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18512 </tr>
18513</table>
18514</div><div class="memdoc">
18515
18516<p>Calculate inverse square root. </p>
18517<dl class="params"><dt>Parameters</dt><dd>
18518 <table class="params">
18519 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18520 </table>
18521 </dd>
18522</dl>
18523<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18524
18525<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18526<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div>
18527<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; float16x4_t sqrt_reciprocal = vrsqrte_f16(x);</div>
18528<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; sqrt_reciprocal = vmul_f16(vrsqrts_f16(vmul_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18529<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; sqrt_reciprocal = vmul_f16(vrsqrts_f16(vmul_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18530<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
18531<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div>
18532</div><!-- fragment -->
18533</div>
18534</div>
18535<a class="anchor" id="a902d274ff1dbe2052b0f2364a98d2b41"></a>
18536<div class="memitem">
18537<div class="memproto">
18538<table class="mlabels">
18539 <tr>
18540 <td class="mlabels-left">
18541 <table class="memname">
18542 <tr>
18543 <td class="memname">float32x2_t vinvsqrt_f32 </td>
18544 <td>(</td>
18545 <td class="paramtype">float32x2_t&#160;</td>
18546 <td class="paramname"><em>x</em></td><td>)</td>
18547 <td></td>
18548 </tr>
18549 </table>
18550 </td>
18551 <td class="mlabels-right">
18552<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18553 </tr>
18554</table>
18555</div><div class="memdoc">
18556
18557<p>Calculate inverse square root. </p>
18558<dl class="params"><dt>Parameters</dt><dd>
18559 <table class="params">
18560 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18561 </table>
18562 </dd>
18563</dl>
18564<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18565
18566<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00067">67</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18567<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div>
18568<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; float32x2_t sqrt_reciprocal = vrsqrte_f32(x);</div>
18569<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18570<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18571<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
18572<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
18573<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
18574</div><!-- fragment -->
18575</div>
18576</div>
18577<a class="anchor" id="aed1eb26d2b6435ae9dba79558611b415"></a>
18578<div class="memitem">
18579<div class="memproto">
18580<table class="mlabels">
18581 <tr>
18582 <td class="mlabels-left">
18583 <table class="memname">
18584 <tr>
18585 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vinvsqrt_qs16 </td>
18586 <td>(</td>
18587 <td class="paramtype">qint16x4_t&#160;</td>
18588 <td class="paramname"><em>a</em>, </td>
18589 </tr>
18590 <tr>
18591 <td class="paramkey"></td>
18592 <td></td>
18593 <td class="paramtype">int&#160;</td>
18594 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18595 </tr>
18596 <tr>
18597 <td></td>
18598 <td>)</td>
18599 <td></td><td></td>
18600 </tr>
18601 </table>
18602 </td>
18603 <td class="mlabels-right">
18604<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18605 </tr>
18606</table>
18607</div><div class="memdoc">
18608
18609<p>Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
18610<dl class="params"><dt>Parameters</dt><dd>
18611 <table class="params">
18612 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
18613 <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>
18614 </table>
18615 </dd>
18616</dl>
18617<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
18618
18619<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01728">1728</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18620
18621<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00237">vdup_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00495">vmul_qs16()</a>.</p>
18622<div class="fragment"><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;{</div>
18623<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 &lt;&lt; fixed_point_position);</div>
18624<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;</div>
18625<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
18626<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
18627<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;</div>
18628<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
18629<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position)));</div>
18630<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div>
18631<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; temp = vbsl_s16(temp_ltz, vadd_s16(temp, vdup_n_s16(1)), temp);</div>
18632<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vneg_s16(vshr_n_s16(temp, 1));</div>
18633<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;</div>
18634<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; temp = vshl_s16(a, shift_value);</div>
18635<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;</div>
18636<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <span class="comment">// Initial guess</span></div>
18637<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div>
18638<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;</div>
18639<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
18640<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <span class="comment">// After five iterations we have the result for 8 bit</span></div>
18641<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18642<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18643<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18644<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18645<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18646<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;</div>
18647<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; <span class="keywordflow">return</span> vshl_s16(x, shift_value2);</div>
18648<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;}</div>
18649<div class="ttc" id="namespacearm__compute_xhtml_a1f6c3965dec29d8ac84ff84a164e9d8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">arm_compute::vdup_n_qs16</a></div><div class="ttdeci">qint16x4_t vdup_n_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point vector duplicate (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00237">NEFixedPoint.inl:237</a></div></div>
18650<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00495">NEFixedPoint.inl:495</a></div></div>
18651<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
18652</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000018653</div>
18654</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018655<a class="anchor" id="ab7fbbbe8d980de582a73b5546b303b1f"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000018656<div class="memitem">
18657<div class="memproto">
18658<table class="mlabels">
18659 <tr>
18660 <td class="mlabels-left">
18661 <table class="memname">
18662 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018663 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vinvsqrt_qs8 </td>
18664 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018665 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018666 <td class="paramname"><em>a</em>, </td>
18667 </tr>
18668 <tr>
18669 <td class="paramkey"></td>
18670 <td></td>
18671 <td class="paramtype">int&#160;</td>
18672 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18673 </tr>
18674 <tr>
18675 <td></td>
18676 <td>)</td>
18677 <td></td><td></td>
18678 </tr>
18679 </table>
18680 </td>
18681 <td class="mlabels-right">
18682<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18683 </tr>
18684</table>
18685</div><div class="memdoc">
18686
18687<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
18688<dl class="params"><dt>Parameters</dt><dd>
18689 <table class="params">
18690 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
18691 <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>
18692 </table>
18693 </dd>
18694</dl>
18695<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
18696
Kaizen8938bd32017-09-28 14:38:23 +010018697<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01701">1701</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018698
Kaizen8938bd32017-09-28 14:38:23 +010018699<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00232">vdup_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00478">vmul_qs8()</a>.</p>
18700<div class="fragment"><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;{</div>
18701<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 &lt;&lt; fixed_point_position);</div>
18702<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;</div>
18703<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
18704<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
18705<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;</div>
18706<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
18707<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position)));</div>
18708<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div>
18709<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; temp = vbsl_s8(temp_ltz, vadd_s8(temp, vdup_n_s8(1)), temp);</div>
18710<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vneg_s8(vshr_n_s8(temp, 1));</div>
18711<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;</div>
18712<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; temp = vshl_s8(a, shift_value);</div>
18713<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;</div>
18714<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; <span class="comment">// Initial guess</span></div>
18715<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div>
18716<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;</div>
18717<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
18718<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
18719<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18720<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18721<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18722<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;</div>
18723<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; <span class="keywordflow">return</span> vshl_s8(x, shift_value2);</div>
18724<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;}</div>
18725<div class="ttc" id="namespacearm__compute_xhtml_a1a226812e3cfdf3494adbdd92d4a1cb3"><div class="ttname"><a href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">arm_compute::vdup_n_qs8</a></div><div class="ttdeci">qint8x8_t vdup_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00232">NEFixedPoint.inl:232</a></div></div>
18726<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00478">NEFixedPoint.inl:478</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018727<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
18728</div><!-- fragment -->
18729</div>
18730</div>
Kaizen8938bd32017-09-28 14:38:23 +010018731<a class="anchor" id="a78ef1abe4de2152c366a40f638f7fb91"></a>
18732<div class="memitem">
18733<div class="memproto">
18734<table class="mlabels">
18735 <tr>
18736 <td class="mlabels-left">
18737 <table class="memname">
18738 <tr>
18739 <td class="memname">float16x8_t vinvsqrtq_f16 </td>
18740 <td>(</td>
18741 <td class="paramtype">float16x8_t&#160;</td>
18742 <td class="paramname"><em>x</em></td><td>)</td>
18743 <td></td>
18744 </tr>
18745 </table>
18746 </td>
18747 <td class="mlabels-right">
18748<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18749 </tr>
18750</table>
18751</div><div class="memdoc">
18752
18753<p>Calculate inverse square root. </p>
18754<dl class="params"><dt>Parameters</dt><dd>
18755 <table class="params">
18756 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18757 </table>
18758 </dd>
18759</dl>
18760<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18761
18762<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00210">210</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18763<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;{</div>
18764<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; float16x8_t sqrt_reciprocal = vrsqrteq_f16(x);</div>
18765<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; sqrt_reciprocal = vmulq_f16(vrsqrtsq_f16(vmulq_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18766<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; sqrt_reciprocal = vmulq_f16(vrsqrtsq_f16(vmulq_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18767<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
18768<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
18769</div><!-- fragment -->
18770</div>
18771</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018772<a class="anchor" id="a2e27db6b9692c4c2013653e276af654d"></a>
18773<div class="memitem">
18774<div class="memproto">
18775<table class="mlabels">
18776 <tr>
18777 <td class="mlabels-left">
18778 <table class="memname">
18779 <tr>
18780 <td class="memname">float32x4_t vinvsqrtq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018781 <td>(</td>
18782 <td class="paramtype">float32x4_t&#160;</td>
18783 <td class="paramname"><em>x</em></td><td>)</td>
18784 <td></td>
18785 </tr>
18786 </table>
18787 </td>
18788 <td class="mlabels-right">
18789<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18790 </tr>
18791</table>
18792</div><div class="memdoc">
18793
18794<p>Calculate inverse square root. </p>
18795<dl class="params"><dt>Parameters</dt><dd>
18796 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018797 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018798 </table>
18799 </dd>
18800</dl>
18801<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18802
Kaizen8938bd32017-09-28 14:38:23 +010018803<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00076">76</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18804<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div>
18805<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div>
18806<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18807<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18808<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
18809<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
18810<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div>
18811</div><!-- fragment -->
18812</div>
18813</div>
18814<a class="anchor" id="a7ddffc87df07ac9782f4e498865c66d4"></a>
18815<div class="memitem">
18816<div class="memproto">
18817<table class="mlabels">
18818 <tr>
18819 <td class="mlabels-left">
18820 <table class="memname">
18821 <tr>
18822 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vinvsqrtq_qs16 </td>
18823 <td>(</td>
18824 <td class="paramtype">qint16x8_t&#160;</td>
18825 <td class="paramname"><em>a</em>, </td>
18826 </tr>
18827 <tr>
18828 <td class="paramkey"></td>
18829 <td></td>
18830 <td class="paramtype">int&#160;</td>
18831 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18832 </tr>
18833 <tr>
18834 <td></td>
18835 <td>)</td>
18836 <td></td><td></td>
18837 </tr>
18838 </table>
18839 </td>
18840 <td class="mlabels-right">
18841<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18842 </tr>
18843</table>
18844</div><div class="memdoc">
18845
18846<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
18847<dl class="params"><dt>Parameters</dt><dd>
18848 <table class="params">
18849 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
18850 <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>
18851 </table>
18852 </dd>
18853</dl>
18854<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
18855
18856<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01840">1840</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18857
18858<p>References <a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">vmulq_qs16()</a>.</p>
18859<div class="fragment"><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;{</div>
18860<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 &lt;&lt; fixed_point_position);</div>
18861<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;</div>
18862<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
18863<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
18864<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;</div>
18865<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
18866<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position)));</div>
18867<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160; uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div>
18868<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160; temp = vbslq_s16(temp_ltz, vaddq_s16(temp, vdupq_n_s16(1)), temp);</div>
18869<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vnegq_s16(vshrq_n_s16(temp, 1));</div>
18870<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;</div>
18871<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160; temp = vshlq_s16(a, shift_value);</div>
18872<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;</div>
18873<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; <span class="comment">// Initial guess</span></div>
18874<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div>
18875<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;</div>
18876<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
18877<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160; <span class="comment">// After five iterations we have the result for 16 bit</span></div>
18878<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18879<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18880<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18881<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18882<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18883<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;</div>
18884<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160; <span class="keywordflow">return</span> vshlq_s16(x, shift_value2);</div>
18885<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;}</div>
18886<div class="ttc" id="namespacearm__compute_xhtml_aed2fc8d1b9642b7625379a930ef4914a"><div class="ttname"><a href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">arm_compute::vdupq_n_qs16</a></div><div class="ttdeci">qint16x8_t vdupq_n_qs16(qint16_t a)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00273">NEFixedPoint.inl:273</a></div></div>
18887<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
18888<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00532">NEFixedPoint.inl:532</a></div></div>
18889</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000018890</div>
18891</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018892<a class="anchor" id="a4be9120d5c04e6aab0831095acd24534"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000018893<div class="memitem">
18894<div class="memproto">
18895<table class="mlabels">
18896 <tr>
18897 <td class="mlabels-left">
18898 <table class="memname">
18899 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018900 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vinvsqrtq_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018901 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018902 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018903 <td class="paramname"><em>a</em>, </td>
18904 </tr>
18905 <tr>
18906 <td class="paramkey"></td>
18907 <td></td>
18908 <td class="paramtype">int&#160;</td>
18909 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18910 </tr>
18911 <tr>
18912 <td></td>
18913 <td>)</td>
18914 <td></td><td></td>
18915 </tr>
18916 </table>
18917 </td>
18918 <td class="mlabels-right">
18919<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18920 </tr>
18921</table>
18922</div><div class="memdoc">
18923
18924<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
18925<dl class="params"><dt>Parameters</dt><dd>
18926 <table class="params">
18927 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
18928 <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>
18929 </table>
18930 </dd>
18931</dl>
18932<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
18933
Kaizen8938bd32017-09-28 14:38:23 +010018934<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01813">1813</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018935
Kaizen8938bd32017-09-28 14:38:23 +010018936<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00242">vdupq_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00512">vmulq_qs8()</a>.</p>
18937<div class="fragment"><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;{</div>
18938<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 &lt;&lt; fixed_point_position);</div>
18939<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;</div>
18940<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
18941<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
18942<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;</div>
18943<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
18944<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position)));</div>
18945<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div>
18946<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; temp = vbslq_s8(temp_ltz, vaddq_s8(temp, vdupq_n_s8(1)), temp);</div>
18947<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vnegq_s8(vshrq_n_s8(temp, 1));</div>
18948<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;</div>
18949<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; temp = vshlq_s8(a, shift_value);</div>
18950<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;</div>
18951<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; <span class="comment">// Initial guess</span></div>
18952<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div>
18953<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;</div>
18954<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
18955<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
18956<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18957<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18958<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
18959<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;</div>
18960<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; <span class="keywordflow">return</span> vshlq_s8(x, shift_value2);</div>
18961<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;}</div>
18962<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
18963<div class="ttc" id="namespacearm__compute_xhtml_adbd4df93ed00fcda54f91e669ea2be04"><div class="ttname"><a href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">arm_compute::vdupq_n_qs8</a></div><div class="ttdeci">qint8x16_t vdupq_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00242">NEFixedPoint.inl:242</a></div></div>
18964<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00512">NEFixedPoint.inl:512</a></div></div>
18965</div><!-- fragment -->
18966</div>
18967</div>
18968<a class="anchor" id="a4cd20897bfcf3b38125c1b1cd3642d2f"></a>
18969<div class="memitem">
18970<div class="memproto">
18971<table class="mlabels">
18972 <tr>
18973 <td class="mlabels-left">
18974 <table class="memname">
18975 <tr>
18976 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vld1_dup_qs16 </td>
18977 <td>(</td>
18978 <td class="paramtype">const qint16_t *&#160;</td>
18979 <td class="paramname"><em>addr</em></td><td>)</td>
18980 <td></td>
18981 </tr>
18982 </table>
18983 </td>
18984 <td class="mlabels-right">
18985<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18986 </tr>
18987</table>
18988</div><div class="memdoc">
18989
18990<p>Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) </p>
18991<dl class="params"><dt>Parameters</dt><dd>
18992 <table class="params">
18993 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point scalar value to load</td></tr>
18994 </table>
18995 </dd>
18996</dl>
18997<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
18998
18999<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00177">177</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19000<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div>
19001<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> vld1_dup_s16(addr);</div>
19002<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019003</div><!-- fragment -->
19004</div>
19005</div>
19006<a class="anchor" id="ada853a8e19c80626633d95392d2b4a8b"></a>
19007<div class="memitem">
19008<div class="memproto">
19009<table class="mlabels">
19010 <tr>
19011 <td class="mlabels-left">
19012 <table class="memname">
19013 <tr>
19014 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vld1_dup_qs8 </td>
19015 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019016 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019017 <td class="paramname"><em>addr</em></td><td>)</td>
19018 <td></td>
19019 </tr>
19020 </table>
19021 </td>
19022 <td class="mlabels-right">
19023<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19024 </tr>
19025</table>
19026</div><div class="memdoc">
19027
19028<p>Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) </p>
19029<dl class="params"><dt>Parameters</dt><dd>
19030 <table class="params">
19031 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point scalar value to load</td></tr>
19032 </table>
19033 </dd>
19034</dl>
19035<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
19036
Kaizen8938bd32017-09-28 14:38:23 +010019037<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00172">172</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19038<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;{</div>
19039<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> vld1_dup_s8(addr);</div>
19040<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
19041</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019042</div>
19043</div>
19044<a class="anchor" id="a1470ca9d692f773f33ddbd9b3a37f1f9"></a>
19045<div class="memitem">
19046<div class="memproto">
19047<table class="mlabels">
19048 <tr>
19049 <td class="mlabels-left">
19050 <table class="memname">
19051 <tr>
19052 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vld1_qs16 </td>
19053 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019054 <td class="paramtype">const qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019055 <td class="paramname"><em>addr</em></td><td>)</td>
19056 <td></td>
19057 </tr>
19058 </table>
19059 </td>
19060 <td class="mlabels-right">
19061<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19062 </tr>
19063</table>
19064</div><div class="memdoc">
19065
19066<p>Load a single 16 bit fixed point vector from memory (4 elements) </p>
19067<dl class="params"><dt>Parameters</dt><dd>
19068 <table class="params">
19069 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vector to load</td></tr>
19070 </table>
19071 </dd>
19072</dl>
19073<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
19074
Kaizen8938bd32017-09-28 14:38:23 +010019075<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00157">157</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19076<div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div>
19077<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> vld1_s16(addr);</div>
19078<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;}</div>
19079</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019080</div>
19081</div>
19082<a class="anchor" id="a77ef79482edac98140bbdfaeffb78b8f"></a>
19083<div class="memitem">
19084<div class="memproto">
19085<table class="mlabels">
19086 <tr>
19087 <td class="mlabels-left">
19088 <table class="memname">
19089 <tr>
19090 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vld1_qs8 </td>
19091 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019092 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019093 <td class="paramname"><em>addr</em></td><td>)</td>
19094 <td></td>
19095 </tr>
19096 </table>
19097 </td>
19098 <td class="mlabels-right">
19099<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19100 </tr>
19101</table>
19102</div><div class="memdoc">
19103
19104<p>Load a single 8 bit fixed point vector from memory (8 elements) </p>
19105<dl class="params"><dt>Parameters</dt><dd>
19106 <table class="params">
19107 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point vector to load</td></tr>
19108 </table>
19109 </dd>
19110</dl>
19111<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
19112
Kaizen8938bd32017-09-28 14:38:23 +010019113<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00152">152</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19114<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div>
19115<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> vld1_s8(addr);</div>
19116<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div>
19117</div><!-- fragment -->
19118</div>
19119</div>
19120<a class="anchor" id="aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"></a>
19121<div class="memitem">
19122<div class="memproto">
19123<table class="mlabels">
19124 <tr>
19125 <td class="mlabels-left">
19126 <table class="memname">
19127 <tr>
19128 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vld1q_dup_qs16 </td>
19129 <td>(</td>
19130 <td class="paramtype">const qint16_t *&#160;</td>
19131 <td class="paramname"><em>addr</em></td><td>)</td>
19132 <td></td>
19133 </tr>
19134 </table>
19135 </td>
19136 <td class="mlabels-right">
19137<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19138 </tr>
19139</table>
19140</div><div class="memdoc">
19141
19142<p>Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) </p>
19143<dl class="params"><dt>Parameters</dt><dd>
19144 <table class="params">
19145 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point scalar value to load</td></tr>
19146 </table>
19147 </dd>
19148</dl>
19149<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
19150
19151<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00187">187</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19152<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;{</div>
19153<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> vld1q_dup_s16(addr);</div>
19154<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;}</div>
19155</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019156</div>
19157</div>
19158<a class="anchor" id="ad988b528a38525b8ceca56ed8d09c801"></a>
19159<div class="memitem">
19160<div class="memproto">
19161<table class="mlabels">
19162 <tr>
19163 <td class="mlabels-left">
19164 <table class="memname">
19165 <tr>
19166 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vld1q_dup_qs8 </td>
19167 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019168 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019169 <td class="paramname"><em>addr</em></td><td>)</td>
19170 <td></td>
19171 </tr>
19172 </table>
19173 </td>
19174 <td class="mlabels-right">
19175<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19176 </tr>
19177</table>
19178</div><div class="memdoc">
19179
19180<p>Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) </p>
19181<dl class="params"><dt>Parameters</dt><dd>
19182 <table class="params">
19183 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point scalar value to load</td></tr>
19184 </table>
19185 </dd>
19186</dl>
19187<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
19188
Kaizen8938bd32017-09-28 14:38:23 +010019189<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00182">182</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19190<div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;{</div>
19191<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> vld1q_dup_s8(addr);</div>
19192<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;}</div>
19193</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019194</div>
19195</div>
19196<a class="anchor" id="aaa2cfaf59eb25ffb975bea87844e23c6"></a>
19197<div class="memitem">
19198<div class="memproto">
19199<table class="mlabels">
19200 <tr>
19201 <td class="mlabels-left">
19202 <table class="memname">
19203 <tr>
19204 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vld1q_qs16 </td>
19205 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019206 <td class="paramtype">const qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019207 <td class="paramname"><em>addr</em></td><td>)</td>
19208 <td></td>
19209 </tr>
19210 </table>
19211 </td>
19212 <td class="mlabels-right">
19213<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19214 </tr>
19215</table>
19216</div><div class="memdoc">
19217
19218<p>Load a single 16 bit fixed point vector from memory (8 elements) </p>
19219<dl class="params"><dt>Parameters</dt><dd>
19220 <table class="params">
19221 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vector to load</td></tr>
19222 </table>
19223 </dd>
19224</dl>
19225<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
19226
Kaizen8938bd32017-09-28 14:38:23 +010019227<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00167">167</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19228<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div>
19229<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> vld1q_s16(addr);</div>
19230<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;}</div>
19231</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019232</div>
19233</div>
19234<a class="anchor" id="aba22755f7d41ffc62e23e5594751ecaa"></a>
19235<div class="memitem">
19236<div class="memproto">
19237<table class="mlabels">
19238 <tr>
19239 <td class="mlabels-left">
19240 <table class="memname">
19241 <tr>
19242 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vld1q_qs8 </td>
19243 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019244 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019245 <td class="paramname"><em>addr</em></td><td>)</td>
19246 <td></td>
19247 </tr>
19248 </table>
19249 </td>
19250 <td class="mlabels-right">
19251<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19252 </tr>
19253</table>
19254</div><div class="memdoc">
19255
19256<p>Load a single 8 bit fixed point vector from memory (16 elements) </p>
19257<dl class="params"><dt>Parameters</dt><dd>
19258 <table class="params">
19259 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point vector to load</td></tr>
19260 </table>
19261 </dd>
19262</dl>
19263<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
19264
Kaizen8938bd32017-09-28 14:38:23 +010019265<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00162">162</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19266<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;{</div>
19267<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> vld1q_s8(addr);</div>
19268<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
19269</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019270</div>
19271</div>
Kaizen8938bd32017-09-28 14:38:23 +010019272<a class="anchor" id="a8bab58697ee7d7df117384a05d4e2f92"></a>
19273<div class="memitem">
19274<div class="memproto">
19275 <table class="memname">
19276 <tr>
19277 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
19278 <td>(</td>
19279 <td class="paramtype">qint16_t *&#160;</td>
19280 <td class="paramname"><em>addr</em></td><td>)</td>
19281 <td></td>
19282 </tr>
19283 </table>
19284</div><div class="memdoc">
19285
19286<p>Load two 16 bit fixed point vectors from memory (8x2 elements) </p>
19287<dl class="params"><dt>Parameters</dt><dd>
19288 <table class="params">
19289 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vectors to load</td></tr>
19290 </table>
19291 </dd>
19292</dl>
19293<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vectors (8x2 elements) </dd></dl>
19294
19295</div>
19296</div>
19297<a class="anchor" id="a1c9f2b26b64fd697fa1b22450521876d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019298<div class="memitem">
19299<div class="memproto">
19300<table class="mlabels">
19301 <tr>
19302 <td class="mlabels-left">
19303 <table class="memname">
19304 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010019305 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019306 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019307 <td class="paramtype">const qint16_t *&#160;</td>
19308 <td class="paramname"><em>addr</em></td><td>)</td>
19309 <td></td>
19310 </tr>
19311 </table>
19312 </td>
19313 <td class="mlabels-right">
19314<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19315 </tr>
19316</table>
19317</div><div class="memdoc">
19318
19319<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00192">192</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19320<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;{</div>
19321<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> vld2q_s16(addr);</div>
19322<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
19323</div><!-- fragment -->
19324</div>
19325</div>
19326<a class="anchor" id="ad9e26d94cb0b929e30b88400cd5c60d2"></a>
19327<div class="memitem">
19328<div class="memproto">
19329<table class="mlabels">
19330 <tr>
19331 <td class="mlabels-left">
19332 <table class="memname">
19333 <tr>
19334 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vlog_qs16 </td>
19335 <td>(</td>
19336 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019337 <td class="paramname"><em>a</em>, </td>
19338 </tr>
19339 <tr>
19340 <td class="paramkey"></td>
19341 <td></td>
19342 <td class="paramtype">int&#160;</td>
19343 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19344 </tr>
19345 <tr>
19346 <td></td>
19347 <td>)</td>
19348 <td></td><td></td>
19349 </tr>
19350 </table>
19351 </td>
19352 <td class="mlabels-right">
19353<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19354 </tr>
19355</table>
19356</div><div class="memdoc">
19357
Kaizen8938bd32017-09-28 14:38:23 +010019358<p>Calculate logarithm fixed point 16 bit (4 elements) </p>
19359<dl class="params"><dt>Parameters</dt><dd>
19360 <table class="params">
19361 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
19362 <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>
19363 </table>
19364 </dd>
19365</dl>
19366<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
19367
19368<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01584">1584</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19369
19370<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00495">vmul_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01102">vrecip_qs16()</a>.</p>
19371<div class="fragment"><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;{</div>
19372<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
19373<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_fifteen_dec = vdup_n_s16(15);</div>
19374<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vdup_n_s16(0x58B9 &gt;&gt; (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
19375<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;</div>
19376<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
19377<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; uint16x4_t calc_reciprocal = vclt_s16(a, const_one);</div>
19378<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> recip = vdup_n_s16(0);</div>
19379<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; recip = vbsl_s16(calc_reciprocal, recip, a);</div>
19380<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;</div>
19381<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
19382<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(recip, fixed_point_position);</div>
19383<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; a = vbsl_s16(calc_reciprocal, recip, a);</div>
19384<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;</div>
19385<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; <span class="comment">// Get decimal part of a</span></div>
19386<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-fixed_point_position);</div>
19387<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_a = vshl_s16(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
19388<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;</div>
19389<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
19390<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; shift_value = vsub_s16(const_fifteen_dec, vclz_s16(dec_a));</div>
19391<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;</div>
19392<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
19393<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value_neg = vneg_s16(shift_value);</div>
19394<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vrshl_s16(a, shift_value_neg), const_one);</div>
19395<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s16(shift_value, const_one);</div>
19396<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;</div>
19397<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19398<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vtaylor_poly_qs16&lt;true&gt;(temp, fixed_point_position);</div>
19399<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;</div>
19400<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; <span class="comment">// Reconstruct</span></div>
19401<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(vadd_s16(poly, sum), const_ln2, fixed_point_position);</div>
19402<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;</div>
19403<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
19404<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; poly = vbsl_s16(calc_reciprocal, vneg_s16(poly), poly);</div>
19405<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;</div>
19406<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <span class="keywordflow">return</span> poly;</div>
19407<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;}</div>
19408<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>
19409<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00495">NEFixedPoint.inl:495</a></div></div>
19410<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
19411<div class="ttc" id="namespacearm__compute_xhtml_a8e14017f1276f4a4e14078d93ed692bd"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">arm_compute::vrecip_qs16</a></div><div class="ttdeci">qint16x4_t vrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01102">NEFixedPoint.inl:1102</a></div></div>
19412</div><!-- fragment -->
19413</div>
19414</div>
19415<a class="anchor" id="a475d617b2ee92ec39588e6d6e488471a"></a>
19416<div class="memitem">
19417<div class="memproto">
19418<table class="mlabels">
19419 <tr>
19420 <td class="mlabels-left">
19421 <table class="memname">
19422 <tr>
19423 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vlog_qs8 </td>
19424 <td>(</td>
19425 <td class="paramtype">qint8x8_t&#160;</td>
19426 <td class="paramname"><em>a</em>, </td>
19427 </tr>
19428 <tr>
19429 <td class="paramkey"></td>
19430 <td></td>
19431 <td class="paramtype">int&#160;</td>
19432 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19433 </tr>
19434 <tr>
19435 <td></td>
19436 <td>)</td>
19437 <td></td><td></td>
19438 </tr>
19439 </table>
19440 </td>
19441 <td class="mlabels-right">
19442<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19443 </tr>
19444</table>
19445</div><div class="memdoc">
19446
19447<p>Calculate logarithm fixed point 8 bit (8 elements) </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019448<dl class="params"><dt>Parameters</dt><dd>
19449 <table class="params">
19450 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
19451 <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>
19452 </table>
19453 </dd>
19454</dl>
19455<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
19456
Kaizen8938bd32017-09-28 14:38:23 +010019457<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01545">1545</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019458
Kaizen8938bd32017-09-28 14:38:23 +010019459<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00478">vmul_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01076">vrecip_qs8()</a>.</p>
19460<div class="fragment"><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;{</div>
19461<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
19462<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_seven_dec = vdup_n_s8(7);</div>
19463<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vdup_n_s8(0x58 &gt;&gt; (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
19464<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;</div>
19465<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
19466<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; uint8x8_t calc_reciprocal = vclt_s8(a, const_one);</div>
19467<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> recip = vdup_n_s8(0);</div>
19468<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; recip = vbsl_s8(calc_reciprocal, recip, a);</div>
19469<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;</div>
19470<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
19471<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(recip, fixed_point_position);</div>
19472<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; a = vbsl_s8(calc_reciprocal, recip, a);</div>
19473<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;</div>
19474<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; <span class="comment">// Get decimal part of a</span></div>
19475<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-fixed_point_position);</div>
19476<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_a = vshl_s8(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
19477<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;</div>
19478<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
19479<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; shift_value = vsub_s8(const_seven_dec, vclz_s8(dec_a));</div>
19480<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;</div>
19481<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
19482<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value_neg = vneg_s8(shift_value);</div>
19483<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vrshl_s8(a, shift_value_neg), const_one);</div>
19484<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s8(shift_value, const_one);</div>
19485<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;</div>
19486<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19487<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vtaylor_poly_qs8&lt;true&gt;(temp, fixed_point_position);</div>
19488<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;</div>
19489<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <span class="comment">// Reconstruct</span></div>
19490<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(vadd_s8(poly, sum), const_ln2, fixed_point_position);</div>
19491<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;</div>
19492<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
19493<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; poly = vbsl_s8(calc_reciprocal, vneg_s8(poly), poly);</div>
19494<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;</div>
19495<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160; <span class="keywordflow">return</span> poly;</div>
19496<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;}</div>
19497<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>
19498<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00478">NEFixedPoint.inl:478</a></div></div>
19499<div class="ttc" id="namespacearm__compute_xhtml_aa24b270b0193ad8983dfecd6105c4936"><div class="ttname"><a href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">arm_compute::vrecip_qs8</a></div><div class="ttdeci">qint8x8_t vrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01076">NEFixedPoint.inl:1076</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019500<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
19501</div><!-- fragment -->
19502</div>
19503</div>
Kaizen8938bd32017-09-28 14:38:23 +010019504<a class="anchor" id="a38bedb9142df17a66ff1b90974f19512"></a>
19505<div class="memitem">
19506<div class="memproto">
19507<table class="mlabels">
19508 <tr>
19509 <td class="mlabels-left">
19510 <table class="memname">
19511 <tr>
19512 <td class="memname">float16x8_t arm_compute::vlogq_f16 </td>
19513 <td>(</td>
19514 <td class="paramtype">float16x8_t&#160;</td>
19515 <td class="paramname"><em>x</em></td><td>)</td>
19516 <td></td>
19517 </tr>
19518 </table>
19519 </td>
19520 <td class="mlabels-right">
19521<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19522 </tr>
19523</table>
19524</div><div class="memdoc">
19525
19526<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">282</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
19527
19528<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00188">log_tab_f16</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">vtaylor_polyq_f16()</a>.</p>
19529
19530<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">vpowq_f16()</a>.</p>
19531<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{</div>
19532<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int16x8_t CONST_127 = vdupq_n_s16(127); <span class="comment">// 127</span></div>
19533<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_LN2 = vdupq_n_f16(0.6931471805f); <span class="comment">// ln(2)</span></div>
19534<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div>
19535<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="comment">// Extract exponent</span></div>
19536<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keyword">const</span> int16x8_t m = vsubq_s16(vreinterpretq_s16_u16(vshrq_n_u16(vreinterpretq_u16_f16(x), 9)), CONST_127);</div>
19537<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> float16x8_t val = vreinterpretq_f16_s16(vsubq_s16(vreinterpretq_s16_f16(x), vshlq_n_s16(m, 9)));</div>
19538<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
19539<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19540<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; float16x8_t poly = <a class="code" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a>(val, <a class="code" href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">log_tab_f16</a>);</div>
19541<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div>
19542<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="comment">// Reconstruct</span></div>
19543<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; poly = vaddq_f16(poly, vmulq_f16(vcvtq_f16_s16(m), CONST_LN2));</div>
19544<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
19545<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> poly;</div>
19546<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;}</div>
19547<div class="ttc" id="namespacearm__compute_xhtml_afaad64bc527ee67d3374b67610a34a13"><div class="ttname"><a href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">arm_compute::vtaylor_polyq_f16</a></div><div class="ttdeci">float16x8_t vtaylor_polyq_f16(float16x8_t x, const std::array&lt; float16x8_t, 8 &gt; &amp;coeffs)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00249">NEMath.inl:249</a></div></div>
19548<div class="ttc" id="namespacearm__compute_xhtml_a0a8b2a577b2f9370e7b1c4735f007be1"><div class="ttname"><a href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">arm_compute::log_tab_f16</a></div><div class="ttdeci">const std::array&lt; float16x8_t, 8 &gt; log_tab_f16</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00188">NEMath.inl:188</a></div></div>
19549</div><!-- fragment -->
19550</div>
19551</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019552<a class="anchor" id="a37a3e03a22ad160a2e9e5c133607e020"></a>
19553<div class="memitem">
19554<div class="memproto">
19555<table class="mlabels">
19556 <tr>
19557 <td class="mlabels-left">
19558 <table class="memname">
19559 <tr>
19560 <td class="memname">float32x4_t vlogq_f32 </td>
19561 <td>(</td>
19562 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019563 <td class="paramname"><em>x</em></td><td>)</td>
19564 <td></td>
19565 </tr>
19566 </table>
19567 </td>
19568 <td class="mlabels-right">
19569<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19570 </tr>
19571</table>
19572</div><div class="memdoc">
19573
19574<p>Calculate logarithm. </p>
19575<dl class="params"><dt>Parameters</dt><dd>
19576 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019577 <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 +000019578 </table>
19579 </dd>
19580</dl>
19581<dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
19582
Kaizen8938bd32017-09-28 14:38:23 +010019583<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">134</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019584
Kaizen8938bd32017-09-28 14:38:23 +010019585<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">log_tab</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019586
Kaizen8938bd32017-09-28 14:38:23 +010019587<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">vpowq_f32()</a>.</p>
19588<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;{</div>
19589<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div>
19590<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div>
19591<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
19592<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// Extract exponent</span></div>
19593<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div>
19594<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div>
19595<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
19596<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19597<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div>
19598<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
19599<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// Reconstruct</span></div>
19600<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div>
19601<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
19602<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> poly;</div>
19603<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
19604<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019605<div class="ttc" id="namespacearm__compute_xhtml_a48fb9cf404e8f7043235bf14105c9793"><div class="ttname"><a href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">arm_compute::log_tab</a></div><div class="ttdeci">const std::array&lt; float32x4_t, 8 &gt; log_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00043">NEMath.inl:43</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000019606</div><!-- fragment -->
19607</div>
19608</div>
Kaizen8938bd32017-09-28 14:38:23 +010019609<a class="anchor" id="a756ac701185cfc4924443db164fd65ae"></a>
19610<div class="memitem">
19611<div class="memproto">
19612<table class="mlabels">
19613 <tr>
19614 <td class="mlabels-left">
19615 <table class="memname">
19616 <tr>
19617 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vlogq_qs16 </td>
19618 <td>(</td>
19619 <td class="paramtype">qint16x8_t&#160;</td>
19620 <td class="paramname"><em>a</em>, </td>
19621 </tr>
19622 <tr>
19623 <td class="paramkey"></td>
19624 <td></td>
19625 <td class="paramtype">int&#160;</td>
19626 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19627 </tr>
19628 <tr>
19629 <td></td>
19630 <td>)</td>
19631 <td></td><td></td>
19632 </tr>
19633 </table>
19634 </td>
19635 <td class="mlabels-right">
19636<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19637 </tr>
19638</table>
19639</div><div class="memdoc">
19640
19641<p>Calculate logarithm fixed point 16 bit (8 elements) </p>
19642<dl class="params"><dt>Parameters</dt><dd>
19643 <table class="params">
19644 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
19645 <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>
19646 </table>
19647 </dd>
19648</dl>
19649<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
19650
19651<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01662">1662</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19652
19653<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01264">vqrecipq_qs16()</a>.</p>
19654
19655<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01982">vqpowq_qs16()</a>.</p>
19656<div class="fragment"><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;{</div>
19657<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
19658<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_fifteen_dec = vdupq_n_s16(15);</div>
19659<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vdupq_n_s16(0x58B9 &gt;&gt; (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
19660<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;</div>
19661<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
19662<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; uint16x8_t calc_reciprocal = vcltq_s16(a, const_one);</div>
19663<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> recip = vdupq_n_s16(0);</div>
19664<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; recip = vbslq_s16(calc_reciprocal, a, recip);</div>
19665<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;</div>
19666<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
19667<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(recip, fixed_point_position);</div>
19668<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; a = vbslq_s16(calc_reciprocal, recip, a);</div>
19669<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div>
19670<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="comment">// Get decimal part of a</span></div>
19671<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-fixed_point_position);</div>
19672<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_a = vshlq_s16(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
19673<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;</div>
19674<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
19675<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; shift_value = vqsubq_s16(const_fifteen_dec, vclzq_s16(dec_a));</div>
19676<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;</div>
19677<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
19678<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value_neg = vnegq_s16(shift_value);</div>
19679<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vrshlq_s16(a, shift_value_neg), const_one);</div>
19680<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s16(shift_value, const_one);</div>
19681<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;</div>
19682<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19683<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vtaylor_polyq_qs16&lt;true&gt;(temp, fixed_point_position);</div>
19684<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;</div>
19685<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <span class="comment">// Reconstruct</span></div>
19686<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqaddq_s16(poly, sum), const_ln2, fixed_point_position);</div>
19687<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;</div>
19688<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
19689<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; poly = vbslq_s16(calc_reciprocal, vnegq_s16(poly), poly);</div>
19690<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;</div>
19691<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; <span class="keywordflow">return</span> poly;</div>
19692<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;}</div>
19693<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>
19694<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
19695<div class="ttc" id="namespacearm__compute_xhtml_a6a368d809128ff6bce989cda02c536d8"><div class="ttname"><a href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">arm_compute::vqrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vqrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01264">NEFixedPoint.inl:1264</a></div></div>
19696<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
19697</div><!-- fragment -->
19698</div>
19699</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019700<a class="anchor" id="a340b9cd5ad88f1a821498c6fad80e82c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000019701<div class="memitem">
19702<div class="memproto">
19703<table class="mlabels">
19704 <tr>
19705 <td class="mlabels-left">
19706 <table class="memname">
19707 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019708 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vlogq_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019709 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019710 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019711 <td class="paramname"><em>a</em>, </td>
19712 </tr>
19713 <tr>
19714 <td class="paramkey"></td>
19715 <td></td>
19716 <td class="paramtype">int&#160;</td>
19717 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19718 </tr>
19719 <tr>
19720 <td></td>
19721 <td>)</td>
19722 <td></td><td></td>
19723 </tr>
19724 </table>
19725 </td>
19726 <td class="mlabels-right">
19727<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19728 </tr>
19729</table>
19730</div><div class="memdoc">
19731
19732<p>Calculate logarithm fixed point 16bit (16 elements) </p>
19733<dl class="params"><dt>Parameters</dt><dd>
19734 <table class="params">
19735 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
19736 <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>
19737 </table>
19738 </dd>
19739</dl>
19740<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
19741
Kaizen8938bd32017-09-28 14:38:23 +010019742<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01623">1623</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019743
Kaizen8938bd32017-09-28 14:38:23 +010019744<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00512">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01182">vrecipq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019745
Kaizen8938bd32017-09-28 14:38:23 +010019746<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01977">vqpowq_qs8()</a>.</p>
19747<div class="fragment"><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;{</div>
19748<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
19749<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_seven_dec = vdupq_n_s8(7);</div>
19750<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vdupq_n_s8(0x58 &gt;&gt; (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
19751<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;</div>
19752<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
19753<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; uint8x16_t calc_reciprocal = vcltq_s8(a, const_one);</div>
19754<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> recip = vdupq_n_s8(0);</div>
19755<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; recip = vbslq_s8(calc_reciprocal, a, recip);</div>
19756<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;</div>
19757<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
19758<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(recip, fixed_point_position);</div>
19759<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; a = vbslq_s8(calc_reciprocal, recip, a);</div>
19760<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;</div>
19761<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; <span class="comment">// Get decimal part of a</span></div>
19762<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-fixed_point_position);</div>
19763<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_a = vshlq_s8(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
19764<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;</div>
19765<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
19766<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; shift_value = vsubq_s8(const_seven_dec, vclzq_s8(dec_a));</div>
19767<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;</div>
19768<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
19769<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value_neg = vnegq_s8(shift_value);</div>
19770<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vrshlq_s8(a, shift_value_neg), const_one);</div>
19771<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s8(shift_value, const_one);</div>
19772<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;</div>
19773<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19774<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vtaylor_polyq_qs8&lt;true&gt;(temp, fixed_point_position);</div>
19775<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;</div>
19776<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; <span class="comment">// Reconstruct</span></div>
19777<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(vaddq_s8(poly, sum), const_ln2, fixed_point_position);</div>
19778<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;</div>
19779<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
19780<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; poly = vbslq_s8(calc_reciprocal, vnegq_s8(poly), poly);</div>
19781<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;</div>
19782<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; <span class="keywordflow">return</span> poly;</div>
19783<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;}</div>
19784<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>
19785<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
19786<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00512">NEFixedPoint.inl:512</a></div></div>
19787<div class="ttc" id="namespacearm__compute_xhtml_abbeb1dc4834fb4e97cf94d702d0e0f91"><div class="ttname"><a href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">arm_compute::vrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01182">NEFixedPoint.inl:1182</a></div></div>
19788</div><!-- fragment -->
19789</div>
19790</div>
19791<a class="anchor" id="a4e6c2516e84e006167b046690d9a0c84"></a>
19792<div class="memitem">
19793<div class="memproto">
19794<table class="mlabels">
19795 <tr>
19796 <td class="mlabels-left">
19797 <table class="memname">
19798 <tr>
19799 <td class="memname">float32x4x2_t vmax2q_f32 </td>
19800 <td>(</td>
19801 <td class="paramtype">float32x4x2_t&#160;</td>
19802 <td class="paramname"><em>a</em>, </td>
19803 </tr>
19804 <tr>
19805 <td class="paramkey"></td>
19806 <td></td>
19807 <td class="paramtype">float32x4x2_t&#160;</td>
19808 <td class="paramname"><em>b</em>&#160;</td>
19809 </tr>
19810 <tr>
19811 <td></td>
19812 <td>)</td>
19813 <td></td><td></td>
19814 </tr>
19815 </table>
19816 </td>
19817 <td class="mlabels-right">
19818<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19819 </tr>
19820</table>
19821</div><div class="memdoc">
19822
19823<p>Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. </p>
19824<dl class="params"><dt>Parameters</dt><dd>
19825 <table class="params">
19826 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
19827 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Float input vector</td></tr>
19828 </table>
19829 </dd>
19830</dl>
19831<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -&gt; float32x4x2 </dd></dl>
19832
19833<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01987">1987</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19834<div class="fragment"><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;{</div>
19835<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160; float32x4x2_t res =</div>
19836<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160; {</div>
19837<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160; {</div>
19838<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160; vmaxq_f32(a.val[0], b.val[0]),</div>
19839<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160; vmaxq_f32(a.val[1], b.val[1])</div>
19840<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; }</div>
19841<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160; };</div>
19842<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160; <span class="keywordflow">return</span> res;</div>
19843<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;}</div>
19844</div><!-- fragment -->
19845</div>
19846</div>
19847<a class="anchor" id="a5db8c0cf0dba918904733f0c9a8bedc8"></a>
19848<div class="memitem">
19849<div class="memproto">
19850<table class="mlabels">
19851 <tr>
19852 <td class="mlabels-left">
19853 <table class="memname">
19854 <tr>
19855 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmax_qs16 </td>
19856 <td>(</td>
19857 <td class="paramtype">qint16x4_t&#160;</td>
19858 <td class="paramname"><em>a</em>, </td>
19859 </tr>
19860 <tr>
19861 <td class="paramkey"></td>
19862 <td></td>
19863 <td class="paramtype">qint16x4_t&#160;</td>
19864 <td class="paramname"><em>b</em>&#160;</td>
19865 </tr>
19866 <tr>
19867 <td></td>
19868 <td>)</td>
19869 <td></td><td></td>
19870 </tr>
19871 </table>
19872 </td>
19873 <td class="mlabels-right">
19874<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19875 </tr>
19876</table>
19877</div><div class="memdoc">
19878
19879<p>16 bit fixed point vector max (4 elements) </p>
19880<dl class="params"><dt>Parameters</dt><dd>
19881 <table class="params">
19882 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
19883 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
19884 </table>
19885 </dd>
19886</dl>
19887<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
19888
19889<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00328">328</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19890<div class="fragment"><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;{</div>
19891<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">return</span> vmax_s16(a, b);</div>
19892<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019893</div><!-- fragment -->
19894</div>
19895</div>
19896<a class="anchor" id="a3e913e95e286244f24f9a381909c8b26"></a>
19897<div class="memitem">
19898<div class="memproto">
19899<table class="mlabels">
19900 <tr>
19901 <td class="mlabels-left">
19902 <table class="memname">
19903 <tr>
19904 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmax_qs8 </td>
19905 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019906 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019907 <td class="paramname"><em>a</em>, </td>
19908 </tr>
19909 <tr>
19910 <td class="paramkey"></td>
19911 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010019912 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019913 <td class="paramname"><em>b</em>&#160;</td>
19914 </tr>
19915 <tr>
19916 <td></td>
19917 <td>)</td>
19918 <td></td><td></td>
19919 </tr>
19920 </table>
19921 </td>
19922 <td class="mlabels-right">
19923<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19924 </tr>
19925</table>
19926</div><div class="memdoc">
19927
19928<p>8 bit fixed point vector max (8 elements) </p>
19929<dl class="params"><dt>Parameters</dt><dd>
19930 <table class="params">
19931 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
19932 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
19933 </table>
19934 </dd>
19935</dl>
19936<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
19937
Kaizen8938bd32017-09-28 14:38:23 +010019938<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00323">323</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19939<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div>
19940<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> vmax_s8(a, b);</div>
19941<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div>
19942</div><!-- fragment -->
19943</div>
19944</div>
19945<a class="anchor" id="a952d1f0a7f47167985554aed39b737ac"></a>
19946<div class="memitem">
19947<div class="memproto">
19948<table class="mlabels">
19949 <tr>
19950 <td class="mlabels-left">
19951 <table class="memname">
19952 <tr>
19953 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmaxq_qs16 </td>
19954 <td>(</td>
19955 <td class="paramtype">qint16x8_t&#160;</td>
19956 <td class="paramname"><em>a</em>, </td>
19957 </tr>
19958 <tr>
19959 <td class="paramkey"></td>
19960 <td></td>
19961 <td class="paramtype">qint16x8_t&#160;</td>
19962 <td class="paramname"><em>b</em>&#160;</td>
19963 </tr>
19964 <tr>
19965 <td></td>
19966 <td>)</td>
19967 <td></td><td></td>
19968 </tr>
19969 </table>
19970 </td>
19971 <td class="mlabels-right">
19972<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19973 </tr>
19974</table>
19975</div><div class="memdoc">
19976
19977<p>16 bit fixed point vector max (8 elements) </p>
19978<dl class="params"><dt>Parameters</dt><dd>
19979 <table class="params">
19980 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
19981 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
19982 </table>
19983 </dd>
19984</dl>
19985<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
19986
19987<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00348">348</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19988<div class="fragment"><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;{</div>
19989<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> vmaxq_s16(a, b);</div>
19990<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;}</div>
19991</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019992</div>
19993</div>
19994<a class="anchor" id="a1627f818fb2ca90f7c3880f959030556"></a>
19995<div class="memitem">
19996<div class="memproto">
19997<table class="mlabels">
19998 <tr>
19999 <td class="mlabels-left">
20000 <table class="memname">
20001 <tr>
20002 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmaxq_qs8 </td>
20003 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020004 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020005 <td class="paramname"><em>a</em>, </td>
20006 </tr>
20007 <tr>
20008 <td class="paramkey"></td>
20009 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020010 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020011 <td class="paramname"><em>b</em>&#160;</td>
20012 </tr>
20013 <tr>
20014 <td></td>
20015 <td>)</td>
20016 <td></td><td></td>
20017 </tr>
20018 </table>
20019 </td>
20020 <td class="mlabels-right">
20021<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20022 </tr>
20023</table>
20024</div><div class="memdoc">
20025
20026<p>8 bit fixed point vector max (16 elements) </p>
20027<dl class="params"><dt>Parameters</dt><dd>
20028 <table class="params">
20029 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20030 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20031 </table>
20032 </dd>
20033</dl>
20034<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
20035
Kaizen8938bd32017-09-28 14:38:23 +010020036<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00333">333</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20037<div class="fragment"><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;{</div>
20038<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> vmaxq_s8(a, b);</div>
20039<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;}</div>
20040</div><!-- fragment -->
20041</div>
20042</div>
20043<a class="anchor" id="ac0eb95618787b12b93aeb2f3f101dad2"></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"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmin_qs16 </td>
20052 <td>(</td>
20053 <td class="paramtype">qint16x4_t&#160;</td>
20054 <td class="paramname"><em>a</em>, </td>
20055 </tr>
20056 <tr>
20057 <td class="paramkey"></td>
20058 <td></td>
20059 <td class="paramtype">qint16x4_t&#160;</td>
20060 <td class="paramname"><em>b</em>&#160;</td>
20061 </tr>
20062 <tr>
20063 <td></td>
20064 <td>)</td>
20065 <td></td><td></td>
20066 </tr>
20067 </table>
20068 </td>
20069 <td class="mlabels-right">
20070<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20071 </tr>
20072</table>
20073</div><div class="memdoc">
20074
20075<p>16 bit fixed point vector min (4 elements) </p>
20076<dl class="params"><dt>Parameters</dt><dd>
20077 <table class="params">
20078 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20079 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
20080 </table>
20081 </dd>
20082</dl>
20083<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
20084
20085<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00358">358</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20086<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;{</div>
20087<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> vmin_s16(a, b);</div>
20088<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;}</div>
20089</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020090</div>
20091</div>
20092<a class="anchor" id="abed4a7c95569e1fa72d0f8bfe5a50c84"></a>
20093<div class="memitem">
20094<div class="memproto">
20095<table class="mlabels">
20096 <tr>
20097 <td class="mlabels-left">
20098 <table class="memname">
20099 <tr>
20100 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmin_qs8 </td>
20101 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020102 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020103 <td class="paramname"><em>a</em>, </td>
20104 </tr>
20105 <tr>
20106 <td class="paramkey"></td>
20107 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020108 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020109 <td class="paramname"><em>b</em>&#160;</td>
20110 </tr>
20111 <tr>
20112 <td></td>
20113 <td>)</td>
20114 <td></td><td></td>
20115 </tr>
20116 </table>
20117 </td>
20118 <td class="mlabels-right">
20119<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20120 </tr>
20121</table>
20122</div><div class="memdoc">
20123
20124<p>8 bit fixed point vector min (8 elements) </p>
20125<dl class="params"><dt>Parameters</dt><dd>
20126 <table class="params">
20127 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20128 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20129 </table>
20130 </dd>
20131</dl>
20132<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
20133
Kaizen8938bd32017-09-28 14:38:23 +010020134<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00353">353</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20135<div class="fragment"><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;{</div>
20136<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> vmin_s8(a, b);</div>
20137<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;}</div>
20138</div><!-- fragment -->
20139</div>
20140</div>
20141<a class="anchor" id="a9724e1c56a877ce483c84420297dd638"></a>
20142<div class="memitem">
20143<div class="memproto">
20144<table class="mlabels">
20145 <tr>
20146 <td class="mlabels-left">
20147 <table class="memname">
20148 <tr>
20149 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vminq_qs16 </td>
20150 <td>(</td>
20151 <td class="paramtype">qint16x8_t&#160;</td>
20152 <td class="paramname"><em>a</em>, </td>
20153 </tr>
20154 <tr>
20155 <td class="paramkey"></td>
20156 <td></td>
20157 <td class="paramtype">qint16x8_t&#160;</td>
20158 <td class="paramname"><em>b</em>&#160;</td>
20159 </tr>
20160 <tr>
20161 <td></td>
20162 <td>)</td>
20163 <td></td><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
20173<p>16 bit fixed point vector min (8 elements) </p>
20174<dl class="params"><dt>Parameters</dt><dd>
20175 <table class="params">
20176 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20177 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
20178 </table>
20179 </dd>
20180</dl>
20181<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector min operation </dd></dl>
20182
20183<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00378">378</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20184<div class="fragment"><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;{</div>
20185<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">return</span> vminq_s16(a, b);</div>
20186<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;}</div>
20187</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020188</div>
20189</div>
20190<a class="anchor" id="a3b393341c8500b469780137b3548f70b"></a>
20191<div class="memitem">
20192<div class="memproto">
20193<table class="mlabels">
20194 <tr>
20195 <td class="mlabels-left">
20196 <table class="memname">
20197 <tr>
20198 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vminq_qs8 </td>
20199 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020200 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020201 <td class="paramname"><em>a</em>, </td>
20202 </tr>
20203 <tr>
20204 <td class="paramkey"></td>
20205 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020206 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020207 <td class="paramname"><em>b</em>&#160;</td>
20208 </tr>
20209 <tr>
20210 <td></td>
20211 <td>)</td>
20212 <td></td><td></td>
20213 </tr>
20214 </table>
20215 </td>
20216 <td class="mlabels-right">
20217<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20218 </tr>
20219</table>
20220</div><div class="memdoc">
20221
20222<p>8 bit fixed point vector min (16 elements) </p>
20223<dl class="params"><dt>Parameters</dt><dd>
20224 <table class="params">
20225 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20226 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20227 </table>
20228 </dd>
20229</dl>
20230<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector min operation </dd></dl>
20231
Kaizen8938bd32017-09-28 14:38:23 +010020232<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00363">363</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20233<div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;{</div>
20234<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> vminq_s8(a, b);</div>
20235<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;}</div>
20236</div><!-- fragment -->
20237</div>
20238</div>
20239<a class="anchor" id="a274a6a8a684dd31dbd2a1ebef37b38db"></a>
20240<div class="memitem">
20241<div class="memproto">
20242<table class="mlabels">
20243 <tr>
20244 <td class="mlabels-left">
20245 <table class="memname">
20246 <tr>
20247 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmla_qs16 </td>
20248 <td>(</td>
20249 <td class="paramtype">qint16x4_t&#160;</td>
20250 <td class="paramname"><em>a</em>, </td>
20251 </tr>
20252 <tr>
20253 <td class="paramkey"></td>
20254 <td></td>
20255 <td class="paramtype">qint16x4_t&#160;</td>
20256 <td class="paramname"><em>b</em>, </td>
20257 </tr>
20258 <tr>
20259 <td class="paramkey"></td>
20260 <td></td>
20261 <td class="paramtype">qint16x4_t&#160;</td>
20262 <td class="paramname"><em>c</em>, </td>
20263 </tr>
20264 <tr>
20265 <td class="paramkey"></td>
20266 <td></td>
20267 <td class="paramtype">int&#160;</td>
20268 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20269 </tr>
20270 <tr>
20271 <td></td>
20272 <td>)</td>
20273 <td></td><td></td>
20274 </tr>
20275 </table>
20276 </td>
20277 <td class="mlabels-right">
20278<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20279 </tr>
20280</table>
20281</div><div class="memdoc">
20282
20283<p>16 bit fixed point vector multiply-accumulate (4 elements). </p>
20284<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>
20285<dl class="params"><dt>Parameters</dt><dd>
20286 <table class="params">
20287 <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>
20288 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20289 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
20290 <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>
20291 </table>
20292 </dd>
20293</dl>
20294<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
20295
20296<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00666">666</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20297<div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;{</div>
20298<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20299<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;</div>
20300<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20301<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20302<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div>
20303<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20304<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
20305<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;</div>
20306<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20307<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; tmp = vshlq_s32(tmp, fixed_point_position_s32);</div>
20308<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;</div>
20309<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="comment">// Convert back to qint16 and accumulate</span></div>
20310<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">return</span> vadd_s16(a, vmovn_s32(tmp));</div>
20311<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;}</div>
20312<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
20313</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020314</div>
20315</div>
20316<a class="anchor" id="a26fd8532b87adbcf27214504c38918e4"></a>
20317<div class="memitem">
20318<div class="memproto">
20319<table class="mlabels">
20320 <tr>
20321 <td class="mlabels-left">
20322 <table class="memname">
20323 <tr>
20324 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmla_qs8 </td>
20325 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020326 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020327 <td class="paramname"><em>a</em>, </td>
20328 </tr>
20329 <tr>
20330 <td class="paramkey"></td>
20331 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020332 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020333 <td class="paramname"><em>b</em>, </td>
20334 </tr>
20335 <tr>
20336 <td class="paramkey"></td>
20337 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020338 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020339 <td class="paramname"><em>c</em>, </td>
20340 </tr>
20341 <tr>
20342 <td class="paramkey"></td>
20343 <td></td>
20344 <td class="paramtype">int&#160;</td>
20345 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20346 </tr>
20347 <tr>
20348 <td></td>
20349 <td>)</td>
20350 <td></td><td></td>
20351 </tr>
20352 </table>
20353 </td>
20354 <td class="mlabels-right">
20355<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20356 </tr>
20357</table>
20358</div><div class="memdoc">
20359
20360<p>8 bit fixed point vector multiply-accumulate (8 elements). </p>
20361<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>
20362<dl class="params"><dt>Parameters</dt><dd>
20363 <table class="params">
20364 <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>
20365 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20366 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
20367 <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>
20368 </table>
20369 </dd>
20370</dl>
20371<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
20372
Kaizen8938bd32017-09-28 14:38:23 +010020373<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00649">649</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20374<div class="fragment"><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;{</div>
20375<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20376<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div>
20377<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20378<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
20379<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div>
20380<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20381<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
20382<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div>
20383<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20384<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; tmp = vshlq_s16(tmp, fixed_point_position_s16);</div>
20385<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;</div>
20386<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
20387<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> vadd_s8(a, vmovn_s16(tmp));</div>
20388<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;}</div>
20389<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20390</div><!-- fragment -->
20391</div>
20392</div>
20393<a class="anchor" id="ae236b9df08e568bb4b1dcc89896cff7e"></a>
20394<div class="memitem">
20395<div class="memproto">
20396<table class="mlabels">
20397 <tr>
20398 <td class="mlabels-left">
20399 <table class="memname">
20400 <tr>
20401 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vmlal_qs16 </td>
20402 <td>(</td>
20403 <td class="paramtype">qint32x4_t&#160;</td>
20404 <td class="paramname"><em>a</em>, </td>
20405 </tr>
20406 <tr>
20407 <td class="paramkey"></td>
20408 <td></td>
20409 <td class="paramtype">qint16x4_t&#160;</td>
20410 <td class="paramname"><em>b</em>, </td>
20411 </tr>
20412 <tr>
20413 <td class="paramkey"></td>
20414 <td></td>
20415 <td class="paramtype">qint16x4_t&#160;</td>
20416 <td class="paramname"><em>c</em>, </td>
20417 </tr>
20418 <tr>
20419 <td class="paramkey"></td>
20420 <td></td>
20421 <td class="paramtype">int&#160;</td>
20422 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20423 </tr>
20424 <tr>
20425 <td></td>
20426 <td>)</td>
20427 <td></td><td></td>
20428 </tr>
20429 </table>
20430 </td>
20431 <td class="mlabels-right">
20432<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20433 </tr>
20434</table>
20435</div><div class="memdoc">
20436
20437<p>16 bit fixed point vector multiply-accumulate long (4 elements). </p>
20438<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>
20439<dl class="params"><dt>Parameters</dt><dd>
20440 <table class="params">
20441 <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>
20442 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20443 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
20444 <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>
20445 </table>
20446 </dd>
20447</dl>
20448<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
20449
20450<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00816">816</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20451<div class="fragment"><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;{</div>
20452<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20453<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;</div>
20454<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20455<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20456<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;</div>
20457<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20458<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
20459<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;</div>
20460<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20461<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; tmp = vshlq_s32(tmp, fixed_point_position_s32);</div>
20462<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;</div>
20463<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="comment">// Accumulate</span></div>
20464<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keywordflow">return</span> vaddq_s32(a, tmp);</div>
20465<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;}</div>
20466<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020467</div><!-- fragment -->
20468</div>
20469</div>
20470<a class="anchor" id="a13873b51e98dcb41229ccf911e671693"></a>
20471<div class="memitem">
20472<div class="memproto">
20473<table class="mlabels">
20474 <tr>
20475 <td class="mlabels-left">
20476 <table class="memname">
20477 <tr>
20478 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmlal_qs8 </td>
20479 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020480 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020481 <td class="paramname"><em>a</em>, </td>
20482 </tr>
20483 <tr>
20484 <td class="paramkey"></td>
20485 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020486 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020487 <td class="paramname"><em>b</em>, </td>
20488 </tr>
20489 <tr>
20490 <td class="paramkey"></td>
20491 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020492 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020493 <td class="paramname"><em>c</em>, </td>
20494 </tr>
20495 <tr>
20496 <td class="paramkey"></td>
20497 <td></td>
20498 <td class="paramtype">int&#160;</td>
20499 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20500 </tr>
20501 <tr>
20502 <td></td>
20503 <td>)</td>
20504 <td></td><td></td>
20505 </tr>
20506 </table>
20507 </td>
20508 <td class="mlabels-right">
20509<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20510 </tr>
20511</table>
20512</div><div class="memdoc">
20513
20514<p>8 bit fixed point vector multiply-accumulate long (8 elements). </p>
20515<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>
20516<dl class="params"><dt>Parameters</dt><dd>
20517 <table class="params">
20518 <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>
20519 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20520 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
20521 <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>
20522 </table>
20523 </dd>
20524</dl>
20525<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
20526
Kaizen8938bd32017-09-28 14:38:23 +010020527<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00799">799</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20528<div class="fragment"><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;{</div>
20529<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20530<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;</div>
20531<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20532<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
20533<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;</div>
20534<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20535<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
20536<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;</div>
20537<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20538<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; tmp = vshlq_s16(tmp, fixed_point_position_s16);</div>
20539<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;</div>
20540<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="comment">// Accumulate</span></div>
20541<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keywordflow">return</span> vaddq_s16(a, tmp);</div>
20542<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;}</div>
20543<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20544</div><!-- fragment -->
20545</div>
20546</div>
20547<a class="anchor" id="afac88503bedaf0d617729062991518d7"></a>
20548<div class="memitem">
20549<div class="memproto">
20550<table class="mlabels">
20551 <tr>
20552 <td class="mlabels-left">
20553 <table class="memname">
20554 <tr>
20555 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmlaq_qs16 </td>
20556 <td>(</td>
20557 <td class="paramtype">qint16x8_t&#160;</td>
20558 <td class="paramname"><em>a</em>, </td>
20559 </tr>
20560 <tr>
20561 <td class="paramkey"></td>
20562 <td></td>
20563 <td class="paramtype">qint16x8_t&#160;</td>
20564 <td class="paramname"><em>b</em>, </td>
20565 </tr>
20566 <tr>
20567 <td class="paramkey"></td>
20568 <td></td>
20569 <td class="paramtype">qint16x8_t&#160;</td>
20570 <td class="paramname"><em>c</em>, </td>
20571 </tr>
20572 <tr>
20573 <td class="paramkey"></td>
20574 <td></td>
20575 <td class="paramtype">int&#160;</td>
20576 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20577 </tr>
20578 <tr>
20579 <td></td>
20580 <td>)</td>
20581 <td></td><td></td>
20582 </tr>
20583 </table>
20584 </td>
20585 <td class="mlabels-right">
20586<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20587 </tr>
20588</table>
20589</div><div class="memdoc">
20590
20591<p>16 bit fixed point vector multiply-accumulate (16 elements). </p>
20592<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>
20593<dl class="params"><dt>Parameters</dt><dd>
20594 <table class="params">
20595 <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>
20596 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20597 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
20598 <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>
20599 </table>
20600 </dd>
20601</dl>
20602<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
20603
20604<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00703">703</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20605
20606<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
20607<div class="fragment"><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;{</div>
20608<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20609<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div>
20610<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20611<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20612<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div>
20613<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div>
20614<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20615<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(c));</div>
20616<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(c));</div>
20617<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div>
20618<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20619<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; tmp0 = vshlq_s32(tmp0, fixed_point_position_s32);</div>
20620<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; tmp1 = vshlq_s32(tmp1, fixed_point_position_s32);</div>
20621<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;</div>
20622<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="comment">// Convert back to qint16 and accumulate</span></div>
20623<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), vmovn_s32(tmp0)), vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), vmovn_s32(tmp1)));</div>
20624<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;}</div>
20625<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
20626<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
20627<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020628</div><!-- fragment -->
20629</div>
20630</div>
20631<a class="anchor" id="aca905840b37a91fff71e163aa619904c"></a>
20632<div class="memitem">
20633<div class="memproto">
20634<table class="mlabels">
20635 <tr>
20636 <td class="mlabels-left">
20637 <table class="memname">
20638 <tr>
20639 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmlaq_qs8 </td>
20640 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020641 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020642 <td class="paramname"><em>a</em>, </td>
20643 </tr>
20644 <tr>
20645 <td class="paramkey"></td>
20646 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020647 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020648 <td class="paramname"><em>b</em>, </td>
20649 </tr>
20650 <tr>
20651 <td class="paramkey"></td>
20652 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020653 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020654 <td class="paramname"><em>c</em>, </td>
20655 </tr>
20656 <tr>
20657 <td class="paramkey"></td>
20658 <td></td>
20659 <td class="paramtype">int&#160;</td>
20660 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20661 </tr>
20662 <tr>
20663 <td></td>
20664 <td>)</td>
20665 <td></td><td></td>
20666 </tr>
20667 </table>
20668 </td>
20669 <td class="mlabels-right">
20670<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20671 </tr>
20672</table>
20673</div><div class="memdoc">
20674
20675<p>8 bit fixed point vector multiply-accumulate (16 elements). </p>
20676<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>
20677<dl class="params"><dt>Parameters</dt><dd>
20678 <table class="params">
20679 <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>
20680 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20681 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
20682 <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>
20683 </table>
20684 </dd>
20685</dl>
20686<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
20687
Kaizen8938bd32017-09-28 14:38:23 +010020688<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00683">683</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20689<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;{</div>
20690<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20691<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;</div>
20692<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20693<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
20694<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div>
20695<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;</div>
20696<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20697<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; tmp0 = vmlal_s8(tmp0, vget_low_s8(b), vget_low_s8(c));</div>
20698<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; tmp1 = vmlal_s8(tmp1, vget_high_s8(b), vget_high_s8(c));</div>
20699<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div>
20700<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20701<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; tmp0 = vshlq_s16(tmp0, fixed_point_position_s16);</div>
20702<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; tmp1 = vshlq_s16(tmp1, fixed_point_position_s16);</div>
20703<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;</div>
20704<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
20705<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vadd_s8(vget_low_s8(a), vmovn_s16(tmp0)), vadd_s8(vget_high_s8(a), vmovn_s16(tmp1)));</div>
20706<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;}</div>
20707<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20708</div><!-- fragment -->
20709</div>
20710</div>
20711<a class="anchor" id="ac1b67e3283a1cae4d57b7f64137f5f5c"></a>
20712<div class="memitem">
20713<div class="memproto">
20714<table class="mlabels">
20715 <tr>
20716 <td class="mlabels-left">
20717 <table class="memname">
20718 <tr>
20719 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmul_qs16 </td>
20720 <td>(</td>
20721 <td class="paramtype">qint16x4_t&#160;</td>
20722 <td class="paramname"><em>a</em>, </td>
20723 </tr>
20724 <tr>
20725 <td class="paramkey"></td>
20726 <td></td>
20727 <td class="paramtype">qint16x4_t&#160;</td>
20728 <td class="paramname"><em>b</em>, </td>
20729 </tr>
20730 <tr>
20731 <td class="paramkey"></td>
20732 <td></td>
20733 <td class="paramtype">int&#160;</td>
20734 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20735 </tr>
20736 <tr>
20737 <td></td>
20738 <td>)</td>
20739 <td></td><td></td>
20740 </tr>
20741 </table>
20742 </td>
20743 <td class="mlabels-right">
20744<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20745 </tr>
20746</table>
20747</div><div class="memdoc">
20748
20749<p>16 bit fixed point vector multiply (4 elements) </p>
20750<dl class="params"><dt>Parameters</dt><dd>
20751 <table class="params">
20752 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20753 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20754 <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>
20755 </table>
20756 </dd>
20757</dl>
20758<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
20759
20760<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00495">495</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20761
20762<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01298">vdiv_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01728">vinvsqrt_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01584">vlog_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01102">vrecip_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01330">vtaylor_poly_qs16()</a>.</p>
20763<div class="fragment"><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;{</div>
20764<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20765<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;</div>
20766<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
20767<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20768<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div>
20769<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20770<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; res = vmlal_s16(res, a, b);</div>
20771<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;</div>
20772<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20773<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; res = vshlq_s32(res, fixed_point_position_s32);</div>
20774<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;</div>
20775<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="comment">// Convert back to qint16</span></div>
20776<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> vmovn_s32(res);</div>
20777<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;}</div>
20778<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020779</div><!-- fragment -->
20780</div>
20781</div>
20782<a class="anchor" id="afccf1305c480f2338af8925bba6b54cd"></a>
20783<div class="memitem">
20784<div class="memproto">
20785<table class="mlabels">
20786 <tr>
20787 <td class="mlabels-left">
20788 <table class="memname">
20789 <tr>
20790 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmul_qs8 </td>
20791 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020792 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020793 <td class="paramname"><em>a</em>, </td>
20794 </tr>
20795 <tr>
20796 <td class="paramkey"></td>
20797 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020798 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020799 <td class="paramname"><em>b</em>, </td>
20800 </tr>
20801 <tr>
20802 <td class="paramkey"></td>
20803 <td></td>
20804 <td class="paramtype">int&#160;</td>
20805 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20806 </tr>
20807 <tr>
20808 <td></td>
20809 <td>)</td>
20810 <td></td><td></td>
20811 </tr>
20812 </table>
20813 </td>
20814 <td class="mlabels-right">
20815<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20816 </tr>
20817</table>
20818</div><div class="memdoc">
20819
20820<p>8 bit fixed point vector multiply (8 elements) </p>
20821<dl class="params"><dt>Parameters</dt><dd>
20822 <table class="params">
20823 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20824 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20825 <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>
20826 </table>
20827 </dd>
20828</dl>
20829<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
20830
Kaizen8938bd32017-09-28 14:38:23 +010020831<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00478">478</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020832
Kaizen8938bd32017-09-28 14:38:23 +010020833<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01293">vdiv_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01701">vinvsqrt_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01545">vlog_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01076">vrecip_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01314">vtaylor_poly_qs8()</a>.</p>
20834<div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div>
20835<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20836<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;</div>
20837<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
20838<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
20839<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div>
20840<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20841<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; res = vmlal_s8(res, a, b);</div>
20842<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div>
20843<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20844<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; res = vshlq_s16(res, fixed_point_position_s16);</div>
20845<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div>
20846<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="comment">// Convert back to qint8</span></div>
20847<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">return</span> vmovn_s16(res);</div>
20848<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;}</div>
20849<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20850</div><!-- fragment -->
20851</div>
20852</div>
20853<a class="anchor" id="afce8b13d7a800aa8ac24733160130cfc"></a>
20854<div class="memitem">
20855<div class="memproto">
20856<table class="mlabels">
20857 <tr>
20858 <td class="mlabels-left">
20859 <table class="memname">
20860 <tr>
20861 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vmull_qs16 </td>
20862 <td>(</td>
20863 <td class="paramtype">qint16x4_t&#160;</td>
20864 <td class="paramname"><em>a</em>, </td>
20865 </tr>
20866 <tr>
20867 <td class="paramkey"></td>
20868 <td></td>
20869 <td class="paramtype">qint16x4_t&#160;</td>
20870 <td class="paramname"><em>b</em>, </td>
20871 </tr>
20872 <tr>
20873 <td class="paramkey"></td>
20874 <td></td>
20875 <td class="paramtype">int&#160;</td>
20876 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20877 </tr>
20878 <tr>
20879 <td></td>
20880 <td>)</td>
20881 <td></td><td></td>
20882 </tr>
20883 </table>
20884 </td>
20885 <td class="mlabels-right">
20886<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20887 </tr>
20888</table>
20889</div><div class="memdoc">
20890
20891<p>16 bit fixed point vector long multiply (4 elements) </p>
20892<dl class="params"><dt>Parameters</dt><dd>
20893 <table class="params">
20894 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20895 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20896 <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>
20897 </table>
20898 </dd>
20899</dl>
20900<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point long vector multiplication. </dd></dl>
20901
20902<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00635">635</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20903<div class="fragment"><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;{</div>
20904<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20905<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div>
20906<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20907<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20908<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div>
20909<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20910<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; tmp = vmull_s16(a, b);</div>
20911<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;</div>
20912<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20913<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">return</span> vqshlq_s32(tmp, fixed_point_position_s32);</div>
20914<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;}</div>
20915<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020916</div><!-- fragment -->
20917</div>
20918</div>
20919<a class="anchor" id="a3e959a9add1078033f3a27725323df13"></a>
20920<div class="memitem">
20921<div class="memproto">
20922<table class="mlabels">
20923 <tr>
20924 <td class="mlabels-left">
20925 <table class="memname">
20926 <tr>
20927 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmull_qs8 </td>
20928 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020929 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020930 <td class="paramname"><em>a</em>, </td>
20931 </tr>
20932 <tr>
20933 <td class="paramkey"></td>
20934 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020935 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020936 <td class="paramname"><em>b</em>, </td>
20937 </tr>
20938 <tr>
20939 <td class="paramkey"></td>
20940 <td></td>
20941 <td class="paramtype">int&#160;</td>
20942 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20943 </tr>
20944 <tr>
20945 <td></td>
20946 <td>)</td>
20947 <td></td><td></td>
20948 </tr>
20949 </table>
20950 </td>
20951 <td class="mlabels-right">
20952<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20953 </tr>
20954</table>
20955</div><div class="memdoc">
20956
20957<p>8 bit fixed point vector long multiply (8 elements) </p>
20958<dl class="params"><dt>Parameters</dt><dd>
20959 <table class="params">
20960 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20961 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20962 <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>
20963 </table>
20964 </dd>
20965</dl>
20966<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point long vector multiplication. </dd></dl>
20967
Kaizen8938bd32017-09-28 14:38:23 +010020968<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00626">626</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20969<div class="fragment"><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;{</div>
20970<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20971<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;</div>
20972<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vmull_s8(a, b);</div>
20973<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;</div>
20974<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">return</span> vqrshlq_s16(res, fixed_point_position_s16);</div>
20975<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;}</div>
20976<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20977</div><!-- fragment -->
20978</div>
20979</div>
20980<a class="anchor" id="a74ea79cda0ff6a819b2e5176fe0fc622"></a>
20981<div class="memitem">
20982<div class="memproto">
20983<table class="mlabels">
20984 <tr>
20985 <td class="mlabels-left">
20986 <table class="memname">
20987 <tr>
20988 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmulq_qs16 </td>
20989 <td>(</td>
20990 <td class="paramtype">qint16x8_t&#160;</td>
20991 <td class="paramname"><em>a</em>, </td>
20992 </tr>
20993 <tr>
20994 <td class="paramkey"></td>
20995 <td></td>
20996 <td class="paramtype">qint16x8_t&#160;</td>
20997 <td class="paramname"><em>b</em>, </td>
20998 </tr>
20999 <tr>
21000 <td class="paramkey"></td>
21001 <td></td>
21002 <td class="paramtype">int&#160;</td>
21003 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21004 </tr>
21005 <tr>
21006 <td></td>
21007 <td>)</td>
21008 <td></td><td></td>
21009 </tr>
21010 </table>
21011 </td>
21012 <td class="mlabels-right">
21013<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21014 </tr>
21015</table>
21016</div><div class="memdoc">
21017
21018<p>16 bit fixed point vector multiply (8 elements) </p>
21019<dl class="params"><dt>Parameters</dt><dd>
21020 <table class="params">
21021 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21022 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
21023 <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>
21024 </table>
21025 </dd>
21026</dl>
21027<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
21028
21029<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">532</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21030
21031<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
21032
21033<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01308">vdivq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01840">vinvsqrtq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01209">vrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01394">vtaylor_polyq_qs16()</a>.</p>
21034<div class="fragment"><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;{</div>
21035<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
21036<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;</div>
21037<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
21038<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
21039<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div>
21040<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;</div>
21041<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21042<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b));</div>
21043<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b));</div>
21044<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;</div>
21045<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21046<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; res0 = vshlq_s32(res0, fixed_point_position_s32);</div>
21047<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; res1 = vshlq_s32(res1, fixed_point_position_s32);</div>
21048<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div>
21049<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="comment">// Convert back to qint16</span></div>
21050<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vmovn_s32(res0), vmovn_s32(res1));</div>
21051<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;}</div>
21052<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
21053<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
21054<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021055</div><!-- fragment -->
21056</div>
21057</div>
21058<a class="anchor" id="a031b17d4102856aa4d6bf7ebf83bf0ab"></a>
21059<div class="memitem">
21060<div class="memproto">
21061<table class="mlabels">
21062 <tr>
21063 <td class="mlabels-left">
21064 <table class="memname">
21065 <tr>
21066 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmulq_qs8 </td>
21067 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021068 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021069 <td class="paramname"><em>a</em>, </td>
21070 </tr>
21071 <tr>
21072 <td class="paramkey"></td>
21073 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021074 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021075 <td class="paramname"><em>b</em>, </td>
21076 </tr>
21077 <tr>
21078 <td class="paramkey"></td>
21079 <td></td>
21080 <td class="paramtype">int&#160;</td>
21081 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21082 </tr>
21083 <tr>
21084 <td></td>
21085 <td>)</td>
21086 <td></td><td></td>
21087 </tr>
21088 </table>
21089 </td>
21090 <td class="mlabels-right">
21091<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21092 </tr>
21093</table>
21094</div><div class="memdoc">
21095
21096<p>8 bit fixed point vector multiply (16 elements) </p>
21097<dl class="params"><dt>Parameters</dt><dd>
21098 <table class="params">
21099 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21100 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
21101 <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>
21102 </table>
21103 </dd>
21104</dl>
21105<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
21106
Kaizen8938bd32017-09-28 14:38:23 +010021107<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00512">512</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021108
Kaizen8938bd32017-09-28 14:38:23 +010021109<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01303">vdivq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01813">vinvsqrtq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01623">vlogq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01182">vrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01378">vtaylor_polyq_qs8()</a>.</p>
21110<div class="fragment"><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div>
21111<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
21112<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div>
21113<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
21114<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
21115<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div>
21116<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;</div>
21117<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21118<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; res0 = vmlal_s8(res0, vget_low_s8(a), vget_low_s8(b));</div>
21119<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; res1 = vmlal_s8(res1, vget_high_s8(a), vget_high_s8(b));</div>
21120<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;</div>
21121<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21122<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; res0 = vshlq_s16(res0, fixed_point_position_s16);</div>
21123<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; res1 = vshlq_s16(res1, fixed_point_position_s16);</div>
21124<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div>
21125<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">// Convert back to qint8</span></div>
21126<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vmovn_s16(res0), vmovn_s16(res1));</div>
21127<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;}</div>
21128<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021129</div><!-- fragment -->
21130</div>
21131</div>
21132<a class="anchor" id="ac73b89ba44bae1df9a8998ad2a99996e"></a>
21133<div class="memitem">
21134<div class="memproto">
21135<table class="mlabels">
21136 <tr>
21137 <td class="mlabels-left">
21138 <table class="memname">
21139 <tr>
21140 <td class="memname">int16x4_t vpaddl_qs8 </td>
21141 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021142 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021143 <td class="paramname"><em>a</em></td><td>)</td>
21144 <td></td>
21145 </tr>
21146 </table>
21147 </td>
21148 <td class="mlabels-right">
21149<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21150 </tr>
21151</table>
21152</div><div class="memdoc">
21153
21154<p>8 bit fixed point vector saturating pairwise add (8 elements) </p>
21155<dl class="params"><dt>Parameters</dt><dd>
21156 <table class="params">
21157 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21158 </table>
21159 </dd>
21160</dl>
21161<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>
21162
Kaizen8938bd32017-09-28 14:38:23 +010021163<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00433">433</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21164<div class="fragment"><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;{</div>
21165<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">return</span> vpaddl_s8(a);</div>
21166<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;}</div>
21167</div><!-- fragment -->
21168</div>
21169</div>
21170<a class="anchor" id="a8ee6fe28466be3c48a70debe663b08d4"></a>
21171<div class="memitem">
21172<div class="memproto">
21173<table class="mlabels">
21174 <tr>
21175 <td class="mlabels-left">
21176 <table class="memname">
21177 <tr>
21178 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vpmax_qs16 </td>
21179 <td>(</td>
21180 <td class="paramtype">qint16x4_t&#160;</td>
21181 <td class="paramname"><em>a</em>, </td>
21182 </tr>
21183 <tr>
21184 <td class="paramkey"></td>
21185 <td></td>
21186 <td class="paramtype">qint16x4_t&#160;</td>
21187 <td class="paramname"><em>b</em>&#160;</td>
21188 </tr>
21189 <tr>
21190 <td></td>
21191 <td>)</td>
21192 <td></td><td></td>
21193 </tr>
21194 </table>
21195 </td>
21196 <td class="mlabels-right">
21197<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21198 </tr>
21199</table>
21200</div><div class="memdoc">
21201
21202<p>16 bit fixed point vector pairwise max (4 elements) </p>
21203<dl class="params"><dt>Parameters</dt><dd>
21204 <table class="params">
21205 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21206 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21207 </table>
21208 </dd>
21209</dl>
21210<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise max operation </dd></dl>
21211
21212<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00343">343</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21213<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;{</div>
21214<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> vpmax_s16(a, b);</div>
21215<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;}</div>
21216</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021217</div>
21218</div>
21219<a class="anchor" id="a1ecd37cd4eb461a98ca7c429e51802d2"></a>
21220<div class="memitem">
21221<div class="memproto">
21222<table class="mlabels">
21223 <tr>
21224 <td class="mlabels-left">
21225 <table class="memname">
21226 <tr>
21227 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vpmax_qs8 </td>
21228 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021229 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021230 <td class="paramname"><em>a</em>, </td>
21231 </tr>
21232 <tr>
21233 <td class="paramkey"></td>
21234 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021235 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021236 <td class="paramname"><em>b</em>&#160;</td>
21237 </tr>
21238 <tr>
21239 <td></td>
21240 <td>)</td>
21241 <td></td><td></td>
21242 </tr>
21243 </table>
21244 </td>
21245 <td class="mlabels-right">
21246<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21247 </tr>
21248</table>
21249</div><div class="memdoc">
21250
21251<p>8 bit fixed point vector pairwise max (8 elements) </p>
21252<dl class="params"><dt>Parameters</dt><dd>
21253 <table class="params">
21254 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21255 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21256 </table>
21257 </dd>
21258</dl>
21259<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise max operation </dd></dl>
21260
Kaizen8938bd32017-09-28 14:38:23 +010021261<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00338">338</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21262<div class="fragment"><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;{</div>
21263<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> vpmax_s8(a, b);</div>
21264<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;}</div>
21265</div><!-- fragment -->
21266</div>
21267</div>
21268<a class="anchor" id="a9d9d1279b08f3e79fd0cf019b79138f9"></a>
21269<div class="memitem">
21270<div class="memproto">
21271<table class="mlabels">
21272 <tr>
21273 <td class="mlabels-left">
21274 <table class="memname">
21275 <tr>
21276 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vpmin_qs16 </td>
21277 <td>(</td>
21278 <td class="paramtype">qint16x4_t&#160;</td>
21279 <td class="paramname"><em>a</em>, </td>
21280 </tr>
21281 <tr>
21282 <td class="paramkey"></td>
21283 <td></td>
21284 <td class="paramtype">qint16x4_t&#160;</td>
21285 <td class="paramname"><em>b</em>&#160;</td>
21286 </tr>
21287 <tr>
21288 <td></td>
21289 <td>)</td>
21290 <td></td><td></td>
21291 </tr>
21292 </table>
21293 </td>
21294 <td class="mlabels-right">
21295<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21296 </tr>
21297</table>
21298</div><div class="memdoc">
21299
21300<p>16 bit fixed point vector pairwise min (4 elements) </p>
21301<dl class="params"><dt>Parameters</dt><dd>
21302 <table class="params">
21303 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21304 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21305 </table>
21306 </dd>
21307</dl>
21308<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise min operation </dd></dl>
21309
21310<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00373">373</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21311<div class="fragment"><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;{</div>
21312<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> vpmin_s16(a, b);</div>
21313<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;}</div>
21314</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021315</div>
21316</div>
21317<a class="anchor" id="ad3f599d91685017d37e87d36170a5342"></a>
21318<div class="memitem">
21319<div class="memproto">
21320<table class="mlabels">
21321 <tr>
21322 <td class="mlabels-left">
21323 <table class="memname">
21324 <tr>
21325 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vpmin_qs8 </td>
21326 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021327 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021328 <td class="paramname"><em>a</em>, </td>
21329 </tr>
21330 <tr>
21331 <td class="paramkey"></td>
21332 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021333 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021334 <td class="paramname"><em>b</em>&#160;</td>
21335 </tr>
21336 <tr>
21337 <td></td>
21338 <td>)</td>
21339 <td></td><td></td>
21340 </tr>
21341 </table>
21342 </td>
21343 <td class="mlabels-right">
21344<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21345 </tr>
21346</table>
21347</div><div class="memdoc">
21348
21349<p>8 bit fixed point vector pairwise min (8 elements) </p>
21350<dl class="params"><dt>Parameters</dt><dd>
21351 <table class="params">
21352 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21353 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21354 </table>
21355 </dd>
21356</dl>
21357<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise min operation </dd></dl>
21358
Kaizen8938bd32017-09-28 14:38:23 +010021359<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00368">368</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21360<div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;{</div>
21361<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> vpmin_s8(a, b);</div>
21362<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;}</div>
21363</div><!-- fragment -->
21364</div>
21365</div>
21366<a class="anchor" id="a0b601c13358a452569202d3fb718963d"></a>
21367<div class="memitem">
21368<div class="memproto">
21369<table class="mlabels">
21370 <tr>
21371 <td class="mlabels-left">
21372 <table class="memname">
21373 <tr>
21374 <td class="memname">float16x8_t vpowq_f16 </td>
21375 <td>(</td>
21376 <td class="paramtype">float16x8_t&#160;</td>
21377 <td class="paramname"><em>val</em>, </td>
21378 </tr>
21379 <tr>
21380 <td class="paramkey"></td>
21381 <td></td>
21382 <td class="paramtype">float16x8_t&#160;</td>
21383 <td class="paramname"><em>n</em>&#160;</td>
21384 </tr>
21385 <tr>
21386 <td></td>
21387 <td>)</td>
21388 <td></td><td></td>
21389 </tr>
21390 </table>
21391 </td>
21392 <td class="mlabels-right">
21393<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21394 </tr>
21395</table>
21396</div><div class="memdoc">
21397
21398<p>Calculate n power of a number. </p>
21399<p>pow(x,n) = e^(n*log(x))</p>
21400<dl class="params"><dt>Parameters</dt><dd>
21401 <table class="params">
21402 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F16 format. </td></tr>
21403 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
21404 </table>
21405 </dd>
21406</dl>
21407<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
21408
21409<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">300</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
21410
21411<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
21412<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;{</div>
21413<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a>(vmulq_f16(n, <a class="code" href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">vlogq_f16</a>(val)));</div>
21414<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;}</div>
21415<div class="ttc" id="namespacearm__compute_xhtml_a829992d2c673006879696821024df5b7"><div class="ttname"><a href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">arm_compute::vexpq_f16</a></div><div class="ttdeci">float16x8_t vexpq_f16(float16x8_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00261">NEMath.inl:261</a></div></div>
21416<div class="ttc" id="namespacearm__compute_xhtml_a38bedb9142df17a66ff1b90974f19512"><div class="ttname"><a href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">arm_compute::vlogq_f16</a></div><div class="ttdeci">float16x8_t vlogq_f16(float16x8_t x)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00282">NEMath.inl:282</a></div></div>
21417</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021418</div>
21419</div>
21420<a class="anchor" id="a45c3c1474c3e3ec31ec13efaf6acd261"></a>
21421<div class="memitem">
21422<div class="memproto">
21423<table class="mlabels">
21424 <tr>
21425 <td class="mlabels-left">
21426 <table class="memname">
21427 <tr>
21428 <td class="memname">float32x4_t vpowq_f32 </td>
21429 <td>(</td>
21430 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021431 <td class="paramname"><em>val</em>, </td>
21432 </tr>
21433 <tr>
21434 <td class="paramkey"></td>
21435 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021436 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021437 <td class="paramname"><em>n</em>&#160;</td>
21438 </tr>
21439 <tr>
21440 <td></td>
21441 <td>)</td>
21442 <td></td><td></td>
21443 </tr>
21444 </table>
21445 </td>
21446 <td class="mlabels-right">
21447<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21448 </tr>
21449</table>
21450</div><div class="memdoc">
21451
21452<p>Calculate n power of a number. </p>
21453<p>pow(x,n) = e^(n*log(x))</p>
21454<dl class="params"><dt>Parameters</dt><dd>
21455 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021456 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
21457 <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 +000021458 </table>
21459 </dd>
21460</dl>
21461<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
21462
Kaizen8938bd32017-09-28 14:38:23 +010021463<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">167</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000021464
Kaizen8938bd32017-09-28 14:38:23 +010021465<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
21466<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div>
21467<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a>(val)));</div>
21468<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;}</div>
21469<div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
21470<div class="ttc" id="namespacearm__compute_xhtml_a37a3e03a22ad160a2e9e5c133607e020"><div class="ttname"><a href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">arm_compute::vlogq_f32</a></div><div class="ttdeci">float32x4_t vlogq_f32(float32x4_t x)</div><div class="ttdoc">Calculate logarithm. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00134">NEMath.inl:134</a></div></div>
21471</div><!-- fragment -->
21472</div>
21473</div>
21474<a class="anchor" id="a7c97511a35de87be34f48b4ab4b3c222"></a>
21475<div class="memitem">
21476<div class="memproto">
21477<table class="mlabels">
21478 <tr>
21479 <td class="mlabels-left">
21480 <table class="memname">
21481 <tr>
21482 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqabs_qs16 </td>
21483 <td>(</td>
21484 <td class="paramtype">qint16x4_t&#160;</td>
21485 <td class="paramname"><em>a</em></td><td>)</td>
21486 <td></td>
21487 </tr>
21488 </table>
21489 </td>
21490 <td class="mlabels-right">
21491<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21492 </tr>
21493</table>
21494</div><div class="memdoc">
21495
21496<p>Saturating absolute value of 16 bit fixed point vector (4 elements) </p>
21497<dl class="params"><dt>Parameters</dt><dd>
21498 <table class="params">
21499 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>4 bit fixed point input vector</td></tr>
21500 </table>
21501 </dd>
21502</dl>
21503<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
21504
21505<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00308">308</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21506
21507<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01467">vqexp_qs16()</a>.</p>
21508<div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;{</div>
21509<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> vqabs_s16(a);</div>
21510<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;}</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000021511</div><!-- fragment -->
21512</div>
21513</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021514<a class="anchor" id="a4b2c9440d5fa4909ae909869877f39e3"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000021515<div class="memitem">
21516<div class="memproto">
21517<table class="mlabels">
21518 <tr>
21519 <td class="mlabels-left">
21520 <table class="memname">
21521 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021522 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqabs_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021523 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021524 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021525 <td class="paramname"><em>a</em></td><td>)</td>
21526 <td></td>
21527 </tr>
21528 </table>
21529 </td>
21530 <td class="mlabels-right">
21531<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21532 </tr>
21533</table>
21534</div><div class="memdoc">
21535
21536<p>Saturating absolute value of 8 bit fixed point vector (8 elements) </p>
21537<dl class="params"><dt>Parameters</dt><dd>
21538 <table class="params">
21539 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21540 </table>
21541 </dd>
21542</dl>
21543<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
21544
Kaizen8938bd32017-09-28 14:38:23 +010021545<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00303">303</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021546
Kaizen8938bd32017-09-28 14:38:23 +010021547<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01441">vqexp_qs8()</a>.</p>
21548<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div>
21549<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> vqabs_s8(a);</div>
21550<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div>
21551</div><!-- fragment -->
21552</div>
21553</div>
21554<a class="anchor" id="aa001ed913705cf378d947052435917aa"></a>
21555<div class="memitem">
21556<div class="memproto">
21557<table class="mlabels">
21558 <tr>
21559 <td class="mlabels-left">
21560 <table class="memname">
21561 <tr>
21562 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqabsq_qs16 </td>
21563 <td>(</td>
21564 <td class="paramtype">qint16x8_t&#160;</td>
21565 <td class="paramname"><em>a</em></td><td>)</td>
21566 <td></td>
21567 </tr>
21568 </table>
21569 </td>
21570 <td class="mlabels-right">
21571<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21572 </tr>
21573</table>
21574</div><div class="memdoc">
21575
21576<p>Saturating absolute value of 16 bit fixed point vector (8 elements) </p>
21577<dl class="params"><dt>Parameters</dt><dd>
21578 <table class="params">
21579 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
21580 </table>
21581 </dd>
21582</dl>
21583<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
21584
21585<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00318">318</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21586
21587<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01519">vqexpq_qs16()</a>.</p>
21588<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;{</div>
21589<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> vqabsq_s16(a);</div>
21590<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div>
21591</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021592</div>
21593</div>
21594<a class="anchor" id="ac8095edd652a1f3a76bf9d0f4251827a"></a>
21595<div class="memitem">
21596<div class="memproto">
21597<table class="mlabels">
21598 <tr>
21599 <td class="mlabels-left">
21600 <table class="memname">
21601 <tr>
21602 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqabsq_qs8 </td>
21603 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021604 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021605 <td class="paramname"><em>a</em></td><td>)</td>
21606 <td></td>
21607 </tr>
21608 </table>
21609 </td>
21610 <td class="mlabels-right">
21611<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21612 </tr>
21613</table>
21614</div><div class="memdoc">
21615
21616<p>Saturating absolute value of 8 bit fixed point vector (16 elements) </p>
21617<dl class="params"><dt>Parameters</dt><dd>
21618 <table class="params">
21619 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21620 </table>
21621 </dd>
21622</dl>
21623<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
21624
Kaizen8938bd32017-09-28 14:38:23 +010021625<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00313">313</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021626
Kaizen8938bd32017-09-28 14:38:23 +010021627<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01493">vqexpq_qs8()</a>.</p>
21628<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;{</div>
21629<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> vqabsq_s8(a);</div>
21630<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;}</div>
21631</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021632</div>
21633</div>
21634<a class="anchor" id="ad80ab0f6b783c10e0488cb84a8812e8f"></a>
21635<div class="memitem">
21636<div class="memproto">
21637<table class="mlabels">
21638 <tr>
21639 <td class="mlabels-left">
21640 <table class="memname">
21641 <tr>
21642 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqadd_qs16 </td>
21643 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021644 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021645 <td class="paramname"><em>a</em>, </td>
21646 </tr>
21647 <tr>
21648 <td class="paramkey"></td>
21649 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021650 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021651 <td class="paramname"><em>b</em>&#160;</td>
21652 </tr>
21653 <tr>
21654 <td></td>
21655 <td>)</td>
21656 <td></td><td></td>
21657 </tr>
21658 </table>
21659 </td>
21660 <td class="mlabels-right">
21661<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21662 </tr>
21663</table>
21664</div><div class="memdoc">
21665
21666<p>16 bit fixed point vector saturating add (4 elements) </p>
21667<dl class="params"><dt>Parameters</dt><dd>
21668 <table class="params">
21669 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21670 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21671 </table>
21672 </dd>
21673</dl>
21674<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>
21675
Kaizen8938bd32017-09-28 14:38:23 +010021676<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00408">408</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21677
21678<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01938">vqtanh_qs16()</a>.</p>
21679<div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;{</div>
21680<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">return</span> vqadd_s16(a, b);</div>
21681<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;}</div>
21682</div><!-- fragment -->
21683</div>
21684</div>
21685<a class="anchor" id="af4ce9287cfb7aef16f79a3152c3f3bbd"></a>
21686<div class="memitem">
21687<div class="memproto">
21688<table class="mlabels">
21689 <tr>
21690 <td class="mlabels-left">
21691 <table class="memname">
21692 <tr>
21693 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> arm_compute::vqadd_qs32 </td>
21694 <td>(</td>
21695 <td class="paramtype">qint32x2_t&#160;</td>
21696 <td class="paramname"><em>a</em>, </td>
21697 </tr>
21698 <tr>
21699 <td class="paramkey"></td>
21700 <td></td>
21701 <td class="paramtype">qint32x2_t&#160;</td>
21702 <td class="paramname"><em>b</em>&#160;</td>
21703 </tr>
21704 <tr>
21705 <td></td>
21706 <td>)</td>
21707 <td></td><td></td>
21708 </tr>
21709 </table>
21710 </td>
21711 <td class="mlabels-right">
21712<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21713 </tr>
21714</table>
21715</div><div class="memdoc">
21716
21717<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00413">413</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21718<div class="fragment"><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;{</div>
21719<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> vqadd_s32(a, b);</div>
21720<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;}</div>
21721</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021722</div>
21723</div>
21724<a class="anchor" id="a8a14fe5fc71105c9bfebb28a58f06a52"></a>
21725<div class="memitem">
21726<div class="memproto">
21727<table class="mlabels">
21728 <tr>
21729 <td class="mlabels-left">
21730 <table class="memname">
21731 <tr>
21732 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqadd_qs8 </td>
21733 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021734 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021735 <td class="paramname"><em>a</em>, </td>
21736 </tr>
21737 <tr>
21738 <td class="paramkey"></td>
21739 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021740 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021741 <td class="paramname"><em>b</em>&#160;</td>
21742 </tr>
21743 <tr>
21744 <td></td>
21745 <td>)</td>
21746 <td></td><td></td>
21747 </tr>
21748 </table>
21749 </td>
21750 <td class="mlabels-right">
21751<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21752 </tr>
21753</table>
21754</div><div class="memdoc">
21755
21756<p>8 bit fixed point vector saturating add (8 elements) </p>
21757<dl class="params"><dt>Parameters</dt><dd>
21758 <table class="params">
21759 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21760 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21761 </table>
21762 </dd>
21763</dl>
21764<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>
21765
Kaizen8938bd32017-09-28 14:38:23 +010021766<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00403">403</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021767
Kaizen8938bd32017-09-28 14:38:23 +010021768<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01925">vqtanh_qs8()</a>.</p>
21769<div class="fragment"><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;{</div>
21770<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> vqadd_s8(a, b);</div>
21771<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;}</div>
21772</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021773</div>
21774</div>
21775<a class="anchor" id="a9d88750b393cdfe6f5685107bb1d98f7"></a>
21776<div class="memitem">
21777<div class="memproto">
21778<table class="mlabels">
21779 <tr>
21780 <td class="mlabels-left">
21781 <table class="memname">
21782 <tr>
21783 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqaddq_qs16 </td>
21784 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021785 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021786 <td class="paramname"><em>a</em>, </td>
21787 </tr>
21788 <tr>
21789 <td class="paramkey"></td>
21790 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021791 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021792 <td class="paramname"><em>b</em>&#160;</td>
21793 </tr>
21794 <tr>
21795 <td></td>
21796 <td>)</td>
21797 <td></td><td></td>
21798 </tr>
21799 </table>
21800 </td>
21801 <td class="mlabels-right">
21802<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21803 </tr>
21804</table>
21805</div><div class="memdoc">
21806
21807<p>16 bit fixed point vector saturating add (8 elements) </p>
21808<dl class="params"><dt>Parameters</dt><dd>
21809 <table class="params">
21810 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21811 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21812 </table>
21813 </dd>
21814</dl>
21815<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>
21816
Kaizen8938bd32017-09-28 14:38:23 +010021817<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00423">423</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21818
21819<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01964">vqtanhq_qs16()</a>.</p>
21820<div class="fragment"><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;{</div>
21821<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">return</span> vqaddq_s16(a, b);</div>
21822<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;}</div>
21823</div><!-- fragment -->
21824</div>
21825</div>
21826<a class="anchor" id="a4158859b4b6af057b01b2c2d745d66b2"></a>
21827<div class="memitem">
21828<div class="memproto">
21829<table class="mlabels">
21830 <tr>
21831 <td class="mlabels-left">
21832 <table class="memname">
21833 <tr>
21834 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vqaddq_qs32 </td>
21835 <td>(</td>
21836 <td class="paramtype">qint32x4_t&#160;</td>
21837 <td class="paramname"><em>a</em>, </td>
21838 </tr>
21839 <tr>
21840 <td class="paramkey"></td>
21841 <td></td>
21842 <td class="paramtype">qint32x4_t&#160;</td>
21843 <td class="paramname"><em>b</em>&#160;</td>
21844 </tr>
21845 <tr>
21846 <td></td>
21847 <td>)</td>
21848 <td></td><td></td>
21849 </tr>
21850 </table>
21851 </td>
21852 <td class="mlabels-right">
21853<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21854 </tr>
21855</table>
21856</div><div class="memdoc">
21857
21858<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00428">428</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21859<div class="fragment"><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div>
21860<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> vqaddq_s32(a, b);</div>
21861<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;}</div>
21862</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021863</div>
21864</div>
21865<a class="anchor" id="a9765c5ee2d3cc9e3ca983fd2f47ba916"></a>
21866<div class="memitem">
21867<div class="memproto">
21868<table class="mlabels">
21869 <tr>
21870 <td class="mlabels-left">
21871 <table class="memname">
21872 <tr>
21873 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqaddq_qs8 </td>
21874 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021875 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021876 <td class="paramname"><em>a</em>, </td>
21877 </tr>
21878 <tr>
21879 <td class="paramkey"></td>
21880 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021881 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021882 <td class="paramname"><em>b</em>&#160;</td>
21883 </tr>
21884 <tr>
21885 <td></td>
21886 <td>)</td>
21887 <td></td><td></td>
21888 </tr>
21889 </table>
21890 </td>
21891 <td class="mlabels-right">
21892<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21893 </tr>
21894</table>
21895</div><div class="memdoc">
21896
21897<p>8 bit fixed point vector saturating add (16 elements) </p>
21898<dl class="params"><dt>Parameters</dt><dd>
21899 <table class="params">
21900 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21901 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21902 </table>
21903 </dd>
21904</dl>
21905<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>
21906
Kaizen8938bd32017-09-28 14:38:23 +010021907<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00418">418</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021908
Kaizen8938bd32017-09-28 14:38:23 +010021909<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01951">vqtanhq_qs8()</a>.</p>
21910<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;{</div>
21911<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> vqaddq_s8(a, b);</div>
21912<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
21913</div><!-- fragment -->
21914</div>
21915</div>
21916<a class="anchor" id="afbaee7c07c41b0138ee0f3aefecc6160"></a>
21917<div class="memitem">
21918<div class="memproto">
21919<table class="mlabels">
21920 <tr>
21921 <td class="mlabels-left">
21922 <table class="memname">
21923 <tr>
21924 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqcvt_qs16_f32 </td>
21925 <td>(</td>
21926 <td class="paramtype">const float32x4_t&#160;</td>
21927 <td class="paramname"><em>a</em>, </td>
21928 </tr>
21929 <tr>
21930 <td class="paramkey"></td>
21931 <td></td>
21932 <td class="paramtype">int&#160;</td>
21933 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21934 </tr>
21935 <tr>
21936 <td></td>
21937 <td>)</td>
21938 <td></td><td></td>
21939 </tr>
21940 </table>
21941 </td>
21942 <td class="mlabels-right">
21943<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21944 </tr>
21945</table>
21946</div><div class="memdoc">
21947
21948<p>Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. </p>
21949<dl class="params"><dt>Parameters</dt><dd>
21950 <table class="params">
21951 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
21952 <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>
21953 </table>
21954 </dd>
21955</dl>
21956<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>
21957
21958<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00895">895</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21959<div class="fragment"><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;{</div>
21960<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
21961<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;</div>
21962<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; float32x4_t res_f32 = vbslq_f32(vcgeq_f32(a, vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f));</div>
21963<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;</div>
21964<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; res_f32 = vmlaq_f32(res_f32, a, pow2);</div>
21965<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;</div>
21966<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keyword">const</span> int32x4_t res_s32 = vcvtq_s32_f32(res_f32);</div>
21967<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;</div>
21968<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">return</span> vqmovn_s32(res_s32);</div>
21969<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;}</div>
21970</div><!-- fragment -->
21971</div>
21972</div>
21973<a class="anchor" id="a371a36182341de1fa885d16e8780302f"></a>
21974<div class="memitem">
21975<div class="memproto">
21976 <table class="memname">
21977 <tr>
21978 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqcvt_qs8_f32 </td>
21979 <td>(</td>
21980 <td class="paramtype">const float32x4x2_t&#160;</td>
21981 <td class="paramname"><em>a</em>, </td>
21982 </tr>
21983 <tr>
21984 <td class="paramkey"></td>
21985 <td></td>
21986 <td class="paramtype">int&#160;</td>
21987 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21988 </tr>
21989 <tr>
21990 <td></td>
21991 <td>)</td>
21992 <td></td><td></td>
21993 </tr>
21994 </table>
21995</div><div class="memdoc">
21996
21997<p>Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. </p>
21998<dl class="params"><dt>Parameters</dt><dd>
21999 <table class="params">
22000 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22001 <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>
22002 </table>
22003 </dd>
22004</dl>
22005<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>
22006
22007</div>
22008</div>
22009<a class="anchor" id="abc68ac054570316bfd48d4c4c84c3b0e"></a>
22010<div class="memitem">
22011<div class="memproto">
22012<table class="mlabels">
22013 <tr>
22014 <td class="mlabels-left">
22015 <table class="memname">
22016 <tr>
22017 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqcvt_qs8_f32 </td>
22018 <td>(</td>
22019 <td class="paramtype">const float32x4x2_t &amp;&#160;</td>
22020 <td class="paramname"><em>a</em>, </td>
22021 </tr>
22022 <tr>
22023 <td class="paramkey"></td>
22024 <td></td>
22025 <td class="paramtype">int&#160;</td>
22026 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22027 </tr>
22028 <tr>
22029 <td></td>
22030 <td>)</td>
22031 <td></td><td></td>
22032 </tr>
22033 </table>
22034 </td>
22035 <td class="mlabels-right">
22036<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22037 </tr>
22038</table>
22039</div><div class="memdoc">
22040
22041<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00867">867</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22042<div class="fragment"><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;{</div>
22043<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22044<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;</div>
22045<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; float32x4x2_t res_f32 =</div>
22046<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; {</div>
22047<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; {</div>
22048<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22049<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
22050<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; }</div>
22051<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; };</div>
22052<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;</div>
22053<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
22054<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
22055<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;</div>
22056<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
22057<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; {</div>
22058<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div>
22059<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; vcvtq_s32_f32(res_f32.val[0]),</div>
22060<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; vcvtq_s32_f32(res_f32.val[1]),</div>
22061<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; }</div>
22062<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; };</div>
22063<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;</div>
22064<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keyword">const</span> int16x8_t res_s16 = vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div>
22065<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;</div>
22066<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">return</span> vqmovn_s16(res_s16);</div>
22067<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;}</div>
22068</div><!-- fragment -->
22069</div>
22070</div>
22071<a class="anchor" id="afe99b690ec0046061f66f699fa055b47"></a>
22072<div class="memitem">
22073<div class="memproto">
22074<table class="mlabels">
22075 <tr>
22076 <td class="mlabels-left">
22077 <table class="memname">
22078 <tr>
22079 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqcvtq_qs16_f32 </td>
22080 <td>(</td>
22081 <td class="paramtype">const float32x4x2_t &amp;&#160;</td>
22082 <td class="paramname"><em>a</em>, </td>
22083 </tr>
22084 <tr>
22085 <td class="paramkey"></td>
22086 <td></td>
22087 <td class="paramtype">int&#160;</td>
22088 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22089 </tr>
22090 <tr>
22091 <td></td>
22092 <td>)</td>
22093 <td></td><td></td>
22094 </tr>
22095 </table>
22096 </td>
22097 <td class="mlabels-right">
22098<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22099 </tr>
22100</table>
22101</div><div class="memdoc">
22102
22103<p>Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </p>
22104<dl class="params"><dt>Parameters</dt><dd>
22105 <table class="params">
22106 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22107 <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>
22108 </table>
22109 </dd>
22110</dl>
22111<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>
22112
22113<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00948">948</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22114
22115<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00261">vdupq_n_qs16_f32()</a>.</p>
22116<div class="fragment"><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160;{</div>
22117<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22118<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;</div>
22119<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; float32x4x2_t res_f32 =</div>
22120<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div>
22121<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div>
22122<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22123<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
22124<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; }</div>
22125<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; };</div>
22126<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;</div>
22127<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
22128<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
22129<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;</div>
22130<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
22131<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; {</div>
22132<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; {</div>
22133<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; vcvtq_s32_f32(res_f32.val[0]),</div>
22134<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; vcvtq_s32_f32(res_f32.val[1])</div>
22135<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; }</div>
22136<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; };</div>
22137<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;</div>
22138<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div>
22139<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;}</div>
22140</div><!-- fragment -->
22141</div>
22142</div>
22143<a class="anchor" id="ad7eb7d308bb87e94eb693bc13eda5adc"></a>
22144<div class="memitem">
22145<div class="memproto">
22146<table class="mlabels">
22147 <tr>
22148 <td class="mlabels-left">
22149 <table class="memname">
22150 <tr>
22151 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqcvtq_qs8_f32 </td>
22152 <td>(</td>
22153 <td class="paramtype">const float32x4x4_t &amp;&#160;</td>
22154 <td class="paramname"><em>a</em>, </td>
22155 </tr>
22156 <tr>
22157 <td class="paramkey"></td>
22158 <td></td>
22159 <td class="paramtype">int&#160;</td>
22160 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22161 </tr>
22162 <tr>
22163 <td></td>
22164 <td>)</td>
22165 <td></td><td></td>
22166 </tr>
22167 </table>
22168 </td>
22169 <td class="mlabels-right">
22170<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22171 </tr>
22172</table>
22173</div><div class="memdoc">
22174
22175<p>Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </p>
22176<dl class="params"><dt>Parameters</dt><dd>
22177 <table class="params">
22178 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22179 <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>
22180 </table>
22181 </dd>
22182</dl>
22183<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>
22184
22185<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00908">908</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22186
22187<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00247">vdupq_n_qs8_f32()</a>.</p>
22188<div class="fragment"><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;{</div>
22189<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22190<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;</div>
22191<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; float32x4x4_t res_f32 =</div>
22192<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; {</div>
22193<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; {</div>
22194<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22195<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22196<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; vbslq_f32(vcgeq_f32(a.val[2], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22197<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; vbslq_f32(vcgeq_f32(a.val[3], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
22198<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; }</div>
22199<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; };</div>
22200<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;</div>
22201<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
22202<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
22203<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; res_f32.val[2] = vmlaq_f32(res_f32.val[2], a.val[2], pow2);</div>
22204<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; res_f32.val[3] = vmlaq_f32(res_f32.val[3], a.val[3], pow2);</div>
22205<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;</div>
22206<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keyword">const</span> int32x4x4_t res_s32 =</div>
22207<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; {</div>
22208<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; {</div>
22209<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; vcvtq_s32_f32(res_f32.val[0]),</div>
22210<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; vcvtq_s32_f32(res_f32.val[1]),</div>
22211<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; vcvtq_s32_f32(res_f32.val[2]),</div>
22212<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; vcvtq_s32_f32(res_f32.val[3]),</div>
22213<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; }</div>
22214<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; };</div>
22215<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160;</div>
22216<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keyword">const</span> int16x8x2_t res_s16 =</div>
22217<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; {</div>
22218<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div>
22219<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1])),</div>
22220<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; vcombine_s16(vqmovn_s32(res_s32.val[2]), vqmovn_s32(res_s32.val[3])),</div>
22221<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; }</div>
22222<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; };</div>
22223<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;</div>
22224<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res_s16.val[0]), vqmovn_s16(res_s16.val[1]));</div>
22225<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;}</div>
22226</div><!-- fragment -->
22227</div>
22228</div>
22229<a class="anchor" id="aa3c9489e850081532442f4da59515852"></a>
22230<div class="memitem">
22231<div class="memproto">
22232<table class="mlabels">
22233 <tr>
22234 <td class="mlabels-left">
22235 <table class="memname">
22236 <tr>
22237 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqexp_qs16 </td>
22238 <td>(</td>
22239 <td class="paramtype">qint16x4_t&#160;</td>
22240 <td class="paramname"><em>a</em>, </td>
22241 </tr>
22242 <tr>
22243 <td class="paramkey"></td>
22244 <td></td>
22245 <td class="paramtype">int&#160;</td>
22246 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22247 </tr>
22248 <tr>
22249 <td></td>
22250 <td>)</td>
22251 <td></td><td></td>
22252 </tr>
22253 </table>
22254 </td>
22255 <td class="mlabels-right">
22256<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22257 </tr>
22258</table>
22259</div><div class="memdoc">
22260
22261<p>Calculate saturating exponential fixed point 16 bit (4 elements) </p>
22262<dl class="params"><dt>Parameters</dt><dd>
22263 <table class="params">
22264 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22265 <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>
22266 </table>
22267 </dd>
22268</dl>
22269<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
22270
22271<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01467">1467</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22272
22273<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00308">vqabs_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00569">vqmul_qs16()</a>.</p>
22274
22275<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01938">vqtanh_qs16()</a>.</p>
22276<div class="fragment"><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;{</div>
22277<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(fixed_point_position - 15);</div>
22278<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
22279<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vqrshl_s16(vdup_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div>
22280<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_inv_ln2 = vorr_s16(vqrshl_s16(vdup_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22281<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;</div>
22282<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22283<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> m = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22284<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;</div>
22285<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; <span class="comment">// get decimal part from m</span></div>
22286<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_m = vqshl_s16(m, vdup_n_s16(-fixed_point_position));</div>
22287<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;</div>
22288<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(vqshl_s16(dec_m, vdup_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div>
22289<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a>(vqsub_s16(a, alpha));</div>
22290<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;</div>
22291<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22292<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vqtaylor_poly_qs16&lt;false&gt;(alpha, fixed_point_position);</div>
22293<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160; poly = vqadd_s16(poly, const_one);</div>
22294<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;</div>
22295<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160; <span class="comment">// Reconstruct</span></div>
22296<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; poly = vqshl_s16(poly, dec_m);</div>
22297<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;</div>
22298<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; <span class="keywordflow">return</span> poly;</div>
22299<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;}</div>
22300<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00569">NEFixedPoint.inl:569</a></div></div>
22301<div class="ttc" id="namespacearm__compute_xhtml_a7c97511a35de87be34f48b4ab4b3c222"><div class="ttname"><a href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">arm_compute::vqabs_qs16</a></div><div class="ttdeci">qint16x4_t vqabs_qs16(qint16x4_t a)</div><div class="ttdoc">Saturating absolute value of 16 bit fixed point vector (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00308">NEFixedPoint.inl:308</a></div></div>
22302<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
22303</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010022304</div>
22305</div>
22306<a class="anchor" id="a635b41196d74b1f2c4d9ee9298444796"></a>
22307<div class="memitem">
22308<div class="memproto">
22309<table class="mlabels">
22310 <tr>
22311 <td class="mlabels-left">
22312 <table class="memname">
22313 <tr>
22314 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqexp_qs8 </td>
22315 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022316 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022317 <td class="paramname"><em>a</em>, </td>
22318 </tr>
22319 <tr>
22320 <td class="paramkey"></td>
22321 <td></td>
22322 <td class="paramtype">int&#160;</td>
22323 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22324 </tr>
22325 <tr>
22326 <td></td>
22327 <td>)</td>
22328 <td></td><td></td>
22329 </tr>
22330 </table>
22331 </td>
22332 <td class="mlabels-right">
22333<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22334 </tr>
22335</table>
22336</div><div class="memdoc">
22337
22338<p>Calculate saturating exponential fixed point 8bit (8 elements) </p>
22339<dl class="params"><dt>Parameters</dt><dd>
22340 <table class="params">
22341 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22342 <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>
22343 </table>
22344 </dd>
22345</dl>
22346<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
22347
Kaizen8938bd32017-09-28 14:38:23 +010022348<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01441">1441</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022349
Kaizen8938bd32017-09-28 14:38:23 +010022350<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00303">vqabs_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00552">vqmul_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022351
Kaizen8938bd32017-09-28 14:38:23 +010022352<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01925">vqtanh_qs8()</a>.</p>
22353<div class="fragment"><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;{</div>
22354<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(fixed_point_position - 7);</div>
22355<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
22356<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vqrshl_s8(vdup_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div>
22357<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_inv_ln2 = vorr_s8(vqrshl_s8(vdup_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22358<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;</div>
22359<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22360<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22361<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;</div>
22362<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; <span class="comment">// get decimal part from m</span></div>
22363<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_m = vqshl_s8(m, vdup_n_s8(-fixed_point_position));</div>
22364<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;</div>
22365<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(vqshl_s8(dec_m, vdup_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div>
22366<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a>(vqsub_s8(a, alpha));</div>
22367<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;</div>
22368<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22369<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vqtaylor_poly_qs8&lt;false&gt;(alpha, fixed_point_position);</div>
22370<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; poly = vqadd_s8(poly, const_one);</div>
22371<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;</div>
22372<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <span class="comment">// Reconstruct</span></div>
22373<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; poly = vqshl_s8(poly, dec_m);</div>
22374<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;</div>
22375<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; <span class="keywordflow">return</span> poly;</div>
22376<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;}</div>
22377<div class="ttc" id="namespacearm__compute_xhtml_a4b2c9440d5fa4909ae909869877f39e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">arm_compute::vqabs_qs8</a></div><div class="ttdeci">qint8x8_t vqabs_qs8(qint8x8_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00303">NEFixedPoint.inl:303</a></div></div>
22378<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00552">NEFixedPoint.inl:552</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022379<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
22380</div><!-- fragment -->
22381</div>
22382</div>
Kaizen8938bd32017-09-28 14:38:23 +010022383<a class="anchor" id="a5b5e085002cf5a69fb80e6991d0a4556"></a>
22384<div class="memitem">
22385<div class="memproto">
22386<table class="mlabels">
22387 <tr>
22388 <td class="mlabels-left">
22389 <table class="memname">
22390 <tr>
22391 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqexpq_qs16 </td>
22392 <td>(</td>
22393 <td class="paramtype">qint16x8_t&#160;</td>
22394 <td class="paramname"><em>a</em>, </td>
22395 </tr>
22396 <tr>
22397 <td class="paramkey"></td>
22398 <td></td>
22399 <td class="paramtype">int&#160;</td>
22400 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22401 </tr>
22402 <tr>
22403 <td></td>
22404 <td>)</td>
22405 <td></td><td></td>
22406 </tr>
22407 </table>
22408 </td>
22409 <td class="mlabels-right">
22410<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22411 </tr>
22412</table>
22413</div><div class="memdoc">
22414
22415<p>Calculate saturating exponential fixed point 16 bit (8 elements) </p>
22416<dl class="params"><dt>Parameters</dt><dd>
22417 <table class="params">
22418 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22419 <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>
22420 </table>
22421 </dd>
22422</dl>
22423<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
22424
22425<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01519">1519</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22426
22427<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00318">vqabsq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00473">vqsubq_qs16()</a>.</p>
22428
22429<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01982">vqpowq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01964">vqtanhq_qs16()</a>.</p>
22430<div class="fragment"><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;{</div>
22431<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(fixed_point_position - 15);</div>
22432<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
22433<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vqrshlq_s16(vdupq_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div>
22434<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_inv_ln2 = vorrq_s16(vqrshlq_s16(vdupq_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22435<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;</div>
22436<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22437<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22438<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;</div>
22439<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; <span class="comment">// get decimal part from m</span></div>
22440<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_m = vqshlq_s16(m, vdupq_n_s16(-fixed_point_position));</div>
22441<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div>
22442<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqshlq_s16(dec_m, vdupq_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div>
22443<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(a, alpha));</div>
22444<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;</div>
22445<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22446<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vqtaylor_polyq_qs16&lt;false&gt;(alpha, fixed_point_position);</div>
22447<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; poly = vqaddq_s16(poly, const_one);</div>
22448<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;</div>
22449<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; <span class="comment">// Reconstruct</span></div>
22450<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; poly = vqshlq_s16(poly, dec_m);</div>
22451<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;</div>
22452<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; <span class="keywordflow">return</span> poly;</div>
22453<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;}</div>
22454<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00473">NEFixedPoint.inl:473</a></div></div>
22455<div class="ttc" id="namespacearm__compute_xhtml_aa001ed913705cf378d947052435917aa"><div class="ttname"><a href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">arm_compute::vqabsq_qs16</a></div><div class="ttdeci">qint16x8_t vqabsq_qs16(qint16x8_t a)</div><div class="ttdoc">Saturating absolute value of 16 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00318">NEFixedPoint.inl:318</a></div></div>
22456<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
22457<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
22458</div><!-- fragment -->
22459</div>
22460</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022461<a class="anchor" id="ae6cf1822b8fbad305677650a2b751247"></a>
22462<div class="memitem">
22463<div class="memproto">
22464<table class="mlabels">
22465 <tr>
22466 <td class="mlabels-left">
22467 <table class="memname">
22468 <tr>
22469 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqexpq_qs8 </td>
22470 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022471 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022472 <td class="paramname"><em>a</em>, </td>
22473 </tr>
22474 <tr>
22475 <td class="paramkey"></td>
22476 <td></td>
22477 <td class="paramtype">int&#160;</td>
22478 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22479 </tr>
22480 <tr>
22481 <td></td>
22482 <td>)</td>
22483 <td></td><td></td>
22484 </tr>
22485 </table>
22486 </td>
22487 <td class="mlabels-right">
22488<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22489 </tr>
22490</table>
22491</div><div class="memdoc">
22492
22493<p>Calculate saturating exponential fixed point 8bit (16 elements) </p>
22494<dl class="params"><dt>Parameters</dt><dd>
22495 <table class="params">
22496 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22497 <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>
22498 </table>
22499 </dd>
22500</dl>
22501<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
22502
Kaizen8938bd32017-09-28 14:38:23 +010022503<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01493">1493</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022504
Kaizen8938bd32017-09-28 14:38:23 +010022505<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00313">vqabsq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00468">vqsubq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022506
Kaizen8938bd32017-09-28 14:38:23 +010022507<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01977">vqpowq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01951">vqtanhq_qs8()</a>.</p>
22508<div class="fragment"><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;{</div>
22509<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(fixed_point_position - 7);</div>
22510<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
22511<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vqrshlq_s8(vdupq_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div>
22512<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_inv_ln2 = vorrq_s8(vqrshlq_s8(vdupq_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22513<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;</div>
22514<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22515<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22516<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;</div>
22517<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; <span class="comment">// get decimal part from m</span></div>
22518<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_m = vqshlq_s8(m, vdupq_n_s8(-fixed_point_position));</div>
22519<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;</div>
22520<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(vqshlq_s8(dec_m, vdupq_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div>
22521<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(a, alpha));</div>
22522<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;</div>
22523<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22524<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vqtaylor_polyq_qs8&lt;false&gt;(alpha, fixed_point_position);</div>
22525<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; poly = vqaddq_s8(poly, const_one);</div>
22526<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;</div>
22527<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; <span class="comment">// Reconstruct</span></div>
22528<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; poly = vqshlq_s8(poly, dec_m);</div>
22529<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;</div>
22530<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; <span class="keywordflow">return</span> poly;</div>
22531<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;}</div>
22532<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
22533<div class="ttc" id="namespacearm__compute_xhtml_ac8095edd652a1f3a76bf9d0f4251827a"><div class="ttname"><a href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">arm_compute::vqabsq_qs8</a></div><div class="ttdeci">qint8x16_t vqabsq_qs8(qint8x16_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00313">NEFixedPoint.inl:313</a></div></div>
22534<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00586">NEFixedPoint.inl:586</a></div></div>
22535<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00468">NEFixedPoint.inl:468</a></div></div>
22536</div><!-- fragment -->
22537</div>
22538</div>
22539<a class="anchor" id="a23041b440c544f24afd9b1e79a6d77df"></a>
22540<div class="memitem">
22541<div class="memproto">
22542<table class="mlabels">
22543 <tr>
22544 <td class="mlabels-left">
22545 <table class="memname">
22546 <tr>
22547 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqinvsqrt_qs16 </td>
22548 <td>(</td>
22549 <td class="paramtype">qint16x4_t&#160;</td>
22550 <td class="paramname"><em>a</em>, </td>
22551 </tr>
22552 <tr>
22553 <td class="paramkey"></td>
22554 <td></td>
22555 <td class="paramtype">int&#160;</td>
22556 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22557 </tr>
22558 <tr>
22559 <td></td>
22560 <td>)</td>
22561 <td></td><td></td>
22562 </tr>
22563 </table>
22564 </td>
22565 <td class="mlabels-right">
22566<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22567 </tr>
22568</table>
22569</div><div class="memdoc">
22570
22571<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
22572<dl class="params"><dt>Parameters</dt><dd>
22573 <table class="params">
22574 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22575 <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>
22576 </table>
22577 </dd>
22578</dl>
22579<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
22580
22581<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01784">1784</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22582
22583<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00237">vdup_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00569">vqmul_qs16()</a>.</p>
22584<div class="fragment"><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;{</div>
22585<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 &lt;&lt; fixed_point_position);</div>
22586<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;</div>
22587<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
22588<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
22589<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;</div>
22590<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
22591<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position)));</div>
22592<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div>
22593<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; temp = vbsl_s16(temp_ltz, vqadd_s16(temp, vdup_n_s16(1)), temp);</div>
22594<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vqneg_s16(vshr_n_s16(temp, 1));</div>
22595<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;</div>
22596<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; temp = vqshl_s16(a, shift_value);</div>
22597<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;</div>
22598<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; <span class="comment">// Initial guess</span></div>
22599<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div>
22600<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;</div>
22601<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
22602<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; <span class="comment">// After five iterations we have the result for 16 bit</span></div>
22603<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22604<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22605<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22606<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22607<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22608<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;</div>
22609<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; <span class="keywordflow">return</span> vqshl_s16(x, shift_value2);</div>
22610<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;}</div>
22611<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00569">NEFixedPoint.inl:569</a></div></div>
22612<div class="ttc" id="namespacearm__compute_xhtml_a1f6c3965dec29d8ac84ff84a164e9d8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">arm_compute::vdup_n_qs16</a></div><div class="ttdeci">qint16x4_t vdup_n_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point vector duplicate (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00237">NEFixedPoint.inl:237</a></div></div>
22613<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022614</div><!-- fragment -->
22615</div>
22616</div>
22617<a class="anchor" id="a5ddc3dc4b4ee6847fd96c6a8599e20e4"></a>
22618<div class="memitem">
22619<div class="memproto">
22620<table class="mlabels">
22621 <tr>
22622 <td class="mlabels-left">
22623 <table class="memname">
22624 <tr>
22625 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqinvsqrt_qs8 </td>
22626 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022627 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022628 <td class="paramname"><em>a</em>, </td>
22629 </tr>
22630 <tr>
22631 <td class="paramkey"></td>
22632 <td></td>
22633 <td class="paramtype">int&#160;</td>
22634 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22635 </tr>
22636 <tr>
22637 <td></td>
22638 <td>)</td>
22639 <td></td><td></td>
22640 </tr>
22641 </table>
22642 </td>
22643 <td class="mlabels-right">
22644<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22645 </tr>
22646</table>
22647</div><div class="memdoc">
22648
22649<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
22650<dl class="params"><dt>Parameters</dt><dd>
22651 <table class="params">
22652 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22653 <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>
22654 </table>
22655 </dd>
22656</dl>
22657<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
22658
Kaizen8938bd32017-09-28 14:38:23 +010022659<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01757">1757</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022660
Kaizen8938bd32017-09-28 14:38:23 +010022661<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00232">vdup_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00552">vqmul_qs8()</a>.</p>
22662<div class="fragment"><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;{</div>
22663<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 &lt;&lt; fixed_point_position);</div>
22664<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;</div>
22665<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
22666<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
22667<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;</div>
22668<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
22669<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position)));</div>
22670<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div>
22671<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; temp = vbsl_s8(temp_ltz, vqadd_s8(temp, vdup_n_s8(1)), temp);</div>
22672<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vqneg_s8(vshr_n_s8(temp, 1));</div>
22673<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;</div>
22674<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; temp = vqshl_s8(a, shift_value);</div>
22675<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;</div>
22676<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; <span class="comment">// Initial guess</span></div>
22677<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div>
22678<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;</div>
22679<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
22680<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
22681<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22682<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22683<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22684<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;</div>
22685<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; <span class="keywordflow">return</span> vqshl_s8(x, shift_value2);</div>
22686<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;}</div>
22687<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00552">NEFixedPoint.inl:552</a></div></div>
22688<div class="ttc" id="namespacearm__compute_xhtml_a1a226812e3cfdf3494adbdd92d4a1cb3"><div class="ttname"><a href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">arm_compute::vdup_n_qs8</a></div><div class="ttdeci">qint8x8_t vdup_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00232">NEFixedPoint.inl:232</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022689<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
22690</div><!-- fragment -->
22691</div>
22692</div>
Kaizen8938bd32017-09-28 14:38:23 +010022693<a class="anchor" id="a74613d11a6b769ddcdd28d80fb8d74a8"></a>
22694<div class="memitem">
22695<div class="memproto">
22696<table class="mlabels">
22697 <tr>
22698 <td class="mlabels-left">
22699 <table class="memname">
22700 <tr>
22701 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqinvsqrtq_qs16 </td>
22702 <td>(</td>
22703 <td class="paramtype">qint16x8_t&#160;</td>
22704 <td class="paramname"><em>a</em>, </td>
22705 </tr>
22706 <tr>
22707 <td class="paramkey"></td>
22708 <td></td>
22709 <td class="paramtype">int&#160;</td>
22710 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22711 </tr>
22712 <tr>
22713 <td></td>
22714 <td>)</td>
22715 <td></td><td></td>
22716 </tr>
22717 </table>
22718 </td>
22719 <td class="mlabels-right">
22720<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22721 </tr>
22722</table>
22723</div><div class="memdoc">
22724
22725<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) </p>
22726<dl class="params"><dt>Parameters</dt><dd>
22727 <table class="params">
22728 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22729 <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>
22730 </table>
22731 </dd>
22732</dl>
22733<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
22734
22735<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01896">1896</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22736
22737<p>References <a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>.</p>
22738<div class="fragment"><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;{</div>
22739<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 &lt;&lt; fixed_point_position);</div>
22740<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;</div>
22741<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
22742<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
22743<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;</div>
22744<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
22745<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position)));</div>
22746<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160; uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div>
22747<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; temp = vbslq_s16(temp_ltz, vqaddq_s16(temp, vdupq_n_s16(1)), temp);</div>
22748<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vqnegq_s16(vshrq_n_s16(temp, 1));</div>
22749<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;</div>
22750<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160; temp = vqshlq_s16(a, shift_value);</div>
22751<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;</div>
22752<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160; <span class="comment">// Initial guess</span></div>
22753<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div>
22754<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;</div>
22755<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
22756<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; <span class="comment">// After five iterations we have the result for 16 bit</span></div>
22757<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22758<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22759<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22760<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22761<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22762<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;</div>
22763<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160; <span class="keywordflow">return</span> vqshlq_s16(x, shift_value2);</div>
22764<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;}</div>
22765<div class="ttc" id="namespacearm__compute_xhtml_aed2fc8d1b9642b7625379a930ef4914a"><div class="ttname"><a href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">arm_compute::vdupq_n_qs16</a></div><div class="ttdeci">qint16x8_t vdupq_n_qs16(qint16_t a)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00273">NEFixedPoint.inl:273</a></div></div>
22766<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
22767<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
22768</div><!-- fragment -->
22769</div>
22770</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022771<a class="anchor" id="ad5d5110467053814882fb616c6cb855b"></a>
22772<div class="memitem">
22773<div class="memproto">
22774<table class="mlabels">
22775 <tr>
22776 <td class="mlabels-left">
22777 <table class="memname">
22778 <tr>
22779 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqinvsqrtq_qs8 </td>
22780 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022781 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022782 <td class="paramname"><em>a</em>, </td>
22783 </tr>
22784 <tr>
22785 <td class="paramkey"></td>
22786 <td></td>
22787 <td class="paramtype">int&#160;</td>
22788 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22789 </tr>
22790 <tr>
22791 <td></td>
22792 <td>)</td>
22793 <td></td><td></td>
22794 </tr>
22795 </table>
22796 </td>
22797 <td class="mlabels-right">
22798<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22799 </tr>
22800</table>
22801</div><div class="memdoc">
22802
22803<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
22804<dl class="params"><dt>Parameters</dt><dd>
22805 <table class="params">
22806 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22807 <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>
22808 </table>
22809 </dd>
22810</dl>
22811<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
22812
Kaizen8938bd32017-09-28 14:38:23 +010022813<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01869">1869</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022814
Kaizen8938bd32017-09-28 14:38:23 +010022815<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00242">vdupq_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">vqmulq_qs8()</a>.</p>
22816<div class="fragment"><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;{</div>
22817<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 &lt;&lt; fixed_point_position);</div>
22818<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;</div>
22819<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
22820<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
22821<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;</div>
22822<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
22823<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position)));</div>
22824<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div>
22825<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; temp = vbslq_s8(temp_ltz, vqaddq_s8(temp, vdupq_n_s8(1)), temp);</div>
22826<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vqnegq_s8(vshrq_n_s8(temp, 1));</div>
22827<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;</div>
22828<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; temp = vqshlq_s8(a, shift_value);</div>
22829<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;</div>
22830<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160; <span class="comment">// Initial guess</span></div>
22831<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div>
22832<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;</div>
22833<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
22834<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
22835<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22836<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22837<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22838<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;</div>
22839<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; <span class="keywordflow">return</span> vqshlq_s8(x, shift_value2);</div>
22840<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;}</div>
22841<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
22842<div class="ttc" id="namespacearm__compute_xhtml_adbd4df93ed00fcda54f91e669ea2be04"><div class="ttname"><a href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">arm_compute::vdupq_n_qs8</a></div><div class="ttdeci">qint8x16_t vdupq_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00242">NEFixedPoint.inl:242</a></div></div>
22843<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00586">NEFixedPoint.inl:586</a></div></div>
22844</div><!-- fragment -->
22845</div>
22846</div>
22847<a class="anchor" id="aa761736badde8e65c51952cc613be3b9"></a>
22848<div class="memitem">
22849<div class="memproto">
22850<table class="mlabels">
22851 <tr>
22852 <td class="mlabels-left">
22853 <table class="memname">
22854 <tr>
22855 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqmla_qs16 </td>
22856 <td>(</td>
22857 <td class="paramtype">qint16x4_t&#160;</td>
22858 <td class="paramname"><em>a</em>, </td>
22859 </tr>
22860 <tr>
22861 <td class="paramkey"></td>
22862 <td></td>
22863 <td class="paramtype">qint16x4_t&#160;</td>
22864 <td class="paramname"><em>b</em>, </td>
22865 </tr>
22866 <tr>
22867 <td class="paramkey"></td>
22868 <td></td>
22869 <td class="paramtype">qint16x4_t&#160;</td>
22870 <td class="paramname"><em>c</em>, </td>
22871 </tr>
22872 <tr>
22873 <td class="paramkey"></td>
22874 <td></td>
22875 <td class="paramtype">int&#160;</td>
22876 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22877 </tr>
22878 <tr>
22879 <td></td>
22880 <td>)</td>
22881 <td></td><td></td>
22882 </tr>
22883 </table>
22884 </td>
22885 <td class="mlabels-right">
22886<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22887 </tr>
22888</table>
22889</div><div class="memdoc">
22890
22891<p>16 bit fixed point vector saturating multiply-accumulate (4 elements). </p>
22892<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>
22893<dl class="params"><dt>Parameters</dt><dd>
22894 <table class="params">
22895 <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>
22896 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
22897 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
22898 <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>
22899 </table>
22900 </dd>
22901</dl>
22902<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>
22903
22904<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00740">740</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22905<div class="fragment"><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;{</div>
22906<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
22907<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;</div>
22908<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
22909<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
22910<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;</div>
22911<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
22912<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
22913<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;</div>
22914<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
22915<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div>
22916<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;</div>
22917<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
22918<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> vqadd_s16(a, vqmovn_s32(tmp));</div>
22919<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;}</div>
22920<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022921</div><!-- fragment -->
22922</div>
22923</div>
22924<a class="anchor" id="ac6cb55578e8ff1f3c20aa50f2e728679"></a>
22925<div class="memitem">
22926<div class="memproto">
22927<table class="mlabels">
22928 <tr>
22929 <td class="mlabels-left">
22930 <table class="memname">
22931 <tr>
22932 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqmla_qs8 </td>
22933 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022934 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022935 <td class="paramname"><em>a</em>, </td>
22936 </tr>
22937 <tr>
22938 <td class="paramkey"></td>
22939 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010022940 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022941 <td class="paramname"><em>b</em>, </td>
22942 </tr>
22943 <tr>
22944 <td class="paramkey"></td>
22945 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010022946 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022947 <td class="paramname"><em>c</em>, </td>
22948 </tr>
22949 <tr>
22950 <td class="paramkey"></td>
22951 <td></td>
22952 <td class="paramtype">int&#160;</td>
22953 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22954 </tr>
22955 <tr>
22956 <td></td>
22957 <td>)</td>
22958 <td></td><td></td>
22959 </tr>
22960 </table>
22961 </td>
22962 <td class="mlabels-right">
22963<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22964 </tr>
22965</table>
22966</div><div class="memdoc">
22967
22968<p>8 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
22969<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>
22970<dl class="params"><dt>Parameters</dt><dd>
22971 <table class="params">
22972 <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>
22973 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
22974 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
22975 <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>
22976 </table>
22977 </dd>
22978</dl>
22979<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>
22980
Kaizen8938bd32017-09-28 14:38:23 +010022981<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00723">723</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22982<div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;{</div>
22983<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
22984<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div>
22985<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
22986<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
22987<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div>
22988<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
22989<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
22990<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;</div>
22991<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
22992<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div>
22993<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;</div>
22994<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
22995<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">return</span> vqadd_s8(a, vqmovn_s16(tmp));</div>
22996<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;}</div>
22997<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
22998</div><!-- fragment -->
22999</div>
23000</div>
23001<a class="anchor" id="a71633dedee7ccca61420733d9fd24fae"></a>
23002<div class="memitem">
23003<div class="memproto">
23004<table class="mlabels">
23005 <tr>
23006 <td class="mlabels-left">
23007 <table class="memname">
23008 <tr>
23009 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vqmlal_qs16 </td>
23010 <td>(</td>
23011 <td class="paramtype">qint32x4_t&#160;</td>
23012 <td class="paramname"><em>a</em>, </td>
23013 </tr>
23014 <tr>
23015 <td class="paramkey"></td>
23016 <td></td>
23017 <td class="paramtype">qint16x4_t&#160;</td>
23018 <td class="paramname"><em>b</em>, </td>
23019 </tr>
23020 <tr>
23021 <td class="paramkey"></td>
23022 <td></td>
23023 <td class="paramtype">qint16x4_t&#160;</td>
23024 <td class="paramname"><em>c</em>, </td>
23025 </tr>
23026 <tr>
23027 <td class="paramkey"></td>
23028 <td></td>
23029 <td class="paramtype">int&#160;</td>
23030 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23031 </tr>
23032 <tr>
23033 <td></td>
23034 <td>)</td>
23035 <td></td><td></td>
23036 </tr>
23037 </table>
23038 </td>
23039 <td class="mlabels-right">
23040<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23041 </tr>
23042</table>
23043</div><div class="memdoc">
23044
23045<p>16 bit fixed point vector saturating multiply-accumulate long (4 elements). </p>
23046<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>
23047<dl class="params"><dt>Parameters</dt><dd>
23048 <table class="params">
23049 <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>
23050 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23051 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23052 <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>
23053 </table>
23054 </dd>
23055</dl>
23056<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
23057
23058<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00850">850</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23059<div class="fragment"><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;{</div>
23060<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23061<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;</div>
23062<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23063<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23064<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;</div>
23065<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23066<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
23067<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;</div>
23068<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23069<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div>
23070<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;</div>
23071<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="comment">// Accumulate</span></div>
23072<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">return</span> vqaddq_s32(a, tmp);</div>
23073<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;}</div>
23074<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023075</div><!-- fragment -->
23076</div>
23077</div>
23078<a class="anchor" id="aedfa26202753ca9db96ae3bcb51b14b0"></a>
23079<div class="memitem">
23080<div class="memproto">
23081<table class="mlabels">
23082 <tr>
23083 <td class="mlabels-left">
23084 <table class="memname">
23085 <tr>
23086 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmlal_qs8 </td>
23087 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023088 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023089 <td class="paramname"><em>a</em>, </td>
23090 </tr>
23091 <tr>
23092 <td class="paramkey"></td>
23093 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023094 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023095 <td class="paramname"><em>b</em>, </td>
23096 </tr>
23097 <tr>
23098 <td class="paramkey"></td>
23099 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023100 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023101 <td class="paramname"><em>c</em>, </td>
23102 </tr>
23103 <tr>
23104 <td class="paramkey"></td>
23105 <td></td>
23106 <td class="paramtype">int&#160;</td>
23107 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23108 </tr>
23109 <tr>
23110 <td></td>
23111 <td>)</td>
23112 <td></td><td></td>
23113 </tr>
23114 </table>
23115 </td>
23116 <td class="mlabels-right">
23117<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23118 </tr>
23119</table>
23120</div><div class="memdoc">
23121
23122<p>8 bit fixed point vector saturating multiply-accumulate long (8 elements). </p>
23123<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>
23124<dl class="params"><dt>Parameters</dt><dd>
23125 <table class="params">
23126 <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>
23127 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23128 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23129 <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>
23130 </table>
23131 </dd>
23132</dl>
23133<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
23134
Kaizen8938bd32017-09-28 14:38:23 +010023135<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00833">833</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23136<div class="fragment"><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;{</div>
23137<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23138<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;</div>
23139<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23140<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23141<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div>
23142<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23143<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
23144<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;</div>
23145<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23146<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div>
23147<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;</div>
23148<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="comment">// Accumulate</span></div>
23149<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">return</span> vqaddq_s16(a, tmp);</div>
23150<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;}</div>
23151<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23152</div><!-- fragment -->
23153</div>
23154</div>
23155<a class="anchor" id="aed829745c42ecd74cfff15bc92936ba5"></a>
23156<div class="memitem">
23157<div class="memproto">
23158<table class="mlabels">
23159 <tr>
23160 <td class="mlabels-left">
23161 <table class="memname">
23162 <tr>
23163 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmlaq_qs16 </td>
23164 <td>(</td>
23165 <td class="paramtype">qint16x8_t&#160;</td>
23166 <td class="paramname"><em>a</em>, </td>
23167 </tr>
23168 <tr>
23169 <td class="paramkey"></td>
23170 <td></td>
23171 <td class="paramtype">qint16x8_t&#160;</td>
23172 <td class="paramname"><em>b</em>, </td>
23173 </tr>
23174 <tr>
23175 <td class="paramkey"></td>
23176 <td></td>
23177 <td class="paramtype">qint16x8_t&#160;</td>
23178 <td class="paramname"><em>c</em>, </td>
23179 </tr>
23180 <tr>
23181 <td class="paramkey"></td>
23182 <td></td>
23183 <td class="paramtype">int&#160;</td>
23184 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23185 </tr>
23186 <tr>
23187 <td></td>
23188 <td>)</td>
23189 <td></td><td></td>
23190 </tr>
23191 </table>
23192 </td>
23193 <td class="mlabels-right">
23194<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23195 </tr>
23196</table>
23197</div><div class="memdoc">
23198
23199<p>16 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
23200<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>
23201<dl class="params"><dt>Parameters</dt><dd>
23202 <table class="params">
23203 <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>
23204 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23205 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23206 <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>
23207 </table>
23208 </dd>
23209</dl>
23210<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>
23211
23212<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00778">778</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23213
23214<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
23215<div class="fragment"><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;{</div>
23216<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23217<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;</div>
23218<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23219<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23220<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div>
23221<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;</div>
23222<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23223<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(c));</div>
23224<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(c));</div>
23225<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;</div>
23226<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23227<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; tmp0 = vqshlq_s32(tmp0, fixed_point_position_s32);</div>
23228<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; tmp1 = vqshlq_s32(tmp1, fixed_point_position_s32);</div>
23229<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div>
23230<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="comment">// Convert back to qint16 and accumulate</span></div>
23231<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vcombine_s16(vqmovn_s32(tmp0), vqmovn_s32(tmp1));</div>
23232<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">return</span> vqaddq_s16(a, res);</div>
23233<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;}</div>
23234<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
23235<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23236<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
23237<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023238</div><!-- fragment -->
23239</div>
23240</div>
23241<a class="anchor" id="a037ac8df4a7e30a455a97218b88b67ad"></a>
23242<div class="memitem">
23243<div class="memproto">
23244<table class="mlabels">
23245 <tr>
23246 <td class="mlabels-left">
23247 <table class="memname">
23248 <tr>
23249 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqmlaq_qs8 </td>
23250 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023251 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023252 <td class="paramname"><em>a</em>, </td>
23253 </tr>
23254 <tr>
23255 <td class="paramkey"></td>
23256 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023257 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023258 <td class="paramname"><em>b</em>, </td>
23259 </tr>
23260 <tr>
23261 <td class="paramkey"></td>
23262 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023263 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023264 <td class="paramname"><em>c</em>, </td>
23265 </tr>
23266 <tr>
23267 <td class="paramkey"></td>
23268 <td></td>
23269 <td class="paramtype">int&#160;</td>
23270 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23271 </tr>
23272 <tr>
23273 <td></td>
23274 <td>)</td>
23275 <td></td><td></td>
23276 </tr>
23277 </table>
23278 </td>
23279 <td class="mlabels-right">
23280<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23281 </tr>
23282</table>
23283</div><div class="memdoc">
23284
23285<p>8 bit fixed point vector saturating multiply-accumulate (16 elements). </p>
23286<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>
23287<dl class="params"><dt>Parameters</dt><dd>
23288 <table class="params">
23289 <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>
23290 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23291 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23292 <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>
23293 </table>
23294 </dd>
23295</dl>
23296<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>
23297
Kaizen8938bd32017-09-28 14:38:23 +010023298<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00757">757</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23299<div class="fragment"><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;{</div>
23300<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23301<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;</div>
23302<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23303<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23304<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div>
23305<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;</div>
23306<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23307<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; tmp0 = vmlal_s8(tmp0, vget_low_s8(b), vget_low_s8(c));</div>
23308<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; tmp1 = vmlal_s8(tmp1, vget_high_s8(b), vget_high_s8(c));</div>
23309<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;</div>
23310<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23311<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; tmp0 = vqshlq_s16(tmp0, fixed_point_position_s16);</div>
23312<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; tmp1 = vqshlq_s16(tmp1, fixed_point_position_s16);</div>
23313<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div>
23314<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
23315<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = vcombine_s8(vqmovn_s16(tmp0), vqmovn_s16(tmp1));</div>
23316<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">return</span> vqaddq_s8(a, res);</div>
23317<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;}</div>
23318<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023319<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23320</div><!-- fragment -->
23321</div>
23322</div>
23323<a class="anchor" id="a92c2d0b9a8eeb3ab04a39a25fef2b6c3"></a>
23324<div class="memitem">
23325<div class="memproto">
23326 <table class="memname">
23327 <tr>
23328 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_q16 </td>
23329 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023330 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023331 <td class="paramname"><em>a</em></td><td>)</td>
23332 <td></td>
23333 </tr>
23334 </table>
23335</div><div class="memdoc">
23336
23337<p>16 bit fixed point vector saturating narrow (8 elements) </p>
23338<dl class="params"><dt>Parameters</dt><dd>
23339 <table class="params">
23340 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point vector to convert</td></tr>
23341 </table>
23342 </dd>
23343</dl>
23344<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector </dd></dl>
23345
23346</div>
23347</div>
Kaizen8938bd32017-09-28 14:38:23 +010023348<a class="anchor" id="a12e7578c32321d2362114563881153ee"></a>
23349<div class="memitem">
23350<div class="memproto">
23351 <table class="memname">
23352 <tr>
23353 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_q32 </td>
23354 <td>(</td>
23355 <td class="paramtype">qint32x4_t&#160;</td>
23356 <td class="paramname"><em>a</em></td><td>)</td>
23357 <td></td>
23358 </tr>
23359 </table>
23360</div><div class="memdoc">
23361
23362<p>32 bit fixed point vector saturating narrow (4 elements) </p>
23363<dl class="params"><dt>Parameters</dt><dd>
23364 <table class="params">
23365 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>32 bit fixed point vector to convert</td></tr>
23366 </table>
23367 </dd>
23368</dl>
23369<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector </dd></dl>
23370
23371</div>
23372</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023373<a class="anchor" id="aa9a56a13e02fa346fcbe59257b2cef74"></a>
23374<div class="memitem">
23375<div class="memproto">
23376<table class="mlabels">
23377 <tr>
23378 <td class="mlabels-left">
23379 <table class="memname">
23380 <tr>
23381 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_qs16 </td>
23382 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023383 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023384 <td class="paramname"><em>a</em></td><td>)</td>
23385 <td></td>
23386 </tr>
23387 </table>
23388 </td>
23389 <td class="mlabels-right">
23390<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23391 </tr>
23392</table>
23393</div><div class="memdoc">
23394
Kaizen8938bd32017-09-28 14:38:23 +010023395<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23396<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;{</div>
23397<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> vqmovn_s16(a);</div>
23398<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;}</div>
23399</div><!-- fragment -->
23400</div>
23401</div>
23402<a class="anchor" id="acd99794ca54cbddbb4bda5d78d0caea7"></a>
23403<div class="memitem">
23404<div class="memproto">
23405<table class="mlabels">
23406 <tr>
23407 <td class="mlabels-left">
23408 <table class="memname">
23409 <tr>
23410 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_qs32 </td>
23411 <td>(</td>
23412 <td class="paramtype">qint32x4_t&#160;</td>
23413 <td class="paramname"><em>a</em></td><td>)</td>
23414 <td></td>
23415 </tr>
23416 </table>
23417 </td>
23418 <td class="mlabels-right">
23419<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23420 </tr>
23421</table>
23422</div><div class="memdoc">
23423
23424<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00227">227</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23425<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;{</div>
23426<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> vqmovn_s32(a);</div>
23427<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;}</div>
23428</div><!-- fragment -->
23429</div>
23430</div>
23431<a class="anchor" id="aec34399f16d824f79571abe464556466"></a>
23432<div class="memitem">
23433<div class="memproto">
23434<table class="mlabels">
23435 <tr>
23436 <td class="mlabels-left">
23437 <table class="memname">
23438 <tr>
23439 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqmul_qs16 </td>
23440 <td>(</td>
23441 <td class="paramtype">qint16x4_t&#160;</td>
23442 <td class="paramname"><em>a</em>, </td>
23443 </tr>
23444 <tr>
23445 <td class="paramkey"></td>
23446 <td></td>
23447 <td class="paramtype">qint16x4_t&#160;</td>
23448 <td class="paramname"><em>b</em>, </td>
23449 </tr>
23450 <tr>
23451 <td class="paramkey"></td>
23452 <td></td>
23453 <td class="paramtype">int&#160;</td>
23454 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23455 </tr>
23456 <tr>
23457 <td></td>
23458 <td>)</td>
23459 <td></td><td></td>
23460 </tr>
23461 </table>
23462 </td>
23463 <td class="mlabels-right">
23464<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23465 </tr>
23466</table>
23467</div><div class="memdoc">
23468
23469<p>16 bit fixed point vector saturating multiply (4 elements) </p>
23470<dl class="params"><dt>Parameters</dt><dd>
23471 <table class="params">
23472 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23473 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23474 <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>
23475 </table>
23476 </dd>
23477</dl>
23478<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>
23479
23480<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00569">569</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23481
23482<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01467">vqexp_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01784">vqinvsqrt_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01155">vqrecip_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01938">vqtanh_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01362">vqtaylor_poly_qs16()</a>.</p>
23483<div class="fragment"><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;{</div>
23484<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23485<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;</div>
23486<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
23487<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23488<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div>
23489<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23490<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; res = vmlal_s16(res, a, b);</div>
23491<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;</div>
23492<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23493<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; res = vqshlq_s32(res, fixed_point_position_s32);</div>
23494<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div>
23495<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="comment">// Convert back to qint16 and saturate</span></div>
23496<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">return</span> vqmovn_s32(res);</div>
23497<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;}</div>
23498<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
23499</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010023500</div>
23501</div>
23502<a class="anchor" id="a746205173d1a1f3955fa0c26b5be3b10"></a>
23503<div class="memitem">
23504<div class="memproto">
23505<table class="mlabels">
23506 <tr>
23507 <td class="mlabels-left">
23508 <table class="memname">
23509 <tr>
23510 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqmul_qs8 </td>
23511 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023512 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023513 <td class="paramname"><em>a</em>, </td>
23514 </tr>
23515 <tr>
23516 <td class="paramkey"></td>
23517 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023518 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023519 <td class="paramname"><em>b</em>, </td>
23520 </tr>
23521 <tr>
23522 <td class="paramkey"></td>
23523 <td></td>
23524 <td class="paramtype">int&#160;</td>
23525 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23526 </tr>
23527 <tr>
23528 <td></td>
23529 <td>)</td>
23530 <td></td><td></td>
23531 </tr>
23532 </table>
23533 </td>
23534 <td class="mlabels-right">
23535<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23536 </tr>
23537</table>
23538</div><div class="memdoc">
23539
23540<p>8 bit fixed point vector saturating multiply (8 elements) </p>
23541<dl class="params"><dt>Parameters</dt><dd>
23542 <table class="params">
23543 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23544 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23545 <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>
23546 </table>
23547 </dd>
23548</dl>
23549<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>
23550
Kaizen8938bd32017-09-28 14:38:23 +010023551<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00552">552</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023552
Kaizen8938bd32017-09-28 14:38:23 +010023553<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01441">vqexp_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01757">vqinvsqrt_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01129">vqrecip_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01925">vqtanh_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01346">vqtaylor_poly_qs8()</a>.</p>
23554<div class="fragment"><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;{</div>
23555<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23556<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div>
23557<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
23558<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23559<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;</div>
23560<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23561<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; res = vmlal_s8(res, a, b);</div>
23562<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;</div>
23563<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23564<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; res = vqshlq_s16(res, fixed_point_position_s16);</div>
23565<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div>
23566<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="comment">// Convert back to qint8 and saturate</span></div>
23567<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> vqmovn_s16(res);</div>
23568<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;}</div>
23569<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23570</div><!-- fragment -->
23571</div>
23572</div>
23573<a class="anchor" id="a982d792d366430a954d96e8575d3c313"></a>
23574<div class="memitem">
23575<div class="memproto">
23576<table class="mlabels">
23577 <tr>
23578 <td class="mlabels-left">
23579 <table class="memname">
23580 <tr>
23581 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmulq_qs16 </td>
23582 <td>(</td>
23583 <td class="paramtype">qint16x8_t&#160;</td>
23584 <td class="paramname"><em>a</em>, </td>
23585 </tr>
23586 <tr>
23587 <td class="paramkey"></td>
23588 <td></td>
23589 <td class="paramtype">qint16x8_t&#160;</td>
23590 <td class="paramname"><em>b</em>, </td>
23591 </tr>
23592 <tr>
23593 <td class="paramkey"></td>
23594 <td></td>
23595 <td class="paramtype">int&#160;</td>
23596 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23597 </tr>
23598 <tr>
23599 <td></td>
23600 <td>)</td>
23601 <td></td><td></td>
23602 </tr>
23603 </table>
23604 </td>
23605 <td class="mlabels-right">
23606<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23607 </tr>
23608</table>
23609</div><div class="memdoc">
23610
23611<p>16 bit fixed point vector saturating multiply (8 elements) </p>
23612<dl class="params"><dt>Parameters</dt><dd>
23613 <table class="params">
23614 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23615 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23616 <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>
23617 </table>
23618 </dd>
23619</dl>
23620<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>
23621
23622<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">606</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23623
23624<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00147">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00137">vget_low_qs16()</a>.</p>
23625
23626<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01662">vlogq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01519">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01896">vqinvsqrtq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01982">vqpowq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01264">vqrecipq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01964">vqtanhq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01426">vqtaylor_polyq_qs16()</a>.</p>
23627<div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;{</div>
23628<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23629<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;</div>
23630<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23631<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23632<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div>
23633<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div>
23634<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23635<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b));</div>
23636<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b));</div>
23637<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div>
23638<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23639<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; res0 = vqshlq_s32(res0, fixed_point_position_s32);</div>
23640<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; res1 = vqshlq_s32(res1, fixed_point_position_s32);</div>
23641<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div>
23642<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="comment">// Convert back to qint16 and saturate</span></div>
23643<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res0), vqmovn_s32(res1));</div>
23644<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;}</div>
23645<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00147">NEFixedPoint.inl:147</a></div></div>
23646<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00137">NEFixedPoint.inl:137</a></div></div>
23647<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023648</div><!-- fragment -->
23649</div>
23650</div>
23651<a class="anchor" id="a081c0605c83155125ad95a144a1d6071"></a>
23652<div class="memitem">
23653<div class="memproto">
23654<table class="mlabels">
23655 <tr>
23656 <td class="mlabels-left">
23657 <table class="memname">
23658 <tr>
23659 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqmulq_qs8 </td>
23660 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023661 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023662 <td class="paramname"><em>a</em>, </td>
23663 </tr>
23664 <tr>
23665 <td class="paramkey"></td>
23666 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023667 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023668 <td class="paramname"><em>b</em>, </td>
23669 </tr>
23670 <tr>
23671 <td class="paramkey"></td>
23672 <td></td>
23673 <td class="paramtype">int&#160;</td>
23674 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23675 </tr>
23676 <tr>
23677 <td></td>
23678 <td>)</td>
23679 <td></td><td></td>
23680 </tr>
23681 </table>
23682 </td>
23683 <td class="mlabels-right">
23684<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23685 </tr>
23686</table>
23687</div><div class="memdoc">
23688
23689<p>8 bit fixed point vector saturating multiply (16 elements) </p>
23690<dl class="params"><dt>Parameters</dt><dd>
23691 <table class="params">
23692 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23693 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23694 <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>
23695 </table>
23696 </dd>
23697</dl>
23698<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>
23699
Kaizen8938bd32017-09-28 14:38:23 +010023700<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">586</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023701
Kaizen8938bd32017-09-28 14:38:23 +010023702<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01493">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01869">vqinvsqrtq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01977">vqpowq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01237">vqrecipq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01951">vqtanhq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01410">vqtaylor_polyq_qs8()</a>.</p>
23703<div class="fragment"><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;{</div>
23704<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23705<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div>
23706<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23707<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23708<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div>
23709<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div>
23710<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23711<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; res0 = vmlal_s8(res0, vget_low_s8(a), vget_low_s8(b));</div>
23712<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; res1 = vmlal_s8(res1, vget_high_s8(a), vget_high_s8(b));</div>
23713<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;</div>
23714<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23715<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; res0 = vqshlq_s16(res0, fixed_point_position_s16);</div>
23716<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; res1 = vqshlq_s16(res1, fixed_point_position_s16);</div>
23717<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div>
23718<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="comment">// Convert back to qint8 and saturate</span></div>
23719<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res0), vqmovn_s16(res1));</div>
23720<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;}</div>
23721<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023722</div><!-- fragment -->
23723</div>
23724</div>
Kaizen8938bd32017-09-28 14:38:23 +010023725<a class="anchor" id="ad705110ee89e7d32c319671b9b92e0ba"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023726<div class="memitem">
23727<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010023728<table class="mlabels">
23729 <tr>
23730 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010023731 <table class="memname">
23732 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010023733 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqpowq_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023734 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023735 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023736 <td class="paramname"><em>a</em>, </td>
23737 </tr>
23738 <tr>
23739 <td class="paramkey"></td>
23740 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023741 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023742 <td class="paramname"><em>b</em>, </td>
23743 </tr>
23744 <tr>
23745 <td class="paramkey"></td>
23746 <td></td>
23747 <td class="paramtype">int&#160;</td>
23748 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23749 </tr>
23750 <tr>
23751 <td></td>
23752 <td>)</td>
23753 <td></td><td></td>
23754 </tr>
23755 </table>
Kaizen8938bd32017-09-28 14:38:23 +010023756 </td>
23757 <td class="mlabels-right">
23758<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23759 </tr>
23760</table>
23761</div><div class="memdoc">
23762
23763<p>Calculate saturating n power for fixed point 16bit (8 elements). </p>
23764<p>pow(a,b) = e^(b*log(a))</p>
23765<dl class="params"><dt>Parameters</dt><dd>
23766 <table class="params">
23767 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16bit fixed point input vector </td></tr>
23768 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16bit fixed point power vector </td></tr>
23769 <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>
23770 </table>
23771 </dd>
23772</dl>
23773<dl class="section return"><dt>Returns</dt><dd>The result of the 16bit power. </dd></dl>
23774
23775<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01982">1982</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23776
23777<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01662">vlogq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01519">vqexpq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>.</p>
23778<div class="fragment"><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;{</div>
23779<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(b, <a class="code" href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a>(a, fixed_point_position), fixed_point_position), fixed_point_position);</div>
23780<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;}</div>
23781<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
23782<div class="ttc" id="namespacearm__compute_xhtml_a5b5e085002cf5a69fb80e6991d0a4556"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">arm_compute::vqexpq_qs16</a></div><div class="ttdeci">qint16x8_t vqexpq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01519">NEFixedPoint.inl:1519</a></div></div>
23783<div class="ttc" id="namespacearm__compute_xhtml_a756ac701185cfc4924443db164fd65ae"><div class="ttname"><a href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">arm_compute::vlogq_qs16</a></div><div class="ttdeci">qint16x8_t vlogq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01662">NEFixedPoint.inl:1662</a></div></div>
23784</div><!-- fragment -->
23785</div>
23786</div>
23787<a class="anchor" id="aa0061a2146587eea4a393ff14232d8fe"></a>
23788<div class="memitem">
23789<div class="memproto">
23790<table class="mlabels">
23791 <tr>
23792 <td class="mlabels-left">
23793 <table class="memname">
23794 <tr>
23795 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqpowq_qs8 </td>
23796 <td>(</td>
23797 <td class="paramtype">qint8x16_t&#160;</td>
23798 <td class="paramname"><em>a</em>, </td>
23799 </tr>
23800 <tr>
23801 <td class="paramkey"></td>
23802 <td></td>
23803 <td class="paramtype">qint8x16_t&#160;</td>
23804 <td class="paramname"><em>b</em>, </td>
23805 </tr>
23806 <tr>
23807 <td class="paramkey"></td>
23808 <td></td>
23809 <td class="paramtype">int&#160;</td>
23810 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23811 </tr>
23812 <tr>
23813 <td></td>
23814 <td>)</td>
23815 <td></td><td></td>
23816 </tr>
23817 </table>
23818 </td>
23819 <td class="mlabels-right">
23820<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23821 </tr>
23822</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023823</div><div class="memdoc">
23824
23825<p>Calculate saturating n power for fixed point 8bit (16 elements). </p>
23826<p>pow(a,b) = e^(b*log(a))</p>
23827<dl class="params"><dt>Parameters</dt><dd>
23828 <table class="params">
23829 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
23830 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8bit fixed point power vector </td></tr>
23831 <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>
23832 </table>
23833 </dd>
23834</dl>
23835<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit power. </dd></dl>
23836
Kaizen8938bd32017-09-28 14:38:23 +010023837<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01977">1977</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23838
23839<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01623">vlogq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01493">vqexpq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">vqmulq_qs8()</a>.</p>
23840<div class="fragment"><div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;{</div>
23841<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(b, <a class="code" href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a>(a, fixed_point_position), fixed_point_position), fixed_point_position);</div>
23842<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;}</div>
23843<div class="ttc" id="namespacearm__compute_xhtml_a340b9cd5ad88f1a821498c6fad80e82c"><div class="ttname"><a href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">arm_compute::vlogq_qs8</a></div><div class="ttdeci">qint8x16_t vlogq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01623">NEFixedPoint.inl:1623</a></div></div>
23844<div class="ttc" id="namespacearm__compute_xhtml_ae6cf1822b8fbad305677650a2b751247"><div class="ttname"><a href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">arm_compute::vqexpq_qs8</a></div><div class="ttdeci">qint8x16_t vqexpq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01493">NEFixedPoint.inl:1493</a></div></div>
23845<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00586">NEFixedPoint.inl:586</a></div></div>
23846</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010023847</div>
23848</div>
Kaizen8938bd32017-09-28 14:38:23 +010023849<a class="anchor" id="ada5b8019889d6b38b3cb64ccdd3731ca"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023850<div class="memitem">
23851<div class="memproto">
23852<table class="mlabels">
23853 <tr>
23854 <td class="mlabels-left">
23855 <table class="memname">
23856 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010023857 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqrecip_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023858 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023859 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023860 <td class="paramname"><em>a</em>, </td>
23861 </tr>
23862 <tr>
23863 <td class="paramkey"></td>
23864 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023865 <td class="paramtype">int&#160;</td>
23866 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23867 </tr>
23868 <tr>
23869 <td></td>
23870 <td>)</td>
23871 <td></td><td></td>
23872 </tr>
23873 </table>
23874 </td>
23875 <td class="mlabels-right">
23876<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23877 </tr>
23878</table>
23879</div><div class="memdoc">
23880
Kaizen8938bd32017-09-28 14:38:23 +010023881<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01155">1155</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023882
Kaizen8938bd32017-09-28 14:38:23 +010023883<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00569">vqmul_qs16()</a>.</p>
23884
23885<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01938">vqtanh_qs16()</a>.</p>
23886<div class="fragment"><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;{</div>
23887<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
23888<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
23889<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
23890<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
23891<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 &lt;&lt; fixed_point_position);</div>
23892<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;</div>
23893<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; <span class="comment">// Find shift value</span></div>
23894<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(8), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
23895<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqshl_s16(a, shift_value);</div>
23896<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;</div>
23897<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
23898<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vqsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
23899<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;</div>
23900<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; uint16x4_t set_one = vcgt_s16(x, const_one);</div>
23901<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; x = vbsl_s16(set_one, const_one, x);</div>
23902<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;</div>
23903<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
23904<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23905<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23906<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23907<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23908<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div>
23909<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; <span class="keywordflow">return</span> vqshl_s16(x, shift_value);</div>
23910<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;}</div>
23911<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00569">NEFixedPoint.inl:569</a></div></div>
23912<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
23913</div><!-- fragment -->
23914</div>
23915</div>
23916<a class="anchor" id="a3e6537037711264ed5e8f33c8564c325"></a>
23917<div class="memitem">
23918<div class="memproto">
23919<table class="mlabels">
23920 <tr>
23921 <td class="mlabels-left">
23922 <table class="memname">
23923 <tr>
23924 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqrecip_qs8 </td>
23925 <td>(</td>
23926 <td class="paramtype">qint8x8_t&#160;</td>
23927 <td class="paramname"><em>a</em>, </td>
23928 </tr>
23929 <tr>
23930 <td class="paramkey"></td>
23931 <td></td>
23932 <td class="paramtype">int&#160;</td>
23933 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23934 </tr>
23935 <tr>
23936 <td></td>
23937 <td>)</td>
23938 <td></td><td></td>
23939 </tr>
23940 </table>
23941 </td>
23942 <td class="mlabels-right">
23943<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23944 </tr>
23945</table>
23946</div><div class="memdoc">
23947
23948<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01129">1129</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23949
23950<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00552">vqmul_qs8()</a>.</p>
23951
23952<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01925">vqtanh_qs8()</a>.</p>
23953<div class="fragment"><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;{</div>
23954<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
23955<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
23956<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div>
23957<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
23958<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 &lt;&lt; fixed_point_position);</div>
23959<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;</div>
23960<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; <span class="comment">// Find shift value</span></div>
23961<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
23962<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqshl_s8(a, shift_value);</div>
23963<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;</div>
23964<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
23965<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vqsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
23966<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;</div>
23967<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; uint8x8_t set_one = vcgt_s8(x, const_one);</div>
23968<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; x = vbsl_s8(set_one, const_one, x);</div>
23969<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;</div>
23970<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
23971<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23972<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23973<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
23974<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;</div>
23975<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; <span class="keywordflow">return</span> vqshl_s8(x, shift_value);</div>
23976<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;}</div>
23977<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00552">NEFixedPoint.inl:552</a></div></div>
23978<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
23979</div><!-- fragment -->
23980</div>
23981</div>
23982<a class="anchor" id="a6a368d809128ff6bce989cda02c536d8"></a>
23983<div class="memitem">
23984<div class="memproto">
23985<table class="mlabels">
23986 <tr>
23987 <td class="mlabels-left">
23988 <table class="memname">
23989 <tr>
23990 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqrecipq_qs16 </td>
23991 <td>(</td>
23992 <td class="paramtype">qint16x8_t&#160;</td>
23993 <td class="paramname"><em>a</em>, </td>
23994 </tr>
23995 <tr>
23996 <td class="paramkey"></td>
23997 <td></td>
23998 <td class="paramtype">int&#160;</td>
23999 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24000 </tr>
24001 <tr>
24002 <td></td>
24003 <td>)</td>
24004 <td></td><td></td>
24005 </tr>
24006 </table>
24007 </td>
24008 <td class="mlabels-right">
24009<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24010 </tr>
24011</table>
24012</div><div class="memdoc">
24013
24014<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01264">1264</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24015
24016<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00473">vqsubq_qs16()</a>.</p>
24017
24018<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01662">vlogq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01964">vqtanhq_qs16()</a>.</p>
24019<div class="fragment"><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;{</div>
24020<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
24021<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24022<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
24023<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
24024<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 &lt;&lt; fixed_point_position);</div>
24025<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;</div>
24026<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; <span class="comment">// Find shift value</span></div>
24027<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
24028<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqshlq_s16(a, shift_value);</div>
24029<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;</div>
24030<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24031<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
24032<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;</div>
24033<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
24034<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; uint16x8_t set_one = vcgtq_s16(x, const_one);</div>
24035<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; x = vbslq_s16(set_one, const_one, x);</div>
24036<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;</div>
24037<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
24038<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24039<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24040<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24041<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24042<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;</div>
24043<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; <span class="comment">// Saturate result in case of overflow</span></div>
24044<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <span class="keywordflow">return</span> vbslq_s16(vceqq_s16(a, vdupq_n_s16(0)), vdupq_n_s16(<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>()), vqshlq_s16(x, shift_value));</div>
24045<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;}</div>
24046<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00473">NEFixedPoint.inl:473</a></div></div>
24047<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
24048<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
24049<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#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024050</div><!-- fragment -->
24051</div>
24052</div>
24053<a class="anchor" id="a3dd4382391c752128ab7b3a6dd68314b"></a>
24054<div class="memitem">
24055<div class="memproto">
24056<table class="mlabels">
24057 <tr>
24058 <td class="mlabels-left">
24059 <table class="memname">
24060 <tr>
24061 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqrecipq_qs8 </td>
24062 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024063 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024064 <td class="paramname"><em>a</em>, </td>
24065 </tr>
24066 <tr>
24067 <td class="paramkey"></td>
24068 <td></td>
24069 <td class="paramtype">int&#160;</td>
24070 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24071 </tr>
24072 <tr>
24073 <td></td>
24074 <td>)</td>
24075 <td></td><td></td>
24076 </tr>
24077 </table>
24078 </td>
24079 <td class="mlabels-right">
24080<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24081 </tr>
24082</table>
24083</div><div class="memdoc">
24084
Kaizen8938bd32017-09-28 14:38:23 +010024085<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01237">1237</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024086
Kaizen8938bd32017-09-28 14:38:23 +010024087<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00468">vqsubq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024088
Kaizen8938bd32017-09-28 14:38:23 +010024089<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01951">vqtanhq_qs8()</a>.</p>
24090<div class="fragment"><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;{</div>
24091<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
24092<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24093<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div>
24094<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
24095<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 &lt;&lt; fixed_point_position);</div>
24096<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;</div>
24097<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; <span class="comment">// Find shift value</span></div>
24098<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
24099<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqshlq_s8(a, shift_value);</div>
24100<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;</div>
24101<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24102<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
24103<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;</div>
24104<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
24105<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; uint8x16_t set_one = vcgtq_s8(x, const_one);</div>
24106<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; x = vbslq_s8(set_one, const_one, x);</div>
24107<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;</div>
24108<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
24109<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24110<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24111<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24112<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;</div>
24113<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <span class="keywordflow">return</span> vqshlq_s8(x, shift_value);</div>
24114<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;}</div>
24115<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
24116<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00586">NEFixedPoint.inl:586</a></div></div>
24117<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00468">NEFixedPoint.inl:468</a></div></div>
24118</div><!-- fragment -->
24119</div>
24120</div>
24121<a class="anchor" id="a73a131b9775ce771a1a25607a83b0ca9"></a>
24122<div class="memitem">
24123<div class="memproto">
24124<table class="mlabels">
24125 <tr>
24126 <td class="mlabels-left">
24127 <table class="memname">
24128 <tr>
24129 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqsub_qs16 </td>
24130 <td>(</td>
24131 <td class="paramtype">qint16x4_t&#160;</td>
24132 <td class="paramname"><em>a</em>, </td>
24133 </tr>
24134 <tr>
24135 <td class="paramkey"></td>
24136 <td></td>
24137 <td class="paramtype">qint16x4_t&#160;</td>
24138 <td class="paramname"><em>b</em>&#160;</td>
24139 </tr>
24140 <tr>
24141 <td></td>
24142 <td>)</td>
24143 <td></td><td></td>
24144 </tr>
24145 </table>
24146 </td>
24147 <td class="mlabels-right">
24148<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24149 </tr>
24150</table>
24151</div><div class="memdoc">
24152
24153<p>16 bit fixed point vector saturating subtraction (4 elements) </p>
24154<dl class="params"><dt>Parameters</dt><dd>
24155 <table class="params">
24156 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
24157 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
24158 </table>
24159 </dd>
24160</dl>
24161<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>
24162
24163<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00463">463</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24164
24165<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01938">vqtanh_qs16()</a>.</p>
24166<div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;{</div>
24167<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> vqsub_s16(a, b);</div>
24168<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024169</div><!-- fragment -->
24170</div>
24171</div>
24172<a class="anchor" id="a5b1437029acce06690a938e09f5a762a"></a>
24173<div class="memitem">
24174<div class="memproto">
24175<table class="mlabels">
24176 <tr>
24177 <td class="mlabels-left">
24178 <table class="memname">
24179 <tr>
24180 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqsub_qs8 </td>
24181 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024182 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024183 <td class="paramname"><em>a</em>, </td>
24184 </tr>
24185 <tr>
24186 <td class="paramkey"></td>
24187 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010024188 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024189 <td class="paramname"><em>b</em>&#160;</td>
24190 </tr>
24191 <tr>
24192 <td></td>
24193 <td>)</td>
24194 <td></td><td></td>
24195 </tr>
24196 </table>
24197 </td>
24198 <td class="mlabels-right">
24199<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24200 </tr>
24201</table>
24202</div><div class="memdoc">
24203
24204<p>8 bit fixed point vector saturating subtraction (8 elements) </p>
24205<dl class="params"><dt>Parameters</dt><dd>
24206 <table class="params">
24207 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24208 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
24209 </table>
24210 </dd>
24211</dl>
24212<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>
24213
Kaizen8938bd32017-09-28 14:38:23 +010024214<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00458">458</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024215
Kaizen8938bd32017-09-28 14:38:23 +010024216<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01925">vqtanh_qs8()</a>.</p>
24217<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div>
24218<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> vqsub_s8(a, b);</div>
24219<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;}</div>
24220</div><!-- fragment -->
24221</div>
24222</div>
24223<a class="anchor" id="a9edb31327a1e06c730d5a09b14dcfeb9"></a>
24224<div class="memitem">
24225<div class="memproto">
24226<table class="mlabels">
24227 <tr>
24228 <td class="mlabels-left">
24229 <table class="memname">
24230 <tr>
24231 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqsubq_qs16 </td>
24232 <td>(</td>
24233 <td class="paramtype">qint16x8_t&#160;</td>
24234 <td class="paramname"><em>a</em>, </td>
24235 </tr>
24236 <tr>
24237 <td class="paramkey"></td>
24238 <td></td>
24239 <td class="paramtype">qint16x8_t&#160;</td>
24240 <td class="paramname"><em>b</em>&#160;</td>
24241 </tr>
24242 <tr>
24243 <td></td>
24244 <td>)</td>
24245 <td></td><td></td>
24246 </tr>
24247 </table>
24248 </td>
24249 <td class="mlabels-right">
24250<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24251 </tr>
24252</table>
24253</div><div class="memdoc">
24254
24255<p>16 bit fixed point vector saturating subtraction (8 elements) </p>
24256<dl class="params"><dt>Parameters</dt><dd>
24257 <table class="params">
24258 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
24259 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
24260 </table>
24261 </dd>
24262</dl>
24263<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>
24264
24265<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00473">473</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24266
24267<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01519">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01264">vqrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01964">vqtanhq_qs16()</a>.</p>
24268<div class="fragment"><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;{</div>
24269<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> vqsubq_s16(a, b);</div>
24270<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div>
24271</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010024272</div>
24273</div>
24274<a class="anchor" id="ab2a6ce3d8239e49c81af1ebc617680b4"></a>
24275<div class="memitem">
24276<div class="memproto">
24277<table class="mlabels">
24278 <tr>
24279 <td class="mlabels-left">
24280 <table class="memname">
24281 <tr>
24282 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqsubq_qs8 </td>
24283 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024284 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024285 <td class="paramname"><em>a</em>, </td>
24286 </tr>
24287 <tr>
24288 <td class="paramkey"></td>
24289 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010024290 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024291 <td class="paramname"><em>b</em>&#160;</td>
24292 </tr>
24293 <tr>
24294 <td></td>
24295 <td>)</td>
24296 <td></td><td></td>
24297 </tr>
24298 </table>
24299 </td>
24300 <td class="mlabels-right">
24301<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24302 </tr>
24303</table>
24304</div><div class="memdoc">
24305
24306<p>8 bit fixed point vector saturating subtraction (16 elements) </p>
24307<dl class="params"><dt>Parameters</dt><dd>
24308 <table class="params">
24309 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24310 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
24311 </table>
24312 </dd>
24313</dl>
24314<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>
24315
Kaizen8938bd32017-09-28 14:38:23 +010024316<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00468">468</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024317
Kaizen8938bd32017-09-28 14:38:23 +010024318<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01493">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01237">vqrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01951">vqtanhq_qs8()</a>.</p>
24319<div class="fragment"><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;{</div>
24320<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> vqsubq_s8(a, b);</div>
24321<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;}</div>
24322</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010024323</div>
24324</div>
Kaizen8938bd32017-09-28 14:38:23 +010024325<a class="anchor" id="a81b5a6029b604d0a1daf4d4ac63a56c8"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024326<div class="memitem">
24327<div class="memproto">
24328<table class="mlabels">
24329 <tr>
24330 <td class="mlabels-left">
24331 <table class="memname">
24332 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010024333 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqtanh_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024334 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024335 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024336 <td class="paramname"><em>a</em>, </td>
24337 </tr>
24338 <tr>
24339 <td class="paramkey"></td>
24340 <td></td>
24341 <td class="paramtype">int&#160;</td>
24342 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24343 </tr>
24344 <tr>
24345 <td></td>
24346 <td>)</td>
24347 <td></td><td></td>
24348 </tr>
24349 </table>
24350 </td>
24351 <td class="mlabels-right">
24352<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24353 </tr>
24354</table>
24355</div><div class="memdoc">
24356
Kaizen8938bd32017-09-28 14:38:23 +010024357<p>Calculate hyperbolic tangent for fixed point 16 bit (4 elements) </p>
24358<dl class="params"><dt>Parameters</dt><dd>
24359 <table class="params">
24360 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24361 <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>
24362 </table>
24363 </dd>
24364</dl>
24365<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024366
Kaizen8938bd32017-09-28 14:38:23 +010024367<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01938">1938</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24368
24369<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00408">vqadd_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01467">vqexp_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00569">vqmul_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01155">vqrecip_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00463">vqsub_qs16()</a>.</p>
24370<div class="fragment"><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;{</div>
24371<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
24372<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 &lt;&lt; fixed_point_position);</div>
24373<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;</div>
24374<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">vqexp_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24375<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">vqsub_qs16</a>(exp2x, const_one);</div>
24376<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> den = <a class="code" href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">vqadd_qs16</a>(exp2x, const_one);</div>
24377<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">vqrecip_qs16</a>(den, fixed_point_position), fixed_point_position);</div>
24378<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;</div>
24379<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24380<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;}</div>
24381<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00569">NEFixedPoint.inl:569</a></div></div>
24382<div class="ttc" id="namespacearm__compute_xhtml_a73a131b9775ce771a1a25607a83b0ca9"><div class="ttname"><a href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">arm_compute::vqsub_qs16</a></div><div class="ttdeci">qint16x4_t vqsub_qs16(qint16x4_t a, qint16x4_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00463">NEFixedPoint.inl:463</a></div></div>
24383<div class="ttc" id="namespacearm__compute_xhtml_ad80ab0f6b783c10e0488cb84a8812e8f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">arm_compute::vqadd_qs16</a></div><div class="ttdeci">qint16x4_t vqadd_qs16(qint16x4_t a, qint16x4_t b)</div><div class="ttdoc">16 bit fixed point vector saturating add (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00408">NEFixedPoint.inl:408</a></div></div>
24384<div class="ttc" id="namespacearm__compute_xhtml_aa3c9489e850081532442f4da59515852"><div class="ttname"><a href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">arm_compute::vqexp_qs16</a></div><div class="ttdeci">qint16x4_t vqexp_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01467">NEFixedPoint.inl:1467</a></div></div>
24385<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
24386<div class="ttc" id="namespacearm__compute_xhtml_ada5b8019889d6b38b3cb64ccdd3731ca"><div class="ttname"><a href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">arm_compute::vqrecip_qs16</a></div><div class="ttdeci">qint16x4_t vqrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01155">NEFixedPoint.inl:1155</a></div></div>
24387<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
24388</div><!-- fragment -->
24389</div>
24390</div>
24391<a class="anchor" id="a2b97d40b6d61e8453d755711fed30a38"></a>
24392<div class="memitem">
24393<div class="memproto">
24394<table class="mlabels">
24395 <tr>
24396 <td class="mlabels-left">
24397 <table class="memname">
24398 <tr>
24399 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqtanh_qs8 </td>
24400 <td>(</td>
24401 <td class="paramtype">qint8x8_t&#160;</td>
24402 <td class="paramname"><em>a</em>, </td>
24403 </tr>
24404 <tr>
24405 <td class="paramkey"></td>
24406 <td></td>
24407 <td class="paramtype">int&#160;</td>
24408 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24409 </tr>
24410 <tr>
24411 <td></td>
24412 <td>)</td>
24413 <td></td><td></td>
24414 </tr>
24415 </table>
24416 </td>
24417 <td class="mlabels-right">
24418<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24419 </tr>
24420</table>
24421</div><div class="memdoc">
24422
24423<p>Calculate hyperbolic tangent for fixed point 8bit (8 elements) </p>
24424<dl class="params"><dt>Parameters</dt><dd>
24425 <table class="params">
24426 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24427 <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>
24428 </table>
24429 </dd>
24430</dl>
24431<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
24432
24433<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01925">1925</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24434
24435<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00403">vqadd_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01441">vqexp_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00552">vqmul_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01129">vqrecip_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00458">vqsub_qs8()</a>.</p>
24436<div class="fragment"><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;{</div>
24437<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
24438<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 &lt;&lt; fixed_point_position);</div>
24439<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;</div>
24440<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24441<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">vqsub_qs8</a>(exp2x, const_one);</div>
24442<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">vqadd_qs8</a>(exp2x, const_one);</div>
24443<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">vqrecip_qs8</a>(den, fixed_point_position), fixed_point_position);</div>
24444<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;</div>
24445<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24446<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;}</div>
24447<div class="ttc" id="namespacearm__compute_xhtml_a5b1437029acce06690a938e09f5a762a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">arm_compute::vqsub_qs8</a></div><div class="ttdeci">qint8x8_t vqsub_qs8(qint8x8_t a, qint8x8_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00458">NEFixedPoint.inl:458</a></div></div>
24448<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00552">NEFixedPoint.inl:552</a></div></div>
24449<div class="ttc" id="namespacearm__compute_xhtml_a3e6537037711264ed5e8f33c8564c325"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">arm_compute::vqrecip_qs8</a></div><div class="ttdeci">qint8x8_t vqrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01129">NEFixedPoint.inl:1129</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024450<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024451<div class="ttc" id="namespacearm__compute_xhtml_a8a14fe5fc71105c9bfebb28a58f06a52"><div class="ttname"><a href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">arm_compute::vqadd_qs8</a></div><div class="ttdeci">qint8x8_t vqadd_qs8(qint8x8_t a, qint8x8_t b)</div><div class="ttdoc">8 bit fixed point vector saturating add (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00403">NEFixedPoint.inl:403</a></div></div>
24452<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
24453<div class="ttc" id="namespacearm__compute_xhtml_a635b41196d74b1f2c4d9ee9298444796"><div class="ttname"><a href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">arm_compute::vqexp_qs8</a></div><div class="ttdeci">qint8x8_t vqexp_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01441">NEFixedPoint.inl:1441</a></div></div>
24454</div><!-- fragment -->
24455</div>
24456</div>
24457<a class="anchor" id="ab9f9b779eb9bb6ecb730548a1e87da65"></a>
24458<div class="memitem">
24459<div class="memproto">
24460<table class="mlabels">
24461 <tr>
24462 <td class="mlabels-left">
24463 <table class="memname">
24464 <tr>
24465 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqtanhq_qs16 </td>
24466 <td>(</td>
24467 <td class="paramtype">qint16x8_t&#160;</td>
24468 <td class="paramname"><em>a</em>, </td>
24469 </tr>
24470 <tr>
24471 <td class="paramkey"></td>
24472 <td></td>
24473 <td class="paramtype">int&#160;</td>
24474 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24475 </tr>
24476 <tr>
24477 <td></td>
24478 <td>)</td>
24479 <td></td><td></td>
24480 </tr>
24481 </table>
24482 </td>
24483 <td class="mlabels-right">
24484<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24485 </tr>
24486</table>
24487</div><div class="memdoc">
24488
24489<p>Calculate hyperbolic tangent for fixed point 16bit (8 elements) </p>
24490<dl class="params"><dt>Parameters</dt><dd>
24491 <table class="params">
24492 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24493 <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>
24494 </table>
24495 </dd>
24496</dl>
24497<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
24498
24499<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01964">1964</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24500
24501<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00423">vqaddq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01519">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01264">vqrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00473">vqsubq_qs16()</a>.</p>
24502<div class="fragment"><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;{</div>
24503<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
24504<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 &lt;&lt; fixed_point_position);</div>
24505<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;</div>
24506<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24507<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(exp2x, const_one);</div>
24508<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">vqaddq_qs16</a>(exp2x, const_one);</div>
24509<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(den, fixed_point_position), fixed_point_position);</div>
24510<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;</div>
24511<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24512<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;}</div>
24513<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00473">NEFixedPoint.inl:473</a></div></div>
24514<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
24515<div class="ttc" id="namespacearm__compute_xhtml_a6a368d809128ff6bce989cda02c536d8"><div class="ttname"><a href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">arm_compute::vqrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vqrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01264">NEFixedPoint.inl:1264</a></div></div>
24516<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
24517<div class="ttc" id="namespacearm__compute_xhtml_a5b5e085002cf5a69fb80e6991d0a4556"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">arm_compute::vqexpq_qs16</a></div><div class="ttdeci">qint16x8_t vqexpq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01519">NEFixedPoint.inl:1519</a></div></div>
24518<div class="ttc" id="namespacearm__compute_xhtml_a9d88750b393cdfe6f5685107bb1d98f7"><div class="ttname"><a href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">arm_compute::vqaddq_qs16</a></div><div class="ttdeci">qint16x8_t vqaddq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating add (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00423">NEFixedPoint.inl:423</a></div></div>
24519<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
24520</div><!-- fragment -->
24521</div>
24522</div>
24523<a class="anchor" id="a81ea8bde4e35ce63e8e10708bae0caea"></a>
24524<div class="memitem">
24525<div class="memproto">
24526<table class="mlabels">
24527 <tr>
24528 <td class="mlabels-left">
24529 <table class="memname">
24530 <tr>
24531 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqtanhq_qs8 </td>
24532 <td>(</td>
24533 <td class="paramtype">qint8x16_t&#160;</td>
24534 <td class="paramname"><em>a</em>, </td>
24535 </tr>
24536 <tr>
24537 <td class="paramkey"></td>
24538 <td></td>
24539 <td class="paramtype">int&#160;</td>
24540 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24541 </tr>
24542 <tr>
24543 <td></td>
24544 <td>)</td>
24545 <td></td><td></td>
24546 </tr>
24547 </table>
24548 </td>
24549 <td class="mlabels-right">
24550<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24551 </tr>
24552</table>
24553</div><div class="memdoc">
24554
24555<p>Calculate hyperbolic tangent for fixed point 8bit (16 elements) </p>
24556<dl class="params"><dt>Parameters</dt><dd>
24557 <table class="params">
24558 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24559 <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>
24560 </table>
24561 </dd>
24562</dl>
24563<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
24564
24565<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01951">1951</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24566
24567<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00418">vqaddq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01493">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">vqmulq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01237">vqrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00468">vqsubq_qs8()</a>.</p>
24568<div class="fragment"><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;{</div>
24569<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
24570<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 &lt;&lt; fixed_point_position);</div>
24571<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;</div>
24572<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24573<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> num = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(exp2x, const_one);</div>
24574<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">vqaddq_qs8</a>(exp2x, const_one);</div>
24575<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">vqrecipq_qs8</a>(den, fixed_point_position), fixed_point_position);</div>
24576<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;</div>
24577<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24578<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;}</div>
24579<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
24580<div class="ttc" id="namespacearm__compute_xhtml_a9765c5ee2d3cc9e3ca983fd2f47ba916"><div class="ttname"><a href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">arm_compute::vqaddq_qs8</a></div><div class="ttdeci">qint8x16_t vqaddq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating add (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00418">NEFixedPoint.inl:418</a></div></div>
24581<div class="ttc" id="namespacearm__compute_xhtml_ae6cf1822b8fbad305677650a2b751247"><div class="ttname"><a href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">arm_compute::vqexpq_qs8</a></div><div class="ttdeci">qint8x16_t vqexpq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01493">NEFixedPoint.inl:1493</a></div></div>
24582<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00586">NEFixedPoint.inl:586</a></div></div>
24583<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
24584<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00468">NEFixedPoint.inl:468</a></div></div>
24585<div class="ttc" id="namespacearm__compute_xhtml_a3dd4382391c752128ab7b3a6dd68314b"><div class="ttname"><a href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">arm_compute::vqrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vqrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01237">NEFixedPoint.inl:1237</a></div></div>
24586</div><!-- fragment -->
24587</div>
24588</div>
24589<a class="anchor" id="af39bcc812b6e450e92622e0f30b37d92"></a>
24590<div class="memitem">
24591<div class="memproto">
24592<table class="mlabels">
24593 <tr>
24594 <td class="mlabels-left">
24595 <table class="memname">
24596 <tr>
24597 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqtaylor_poly_qs16 </td>
24598 <td>(</td>
24599 <td class="paramtype">qint16x4_t&#160;</td>
24600 <td class="paramname"><em>a</em>, </td>
24601 </tr>
24602 <tr>
24603 <td class="paramkey"></td>
24604 <td></td>
24605 <td class="paramtype">int&#160;</td>
24606 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24607 </tr>
24608 <tr>
24609 <td></td>
24610 <td>)</td>
24611 <td></td><td></td>
24612 </tr>
24613 </table>
24614 </td>
24615 <td class="mlabels-right">
24616<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24617 </tr>
24618</table>
24619</div><div class="memdoc">
24620
24621<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01362">1362</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24622
24623<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00569">vqmul_qs16()</a>.</p>
24624<div class="fragment"><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;{</div>
24625<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div>
24626<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div>
24627<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vqadd_s16(shift_value, const_one) : shift_value);</div>
24628<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div>
24629<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vqrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div>
24630<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vqrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div>
24631<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, D, fixed_point_position), C);</div>
24632<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x1, fixed_point_position), B);</div>
24633<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x2, fixed_point_position), A);</div>
24634<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x3, fixed_point_position);</div>
24635<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; <span class="keywordflow">return</span> res;</div>
24636<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;}</div>
24637<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>
24638<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00569">NEFixedPoint.inl:569</a></div></div>
24639<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>
24640<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
24641</div><!-- fragment -->
24642</div>
24643</div>
24644<a class="anchor" id="a3de0bc67f9a2ef3bcfe922e50c3b5ec9"></a>
24645<div class="memitem">
24646<div class="memproto">
24647<table class="mlabels">
24648 <tr>
24649 <td class="mlabels-left">
24650 <table class="memname">
24651 <tr>
24652 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqtaylor_poly_qs8 </td>
24653 <td>(</td>
24654 <td class="paramtype">qint8x8_t&#160;</td>
24655 <td class="paramname"><em>a</em>, </td>
24656 </tr>
24657 <tr>
24658 <td class="paramkey"></td>
24659 <td></td>
24660 <td class="paramtype">int&#160;</td>
24661 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24662 </tr>
24663 <tr>
24664 <td></td>
24665 <td>)</td>
24666 <td></td><td></td>
24667 </tr>
24668 </table>
24669 </td>
24670 <td class="mlabels-right">
24671<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24672 </tr>
24673</table>
24674</div><div class="memdoc">
24675
24676<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01346">1346</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24677
24678<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00552">vqmul_qs8()</a>.</p>
24679<div class="fragment"><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;{</div>
24680<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div>
24681<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div>
24682<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vqadd_s8(shift_value, const_one) : shift_value);</div>
24683<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div>
24684<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vqrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div>
24685<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vqrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div>
24686<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, D, fixed_point_position), C);</div>
24687<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x1, fixed_point_position), B);</div>
24688<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x2, fixed_point_position), A);</div>
24689<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x3, fixed_point_position);</div>
24690<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="keywordflow">return</span> res;</div>
24691<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;}</div>
24692<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>
24693<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>
24694<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00552">NEFixedPoint.inl:552</a></div></div>
24695<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
24696</div><!-- fragment -->
24697</div>
24698</div>
24699<a class="anchor" id="a080bc54b67bc7930ab173117baf1cd07"></a>
24700<div class="memitem">
24701<div class="memproto">
24702<table class="mlabels">
24703 <tr>
24704 <td class="mlabels-left">
24705 <table class="memname">
24706 <tr>
24707 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqtaylor_polyq_qs16 </td>
24708 <td>(</td>
24709 <td class="paramtype">qint16x8_t&#160;</td>
24710 <td class="paramname"><em>a</em>, </td>
24711 </tr>
24712 <tr>
24713 <td class="paramkey"></td>
24714 <td></td>
24715 <td class="paramtype">int&#160;</td>
24716 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24717 </tr>
24718 <tr>
24719 <td></td>
24720 <td>)</td>
24721 <td></td><td></td>
24722 </tr>
24723 </table>
24724 </td>
24725 <td class="mlabels-right">
24726<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24727 </tr>
24728</table>
24729</div><div class="memdoc">
24730
24731<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01426">1426</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24732
24733<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00606">vqmulq_qs16()</a>.</p>
24734<div class="fragment"><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;{</div>
24735<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div>
24736<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div>
24737<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vqaddq_s16(shift_value, const_one) : shift_value);</div>
24738<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div>
24739<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vqrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div>
24740<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vqrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div>
24741<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, D, fixed_point_position), C);</div>
24742<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x1, fixed_point_position), B);</div>
24743<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x2, fixed_point_position), A);</div>
24744<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x3, fixed_point_position);</div>
24745<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="keywordflow">return</span> res;</div>
24746<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;}</div>
24747<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>
24748<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>
24749<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00606">NEFixedPoint.inl:606</a></div></div>
24750<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024751</div><!-- fragment -->
24752</div>
24753</div>
24754<a class="anchor" id="aa754195778af2be8fd3c48192eb1e5b6"></a>
24755<div class="memitem">
24756<div class="memproto">
24757<table class="mlabels">
24758 <tr>
24759 <td class="mlabels-left">
24760 <table class="memname">
24761 <tr>
24762 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqtaylor_polyq_qs8 </td>
24763 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024764 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024765 <td class="paramname"><em>a</em>, </td>
24766 </tr>
24767 <tr>
24768 <td class="paramkey"></td>
24769 <td></td>
24770 <td class="paramtype">int&#160;</td>
24771 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24772 </tr>
24773 <tr>
24774 <td></td>
24775 <td>)</td>
24776 <td></td><td></td>
24777 </tr>
24778 </table>
24779 </td>
24780 <td class="mlabels-right">
24781<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24782 </tr>
24783</table>
24784</div><div class="memdoc">
24785
Kaizen8938bd32017-09-28 14:38:23 +010024786<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01410">1410</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024787
Kaizen8938bd32017-09-28 14:38:23 +010024788<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00586">vqmulq_qs8()</a>.</p>
24789<div class="fragment"><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;{</div>
24790<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div>
24791<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div>
24792<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vqaddq_s8(shift_value, const_one) : shift_value);</div>
24793<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div>
24794<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vqrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div>
24795<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vqrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div>
24796<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, D, fixed_point_position), C);</div>
24797<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x1, fixed_point_position), B);</div>
24798<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x2, fixed_point_position), A);</div>
24799<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x3, fixed_point_position);</div>
24800<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keywordflow">return</span> res;</div>
24801<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;}</div>
24802<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 Barbierdbdab852017-06-23 15:42:00 +010024803<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>
24804<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024805<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00586">NEFixedPoint.inl:586</a></div></div>
24806</div><!-- fragment -->
24807</div>
24808</div>
24809<a class="anchor" id="a8e14017f1276f4a4e14078d93ed692bd"></a>
24810<div class="memitem">
24811<div class="memproto">
24812<table class="mlabels">
24813 <tr>
24814 <td class="mlabels-left">
24815 <table class="memname">
24816 <tr>
24817 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vrecip_qs16 </td>
24818 <td>(</td>
24819 <td class="paramtype">qint16x4_t&#160;</td>
24820 <td class="paramname"><em>a</em>, </td>
24821 </tr>
24822 <tr>
24823 <td class="paramkey"></td>
24824 <td></td>
24825 <td class="paramtype">int&#160;</td>
24826 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24827 </tr>
24828 <tr>
24829 <td></td>
24830 <td>)</td>
24831 <td></td><td></td>
24832 </tr>
24833 </table>
24834 </td>
24835 <td class="mlabels-right">
24836<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24837 </tr>
24838</table>
24839</div><div class="memdoc">
24840
24841<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
24842<p>(4 elements)</p>
24843<dl class="params"><dt>Parameters</dt><dd>
24844 <table class="params">
24845 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24846 <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>
24847 </table>
24848 </dd>
24849</dl>
24850<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
24851
24852<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01102">1102</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
24853
24854<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00495">vmul_qs16()</a>.</p>
24855
24856<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01298">vdiv_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01584">vlog_qs16()</a>.</p>
24857<div class="fragment"><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;{</div>
24858<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
24859<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24860<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
24861<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
24862<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 &lt;&lt; fixed_point_position);</div>
24863<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div>
24864<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; <span class="comment">// Find shift value</span></div>
24865<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(8), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
24866<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vshl_s16(a, shift_value);</div>
24867<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;</div>
24868<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24869<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
24870<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;</div>
24871<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; uint16x4_t set_one = vcgt_s16(x, const_one);</div>
24872<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; x = vbsl_s16(set_one, const_one, x);</div>
24873<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;</div>
24874<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
24875<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24876<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24877<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24878<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24879<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;</div>
24880<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="keywordflow">return</span> vshl_s16(x, shift_value);</div>
24881<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;}</div>
24882<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00495">NEFixedPoint.inl:495</a></div></div>
24883<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024884</div><!-- fragment -->
24885</div>
24886</div>
24887<a class="anchor" id="aa24b270b0193ad8983dfecd6105c4936"></a>
24888<div class="memitem">
24889<div class="memproto">
24890<table class="mlabels">
24891 <tr>
24892 <td class="mlabels-left">
24893 <table class="memname">
24894 <tr>
24895 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vrecip_qs8 </td>
24896 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024897 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024898 <td class="paramname"><em>a</em>, </td>
24899 </tr>
24900 <tr>
24901 <td class="paramkey"></td>
24902 <td></td>
24903 <td class="paramtype">int&#160;</td>
24904 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24905 </tr>
24906 <tr>
24907 <td></td>
24908 <td>)</td>
24909 <td></td><td></td>
24910 </tr>
24911 </table>
24912 </td>
24913 <td class="mlabels-right">
24914<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24915 </tr>
24916</table>
24917</div><div class="memdoc">
24918
24919<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
24920<p>(8 elements)</p>
24921<dl class="params"><dt>Parameters</dt><dd>
24922 <table class="params">
24923 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24924 <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>
24925 </table>
24926 </dd>
24927</dl>
24928<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
24929
Kaizen8938bd32017-09-28 14:38:23 +010024930<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01076">1076</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024931
Kaizen8938bd32017-09-28 14:38:23 +010024932<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00478">vmul_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024933
Kaizen8938bd32017-09-28 14:38:23 +010024934<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01293">vdiv_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01545">vlog_qs8()</a>.</p>
24935<div class="fragment"><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;{</div>
24936<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
24937<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24938<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div>
24939<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
24940<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 &lt;&lt; fixed_point_position);</div>
24941<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;</div>
24942<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="comment">// Find shift value</span></div>
24943<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
24944<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vshl_s8(a, shift_value);</div>
24945<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;</div>
24946<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24947<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
24948<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;</div>
24949<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; uint8x8_t set_one = vcgt_s8(x, const_one);</div>
24950<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; x = vbsl_s8(set_one, const_one, x);</div>
24951<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;</div>
24952<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
24953<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24954<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24955<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24956<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;</div>
24957<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="keywordflow">return</span> vshl_s8(x, shift_value);</div>
24958<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;}</div>
24959<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00478">NEFixedPoint.inl:478</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024960<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
24961</div><!-- fragment -->
24962</div>
24963</div>
Kaizen8938bd32017-09-28 14:38:23 +010024964<a class="anchor" id="aea1b943c0452ea124c9f8ac0d1315bed"></a>
24965<div class="memitem">
24966<div class="memproto">
24967<table class="mlabels">
24968 <tr>
24969 <td class="mlabels-left">
24970 <table class="memname">
24971 <tr>
24972 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vrecipq_qs16 </td>
24973 <td>(</td>
24974 <td class="paramtype">qint16x8_t&#160;</td>
24975 <td class="paramname"><em>a</em>, </td>
24976 </tr>
24977 <tr>
24978 <td class="paramkey"></td>
24979 <td></td>
24980 <td class="paramtype">int&#160;</td>
24981 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24982 </tr>
24983 <tr>
24984 <td></td>
24985 <td>)</td>
24986 <td></td><td></td>
24987 </tr>
24988 </table>
24989 </td>
24990 <td class="mlabels-right">
24991<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24992 </tr>
24993</table>
24994</div><div class="memdoc">
24995
24996<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
24997<p>(8 elements)</p>
24998<dl class="params"><dt>Parameters</dt><dd>
24999 <table class="params">
25000 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25001 <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>
25002 </table>
25003 </dd>
25004</dl>
25005<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
25006
25007<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01209">1209</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25008
25009<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">vmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00453">vsubq_qs16()</a>.</p>
25010
25011<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01308">vdivq_qs16()</a>.</p>
25012<div class="fragment"><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;{</div>
25013<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
25014<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
25015<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
25016<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
25017<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 &lt;&lt; fixed_point_position);</div>
25018<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;</div>
25019<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; <span class="comment">// Find shift value</span></div>
25020<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
25021<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vshlq_s16(a, shift_value);</div>
25022<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;</div>
25023<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
25024<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">vsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
25025<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;</div>
25026<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
25027<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; uint16x8_t set_one = vcgtq_s16(x, const_one);</div>
25028<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; x = vbslq_s16(set_one, const_one, x);</div>
25029<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;</div>
25030<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
25031<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25032<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25033<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25034<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25035<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;</div>
25036<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; <span class="keywordflow">return</span> vshlq_s16(x, shift_value);</div>
25037<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;}</div>
25038<div class="ttc" id="namespacearm__compute_xhtml_a43569be4a403f390486148701b424e8a"><div class="ttname"><a href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">arm_compute::vsubq_qs16</a></div><div class="ttdeci">qint16x8_t vsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00453">NEFixedPoint.inl:453</a></div></div>
25039<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
25040<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00532">NEFixedPoint.inl:532</a></div></div>
25041</div><!-- fragment -->
25042</div>
25043</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025044<a class="anchor" id="abbeb1dc4834fb4e97cf94d702d0e0f91"></a>
25045<div class="memitem">
25046<div class="memproto">
25047<table class="mlabels">
25048 <tr>
25049 <td class="mlabels-left">
25050 <table class="memname">
25051 <tr>
25052 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vrecipq_qs8 </td>
25053 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025054 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025055 <td class="paramname"><em>a</em>, </td>
25056 </tr>
25057 <tr>
25058 <td class="paramkey"></td>
25059 <td></td>
25060 <td class="paramtype">int&#160;</td>
25061 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25062 </tr>
25063 <tr>
25064 <td></td>
25065 <td>)</td>
25066 <td></td><td></td>
25067 </tr>
25068 </table>
25069 </td>
25070 <td class="mlabels-right">
25071<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25072 </tr>
25073</table>
25074</div><div class="memdoc">
25075
25076<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25077<p>(16 elements)</p>
25078<dl class="params"><dt>Parameters</dt><dd>
25079 <table class="params">
25080 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25081 <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>
25082 </table>
25083 </dd>
25084</dl>
25085<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
25086
Kaizen8938bd32017-09-28 14:38:23 +010025087<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01182">1182</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025088
Kaizen8938bd32017-09-28 14:38:23 +010025089<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00512">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00448">vsubq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025090
Kaizen8938bd32017-09-28 14:38:23 +010025091<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01303">vdivq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01623">vlogq_qs8()</a>.</p>
25092<div class="fragment"><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;{</div>
25093<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
25094<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
25095<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div>
25096<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
25097<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 &lt;&lt; fixed_point_position);</div>
25098<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div>
25099<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; <span class="comment">// Find shift value</span></div>
25100<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
25101<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vshlq_s8(a, shift_value);</div>
25102<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;</div>
25103<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
25104<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">vsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
25105<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;</div>
25106<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
25107<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; uint8x16_t set_one = vcgtq_s8(x, const_one);</div>
25108<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; x = vbslq_s8(set_one, const_one, x);</div>
25109<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;</div>
25110<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
25111<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25112<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25113<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25114<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;</div>
25115<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; <span class="keywordflow">return</span> vshlq_s8(x, shift_value);</div>
25116<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;}</div>
25117<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
25118<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00512">NEFixedPoint.inl:512</a></div></div>
25119<div class="ttc" id="namespacearm__compute_xhtml_a1adda6690cbca8a996255e311e4762d4"><div class="ttname"><a href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">arm_compute::vsubq_qs8</a></div><div class="ttdeci">qint8x16_t vsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00448">NEFixedPoint.inl:448</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025120</div><!-- fragment -->
25121</div>
25122</div>
25123<a class="anchor" id="a1d54a1ef0078902b2334d2fddba74ca6"></a>
25124<div class="memitem">
25125<div class="memproto">
25126<table class="mlabels">
25127 <tr>
25128 <td class="mlabels-left">
25129 <table class="memname">
25130 <tr>
25131 <td class="memname">void vst1_qs16 </td>
25132 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025133 <td class="paramtype">qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025134 <td class="paramname"><em>addr</em>, </td>
25135 </tr>
25136 <tr>
25137 <td class="paramkey"></td>
25138 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025139 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025140 <td class="paramname"><em>b</em>&#160;</td>
25141 </tr>
25142 <tr>
25143 <td></td>
25144 <td>)</td>
25145 <td></td><td></td>
25146 </tr>
25147 </table>
25148 </td>
25149 <td class="mlabels-right">
25150<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25151 </tr>
25152</table>
25153</div><div class="memdoc">
25154
25155<p>Store a single 16 bit fixed point vector to memory (4 elements) </p>
25156<dl class="params"><dt>Parameters</dt><dd>
25157 <table class="params">
25158 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vector should be stored </td></tr>
25159 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
25160 </table>
25161 </dd>
25162</dl>
25163
Kaizen8938bd32017-09-28 14:38:23 +010025164<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25165<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div>
25166<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; vst1_s16(addr, b);</div>
25167<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div>
25168</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025169</div>
25170</div>
25171<a class="anchor" id="a509f3f9d910651d71d9f7dc3b5b3b92a"></a>
25172<div class="memitem">
25173<div class="memproto">
25174<table class="mlabels">
25175 <tr>
25176 <td class="mlabels-left">
25177 <table class="memname">
25178 <tr>
25179 <td class="memname">void vst1_qs8 </td>
25180 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025181 <td class="paramtype">qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025182 <td class="paramname"><em>addr</em>, </td>
25183 </tr>
25184 <tr>
25185 <td class="paramkey"></td>
25186 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025187 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025188 <td class="paramname"><em>b</em>&#160;</td>
25189 </tr>
25190 <tr>
25191 <td></td>
25192 <td>)</td>
25193 <td></td><td></td>
25194 </tr>
25195 </table>
25196 </td>
25197 <td class="mlabels-right">
25198<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25199 </tr>
25200</table>
25201</div><div class="memdoc">
25202
25203<p>Store a single 8 bit fixed point vector to memory (8 elements) </p>
25204<dl class="params"><dt>Parameters</dt><dd>
25205 <table class="params">
25206 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 8 bit fixed point vector should be stored </td></tr>
25207 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
25208 </table>
25209 </dd>
25210</dl>
25211
Kaizen8938bd32017-09-28 14:38:23 +010025212<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00197">197</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25213<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div>
25214<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; vst1_s8(addr, b);</div>
25215<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;}</div>
25216</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025217</div>
25218</div>
25219<a class="anchor" id="a8bb5f297efd64b941f5022ea3cd7ee9a"></a>
25220<div class="memitem">
25221<div class="memproto">
25222<table class="mlabels">
25223 <tr>
25224 <td class="mlabels-left">
25225 <table class="memname">
25226 <tr>
25227 <td class="memname">void vst1q_qs16 </td>
25228 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025229 <td class="paramtype">qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025230 <td class="paramname"><em>addr</em>, </td>
25231 </tr>
25232 <tr>
25233 <td class="paramkey"></td>
25234 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025235 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025236 <td class="paramname"><em>b</em>&#160;</td>
25237 </tr>
25238 <tr>
25239 <td></td>
25240 <td>)</td>
25241 <td></td><td></td>
25242 </tr>
25243 </table>
25244 </td>
25245 <td class="mlabels-right">
25246<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25247 </tr>
25248</table>
25249</div><div class="memdoc">
25250
Kaizen8938bd32017-09-28 14:38:23 +010025251<p>Store a single 16 bit fixed point vector to memory (8 elements) </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025252<dl class="params"><dt>Parameters</dt><dd>
25253 <table class="params">
25254 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vector should be stored </td></tr>
25255 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
25256 </table>
25257 </dd>
25258</dl>
25259
Kaizen8938bd32017-09-28 14:38:23 +010025260<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00212">212</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25261<div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;{</div>
25262<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; vst1q_s16(addr, b);</div>
25263<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
25264</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025265</div>
25266</div>
25267<a class="anchor" id="acf4cb0bc89b25c5fac96935d040207f6"></a>
25268<div class="memitem">
25269<div class="memproto">
25270<table class="mlabels">
25271 <tr>
25272 <td class="mlabels-left">
25273 <table class="memname">
25274 <tr>
25275 <td class="memname">void vst1q_qs8 </td>
25276 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025277 <td class="paramtype">qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025278 <td class="paramname"><em>addr</em>, </td>
25279 </tr>
25280 <tr>
25281 <td class="paramkey"></td>
25282 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025283 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025284 <td class="paramname"><em>b</em>&#160;</td>
25285 </tr>
25286 <tr>
25287 <td></td>
25288 <td>)</td>
25289 <td></td><td></td>
25290 </tr>
25291 </table>
25292 </td>
25293 <td class="mlabels-right">
25294<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25295 </tr>
25296</table>
25297</div><div class="memdoc">
25298
25299<p>Store a single 8 bit fixed point vector to memory (16 elements) </p>
25300<dl class="params"><dt>Parameters</dt><dd>
25301 <table class="params">
25302 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 8 bit fixed point vector should be stored </td></tr>
25303 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
25304 </table>
25305 </dd>
25306</dl>
25307
Kaizen8938bd32017-09-28 14:38:23 +010025308<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00207">207</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25309<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;{</div>
25310<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; vst1q_s8(addr, b);</div>
25311<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
25312</div><!-- fragment -->
25313</div>
25314</div>
25315<a class="anchor" id="a22c6d123d670e84d939d5b887976328d"></a>
25316<div class="memitem">
25317<div class="memproto">
25318<table class="mlabels">
25319 <tr>
25320 <td class="mlabels-left">
25321 <table class="memname">
25322 <tr>
25323 <td class="memname">void vst2q_qs16 </td>
25324 <td>(</td>
25325 <td class="paramtype">qint16_t *&#160;</td>
25326 <td class="paramname"><em>addr</em>, </td>
25327 </tr>
25328 <tr>
25329 <td class="paramkey"></td>
25330 <td></td>
25331 <td class="paramtype">qint16x8x2_t&#160;</td>
25332 <td class="paramname"><em>b</em>&#160;</td>
25333 </tr>
25334 <tr>
25335 <td></td>
25336 <td>)</td>
25337 <td></td><td></td>
25338 </tr>
25339 </table>
25340 </td>
25341 <td class="mlabels-right">
25342<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25343 </tr>
25344</table>
25345</div><div class="memdoc">
25346
25347<p>Store two 16 bit fixed point vector to memory (8x2 elements) </p>
25348<dl class="params"><dt>Parameters</dt><dd>
25349 <table class="params">
25350 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vectors should be stored </td></tr>
25351 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vectors to store </td></tr>
25352 </table>
25353 </dd>
25354</dl>
25355
25356<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00217">217</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25357<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;{</div>
25358<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; vst2q_s16(addr, b);</div>
25359<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;}</div>
25360</div><!-- fragment -->
25361</div>
25362</div>
25363<a class="anchor" id="a420a19dca7258dbae20af6d92dc62926"></a>
25364<div class="memitem">
25365<div class="memproto">
25366<table class="mlabels">
25367 <tr>
25368 <td class="mlabels-left">
25369 <table class="memname">
25370 <tr>
25371 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vsub_qs16 </td>
25372 <td>(</td>
25373 <td class="paramtype">qint16x4_t&#160;</td>
25374 <td class="paramname"><em>a</em>, </td>
25375 </tr>
25376 <tr>
25377 <td class="paramkey"></td>
25378 <td></td>
25379 <td class="paramtype">qint16x4_t&#160;</td>
25380 <td class="paramname"><em>b</em>&#160;</td>
25381 </tr>
25382 <tr>
25383 <td></td>
25384 <td>)</td>
25385 <td></td><td></td>
25386 </tr>
25387 </table>
25388 </td>
25389 <td class="mlabels-right">
25390<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25391 </tr>
25392</table>
25393</div><div class="memdoc">
25394
25395<p>16 bit fixed point vector subtraction (4 elements) </p>
25396<dl class="params"><dt>Parameters</dt><dd>
25397 <table class="params">
25398 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25399 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25400 </table>
25401 </dd>
25402</dl>
25403<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
25404
25405<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00443">443</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25406<div class="fragment"><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;{</div>
25407<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">return</span> vsub_s16(a, b);</div>
25408<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;}</div>
25409</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025410</div>
25411</div>
25412<a class="anchor" id="a90c8ce2712bdb44fd58e3fa8b78bf6fb"></a>
25413<div class="memitem">
25414<div class="memproto">
25415<table class="mlabels">
25416 <tr>
25417 <td class="mlabels-left">
25418 <table class="memname">
25419 <tr>
25420 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vsub_qs8 </td>
25421 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025422 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025423 <td class="paramname"><em>a</em>, </td>
25424 </tr>
25425 <tr>
25426 <td class="paramkey"></td>
25427 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025428 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025429 <td class="paramname"><em>b</em>&#160;</td>
25430 </tr>
25431 <tr>
25432 <td></td>
25433 <td>)</td>
25434 <td></td><td></td>
25435 </tr>
25436 </table>
25437 </td>
25438 <td class="mlabels-right">
25439<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25440 </tr>
25441</table>
25442</div><div class="memdoc">
25443
25444<p>8 bit fixed point vector subtraction (8 elements) </p>
25445<dl class="params"><dt>Parameters</dt><dd>
25446 <table class="params">
25447 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25448 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25449 </table>
25450 </dd>
25451</dl>
25452<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
25453
Kaizen8938bd32017-09-28 14:38:23 +010025454<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00438">438</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25455<div class="fragment"><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;{</div>
25456<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> vsub_s8(a, b);</div>
25457<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;}</div>
25458</div><!-- fragment -->
25459</div>
25460</div>
25461<a class="anchor" id="a43569be4a403f390486148701b424e8a"></a>
25462<div class="memitem">
25463<div class="memproto">
25464<table class="mlabels">
25465 <tr>
25466 <td class="mlabels-left">
25467 <table class="memname">
25468 <tr>
25469 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vsubq_qs16 </td>
25470 <td>(</td>
25471 <td class="paramtype">qint16x8_t&#160;</td>
25472 <td class="paramname"><em>a</em>, </td>
25473 </tr>
25474 <tr>
25475 <td class="paramkey"></td>
25476 <td></td>
25477 <td class="paramtype">qint16x8_t&#160;</td>
25478 <td class="paramname"><em>b</em>&#160;</td>
25479 </tr>
25480 <tr>
25481 <td></td>
25482 <td>)</td>
25483 <td></td><td></td>
25484 </tr>
25485 </table>
25486 </td>
25487 <td class="mlabels-right">
25488<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25489 </tr>
25490</table>
25491</div><div class="memdoc">
25492
25493<p>16 bit fixed point vector subtraction (8 elements) </p>
25494<dl class="params"><dt>Parameters</dt><dd>
25495 <table class="params">
25496 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25497 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25498 </table>
25499 </dd>
25500</dl>
25501<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
25502
25503<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00453">453</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25504
25505<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01209">vrecipq_qs16()</a>.</p>
25506<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;{</div>
25507<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> vsubq_s16(a, b);</div>
25508<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;}</div>
25509</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025510</div>
25511</div>
25512<a class="anchor" id="a1adda6690cbca8a996255e311e4762d4"></a>
25513<div class="memitem">
25514<div class="memproto">
25515<table class="mlabels">
25516 <tr>
25517 <td class="mlabels-left">
25518 <table class="memname">
25519 <tr>
25520 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vsubq_qs8 </td>
25521 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025522 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025523 <td class="paramname"><em>a</em>, </td>
25524 </tr>
25525 <tr>
25526 <td class="paramkey"></td>
25527 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025528 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025529 <td class="paramname"><em>b</em>&#160;</td>
25530 </tr>
25531 <tr>
25532 <td></td>
25533 <td>)</td>
25534 <td></td><td></td>
25535 </tr>
25536 </table>
25537 </td>
25538 <td class="mlabels-right">
25539<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25540 </tr>
25541</table>
25542</div><div class="memdoc">
25543
25544<p>8 bit fixed point vector subtraction (16 elements) </p>
25545<dl class="params"><dt>Parameters</dt><dd>
25546 <table class="params">
25547 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25548 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25549 </table>
25550 </dd>
25551</dl>
25552<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
25553
Kaizen8938bd32017-09-28 14:38:23 +010025554<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00448">448</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025555
Kaizen8938bd32017-09-28 14:38:23 +010025556<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01182">vrecipq_qs8()</a>.</p>
25557<div class="fragment"><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;{</div>
25558<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span> vsubq_s8(a, b);</div>
25559<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;}</div>
25560</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025561</div>
25562</div>
Kaizen8938bd32017-09-28 14:38:23 +010025563<a class="anchor" id="a841e85dc31bee3fa3f1855eabf895325"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025564<div class="memitem">
25565<div class="memproto">
25566<table class="mlabels">
25567 <tr>
25568 <td class="mlabels-left">
25569 <table class="memname">
25570 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010025571 <td class="memname">float16x8_t vtanhq_f16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025572 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025573 <td class="paramtype">float16x8_t&#160;</td>
25574 <td class="paramname"><em>val</em></td><td>)</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025575 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025576 </tr>
25577 </table>
25578 </td>
25579 <td class="mlabels-right">
25580<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25581 </tr>
25582</table>
25583</div><div class="memdoc">
25584
Kaizen8938bd32017-09-28 14:38:23 +010025585<p>Calculate hyperbolic tangent. </p>
25586<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
25587<dl class="section note"><dt>Note</dt><dd>We clamp x to [-5,5] to avoid overflowing issues.</dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025588<dl class="params"><dt>Parameters</dt><dd>
25589 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010025590 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025591 </table>
25592 </dd>
25593</dl>
25594<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25595
Kaizen8938bd32017-09-28 14:38:23 +010025596<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">234</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025597
Kaizen8938bd32017-09-28 14:38:23 +010025598<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00226">vinvq_f16()</a>.</p>
25599<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;{</div>
25600<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keyword">const</span> float16x8_t CONST_1 = vdupq_n_f16(1.f);</div>
25601<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keyword">const</span> float16x8_t CONST_2 = vdupq_n_f16(2.f);</div>
25602<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keyword">const</span> float16x8_t CONST_MIN_TANH = vdupq_n_f16(-10.f);</div>
25603<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">const</span> float16x8_t CONST_MAX_TANH = vdupq_n_f16(10.f);</div>
25604<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div>
25605<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keyword">const</span> float16x8_t x = vminq_f16(vmaxq_f16(val, CONST_MIN_TANH), CONST_MAX_TANH);</div>
25606<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">const</span> float16x8_t exp2x = <a class="code" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a>(vmulq_f16(CONST_2, x));</div>
25607<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">const</span> float16x8_t num = vsubq_f16(exp2x, CONST_1);</div>
25608<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">const</span> float16x8_t den = vaddq_f16(exp2x, CONST_1);</div>
25609<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f16(num, <a class="code" href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">vinvq_f16</a>(den));</div>
25610<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
25611<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</div>
25612<div class="ttc" id="namespacearm__compute_xhtml_a829992d2c673006879696821024df5b7"><div class="ttname"><a href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">arm_compute::vexpq_f16</a></div><div class="ttdeci">float16x8_t vexpq_f16(float16x8_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00261">NEMath.inl:261</a></div></div>
25613<div class="ttc" id="namespacearm__compute_xhtml_a5ccd23ffe952767d73334cabcdbff246"><div class="ttname"><a href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">arm_compute::vinvq_f16</a></div><div class="ttdeci">float16x8_t vinvq_f16(float16x8_t x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00226">NEMath.inl:226</a></div></div>
25614<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025615</div><!-- fragment -->
25616</div>
25617</div>
25618<a class="anchor" id="a7845701adefdb1adafc98ca3c4918c2e"></a>
25619<div class="memitem">
25620<div class="memproto">
25621<table class="mlabels">
25622 <tr>
25623 <td class="mlabels-left">
25624 <table class="memname">
25625 <tr>
25626 <td class="memname">float32x4_t vtanhq_f32 </td>
25627 <td>(</td>
25628 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025629 <td class="paramname"><em>val</em></td><td>)</td>
25630 <td></td>
25631 </tr>
25632 </table>
25633 </td>
25634 <td class="mlabels-right">
25635<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25636 </tr>
25637</table>
25638</div><div class="memdoc">
25639
25640<p>Calculate hyperbolic tangent. </p>
25641<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
Anthony Barbier46d59272017-05-04 09:15:15 +010025642<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 +000025643<dl class="params"><dt>Parameters</dt><dd>
25644 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025645 <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 +000025646 </table>
25647 </dd>
25648</dl>
25649<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25650
Kaizen8938bd32017-09-28 14:38:23 +010025651<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">152</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000025652
Kaizen8938bd32017-09-28 14:38:23 +010025653<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00093">vinvq_f32()</a>.</p>
25654<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div>
25655<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div>
25656<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f);</div>
25657<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MIN_TANH = vdupq_n_f32(-10.f);</div>
25658<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MAX_TANH = vdupq_n_f32(10.f);</div>
25659<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
25660<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; float32x4_t x = vminq_f32(vmaxq_f32(val, CONST_MIN_TANH), CONST_MAX_TANH);</div>
25661<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(CONST_2, x));</div>
25662<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; float32x4_t num = vsubq_f32(exp2x, CONST_1);</div>
25663<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; float32x4_t den = vaddq_f32(exp2x, CONST_1);</div>
25664<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; float32x4_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a>(den));</div>
25665<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
25666<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
25667<div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
25668<div class="ttc" id="namespacearm__compute_xhtml_ac8f459d5899b79c00fb4042a5b3470fb"><div class="ttname"><a href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">arm_compute::vinvq_f32</a></div><div class="ttdeci">float32x4_t vinvq_f32(float32x4_t x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00093">NEMath.inl:93</a></div></div>
25669<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000025670</div><!-- fragment -->
25671</div>
25672</div>
Kaizen8938bd32017-09-28 14:38:23 +010025673<a class="anchor" id="ab6470f57e0d7659ea7823f13bb89724f"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000025674<div class="memitem">
25675<div class="memproto">
25676<table class="mlabels">
25677 <tr>
25678 <td class="mlabels-left">
25679 <table class="memname">
25680 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010025681 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vtaylor_poly_qs16 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025682 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025683 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025684 <td class="paramname"><em>a</em>, </td>
25685 </tr>
25686 <tr>
25687 <td class="paramkey"></td>
25688 <td></td>
25689 <td class="paramtype">int&#160;</td>
25690 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25691 </tr>
25692 <tr>
25693 <td></td>
25694 <td>)</td>
25695 <td></td><td></td>
25696 </tr>
25697 </table>
25698 </td>
25699 <td class="mlabels-right">
25700<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25701 </tr>
25702</table>
25703</div><div class="memdoc">
25704
Kaizen8938bd32017-09-28 14:38:23 +010025705<p>Perform a 4th degree polynomial approximation. </p>
25706<p>(4 elements)</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025707<dl class="params"><dt>Parameters</dt><dd>
25708 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010025709 <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 +010025710 <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>
25711 </table>
25712 </dd>
25713</dl>
Kaizen8938bd32017-09-28 14:38:23 +010025714<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 +010025715
Kaizen8938bd32017-09-28 14:38:23 +010025716<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01330">1330</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025717
Kaizen8938bd32017-09-28 14:38:23 +010025718<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00495">vmul_qs16()</a>.</p>
25719<div class="fragment"><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;{</div>
25720<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div>
25721<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div>
25722<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vadd_s16(shift_value, const_one) : shift_value);</div>
25723<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div>
25724<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div>
25725<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div>
25726<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, D, fixed_point_position), C);</div>
25727<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x1, fixed_point_position), B);</div>
25728<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x2, fixed_point_position), A);</div>
25729<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x3, fixed_point_position);</div>
25730<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <span class="keywordflow">return</span> res;</div>
25731<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;}</div>
25732<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>
25733<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>
25734<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00495">NEFixedPoint.inl:495</a></div></div>
25735<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025736</div><!-- fragment -->
25737</div>
25738</div>
25739<a class="anchor" id="a91b74be928419cd95068ccc9c6f1cd83"></a>
25740<div class="memitem">
25741<div class="memproto">
25742<table class="mlabels">
25743 <tr>
25744 <td class="mlabels-left">
25745 <table class="memname">
25746 <tr>
25747 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vtaylor_poly_qs8 </td>
25748 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025749 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025750 <td class="paramname"><em>a</em>, </td>
25751 </tr>
25752 <tr>
25753 <td class="paramkey"></td>
25754 <td></td>
25755 <td class="paramtype">int&#160;</td>
25756 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25757 </tr>
25758 <tr>
25759 <td></td>
25760 <td>)</td>
25761 <td></td><td></td>
25762 </tr>
25763 </table>
25764 </td>
25765 <td class="mlabels-right">
25766<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25767 </tr>
25768</table>
25769</div><div class="memdoc">
25770
25771<p>Perform a 4th degree polynomial approximation. </p>
25772<p>(8 elements)</p>
25773<dl class="params"><dt>Parameters</dt><dd>
25774 <table class="params">
25775 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25776 <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>
25777 </table>
25778 </dd>
25779</dl>
25780<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
25781
Kaizen8938bd32017-09-28 14:38:23 +010025782<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01314">1314</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025783
Kaizen8938bd32017-09-28 14:38:23 +010025784<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00478">vmul_qs8()</a>.</p>
25785<div class="fragment"><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;{</div>
25786<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div>
25787<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div>
25788<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vadd_s8(shift_value, const_one) : shift_value);</div>
25789<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div>
25790<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div>
25791<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div>
25792<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, D, fixed_point_position), C);</div>
25793<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x1, fixed_point_position), B);</div>
25794<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x2, fixed_point_position), A);</div>
25795<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x3, fixed_point_position);</div>
25796<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <span class="keywordflow">return</span> res;</div>
25797<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;}</div>
25798<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 Barbierdbdab852017-06-23 15:42:00 +010025799<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 +010025800<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00478">NEFixedPoint.inl:478</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025801<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025802</div><!-- fragment -->
25803</div>
25804</div>
25805<a class="anchor" id="afaad64bc527ee67d3374b67610a34a13"></a>
25806<div class="memitem">
25807<div class="memproto">
25808<table class="mlabels">
25809 <tr>
25810 <td class="mlabels-left">
25811 <table class="memname">
25812 <tr>
25813 <td class="memname">float16x8_t arm_compute::vtaylor_polyq_f16 </td>
25814 <td>(</td>
25815 <td class="paramtype">float16x8_t&#160;</td>
25816 <td class="paramname"><em>x</em>, </td>
25817 </tr>
25818 <tr>
25819 <td class="paramkey"></td>
25820 <td></td>
25821 <td class="paramtype">const std::array&lt; float16x8_t, 8 &gt; &amp;&#160;</td>
25822 <td class="paramname"><em>coeffs</em>&#160;</td>
25823 </tr>
25824 <tr>
25825 <td></td>
25826 <td>)</td>
25827 <td></td><td></td>
25828 </tr>
25829 </table>
25830 </td>
25831 <td class="mlabels-right">
25832<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25833 </tr>
25834</table>
25835</div><div class="memdoc">
25836
25837<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">249</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
25838
25839<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
25840
25841<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
25842<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;{</div>
25843<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vaddq_f16(coeffs[0], vmulq_f16(coeffs[4], x));</div>
25844<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vaddq_f16(coeffs[2], vmulq_f16(coeffs[6], x));</div>
25845<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">const</span> float16x8_t C = vaddq_f16(coeffs[1], vmulq_f16(coeffs[5], x));</div>
25846<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">const</span> float16x8_t D = vaddq_f16(coeffs[3], vmulq_f16(coeffs[7], x));</div>
25847<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keyword">const</span> float16x8_t x2 = vmulq_f16(x, x);</div>
25848<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">const</span> float16x8_t x4 = vmulq_f16(x2, x2);</div>
25849<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">const</span> float16x8_t res = vaddq_f16(vaddq_f16(A, vmulq_f16(B, x2)), vmulq_f16(vaddq_f16(C, vmulq_f16(D, x2)), x4));</div>
25850<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> res;</div>
25851<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
25852<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>
25853<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025854</div><!-- fragment -->
25855</div>
25856</div>
25857<a class="anchor" id="a4fa76a98dce5ed1b655ff840f2ce6e57"></a>
25858<div class="memitem">
25859<div class="memproto">
25860<table class="mlabels">
25861 <tr>
25862 <td class="mlabels-left">
25863 <table class="memname">
25864 <tr>
25865 <td class="memname">float32x4_t vtaylor_polyq_f32 </td>
25866 <td>(</td>
25867 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025868 <td class="paramname"><em>x</em>, </td>
25869 </tr>
25870 <tr>
25871 <td class="paramkey"></td>
25872 <td></td>
25873 <td class="paramtype">const std::array&lt; float32x4_t, 8 &gt; &amp;&#160;</td>
25874 <td class="paramname"><em>coeffs</em>&#160;</td>
25875 </tr>
25876 <tr>
25877 <td></td>
25878 <td>)</td>
25879 <td></td><td></td>
25880 </tr>
25881 </table>
25882 </td>
25883 <td class="mlabels-right">
25884<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25885 </tr>
25886</table>
25887</div><div class="memdoc">
25888
25889<p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
25890<dl class="params"><dt>Parameters</dt><dd>
25891 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010025892 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
25893 <tr><td class="paramdir">[in]</td><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000025894 </table>
25895 </dd>
25896</dl>
25897<dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
25898
Kaizen8938bd32017-09-28 14:38:23 +010025899<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">101</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000025900
25901<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
25902
Kaizen8938bd32017-09-28 14:38:23 +010025903<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
25904<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;{</div>
25905<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vmlaq_f32(coeffs[0], coeffs[4], x);</div>
25906<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vmlaq_f32(coeffs[2], coeffs[6], x);</div>
25907<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div>
25908<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div>
25909<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; float32x4_t x2 = vmulq_f32(x, x);</div>
25910<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; float32x4_t x4 = vmulq_f32(x2, x2);</div>
25911<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; float32x4_t res = vmlaq_f32(vmlaq_f32(A, B, x2), vmlaq_f32(C, D, x2), x4);</div>
25912<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> res;</div>
25913<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
25914<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 +000025915<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>
25916</div><!-- fragment -->
25917</div>
25918</div>
Kaizen8938bd32017-09-28 14:38:23 +010025919<a class="anchor" id="ac26478d3b59cae5c3efa4bf3819002fa"></a>
25920<div class="memitem">
25921<div class="memproto">
25922<table class="mlabels">
25923 <tr>
25924 <td class="mlabels-left">
25925 <table class="memname">
25926 <tr>
25927 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vtaylor_polyq_qs16 </td>
25928 <td>(</td>
25929 <td class="paramtype">qint16x8_t&#160;</td>
25930 <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>
25944 </td>
25945 <td class="mlabels-right">
25946<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25947 </tr>
25948</table>
25949</div><div class="memdoc">
25950
25951<p>Perform a 4th degree polynomial approximation. </p>
25952<p>(8 elements)</p>
25953<dl class="params"><dt>Parameters</dt><dd>
25954 <table class="params">
25955 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25956 <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>
25957 </table>
25958 </dd>
25959</dl>
25960<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
25961
25962<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01394">1394</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25963
25964<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00532">vmulq_qs16()</a>.</p>
25965<div class="fragment"><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;{</div>
25966<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div>
25967<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div>
25968<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vaddq_s16(shift_value, const_one) : shift_value);</div>
25969<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div>
25970<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div>
25971<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div>
25972<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, D, fixed_point_position), C);</div>
25973<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x1, fixed_point_position), B);</div>
25974<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x2, fixed_point_position), A);</div>
25975<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x3, fixed_point_position);</div>
25976<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keywordflow">return</span> res;</div>
25977<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;}</div>
25978<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>
25979<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>
25980<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
25981<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00532">NEFixedPoint.inl:532</a></div></div>
25982</div><!-- fragment -->
25983</div>
25984</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025985<a class="anchor" id="a9b9a80aab8862e344ef91591a0e6e199"></a>
25986<div class="memitem">
25987<div class="memproto">
25988<table class="mlabels">
25989 <tr>
25990 <td class="mlabels-left">
25991 <table class="memname">
25992 <tr>
25993 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vtaylor_polyq_qs8 </td>
25994 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025995 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025996 <td class="paramname"><em>a</em>, </td>
25997 </tr>
25998 <tr>
25999 <td class="paramkey"></td>
26000 <td></td>
26001 <td class="paramtype">int&#160;</td>
26002 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
26003 </tr>
26004 <tr>
26005 <td></td>
26006 <td>)</td>
26007 <td></td><td></td>
26008 </tr>
26009 </table>
26010 </td>
26011 <td class="mlabels-right">
26012<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26013 </tr>
26014</table>
26015</div><div class="memdoc">
26016
26017<p>Perform a 4th degree polynomial approximation. </p>
26018<p>(16 elements)</p>
26019<dl class="params"><dt>Parameters</dt><dd>
26020 <table class="params">
26021 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
26022 <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>
26023 </table>
26024 </dd>
26025</dl>
26026<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
26027
Kaizen8938bd32017-09-28 14:38:23 +010026028<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01378">1378</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026029
Kaizen8938bd32017-09-28 14:38:23 +010026030<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00512">vmulq_qs8()</a>.</p>
26031<div class="fragment"><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;{</div>
26032<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div>
26033<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div>
26034<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vaddq_s8(shift_value, const_one) : shift_value);</div>
26035<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div>
26036<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div>
26037<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div>
26038<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, D, fixed_point_position), C);</div>
26039<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x1, fixed_point_position), B);</div>
26040<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x2, fixed_point_position), A);</div>
26041<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x3, fixed_point_position);</div>
26042<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; <span class="keywordflow">return</span> res;</div>
26043<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;}</div>
26044<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 Barbierdbdab852017-06-23 15:42:00 +010026045<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>
26046<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010026047<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00512">NEFixedPoint.inl:512</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026048</div><!-- fragment -->
26049</div>
26050</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000026051<h2 class="groupheader">Variable Documentation</h2>
26052<a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
26053<div class="memitem">
26054<div class="memproto">
26055 <table class="memname">
26056 <tr>
26057 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
26058 </tr>
26059 </table>
26060</div><div class="memdoc">
26061
26062<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>
26063
Kaizen8938bd32017-09-28 14:38:23 +010026064<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00085">85</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 +000026065
26066</div>
26067</div>
26068<a class="anchor" id="a869945609357fa552d94eb16f7aad4e9"></a>
26069<div class="memitem">
26070<div class="memproto">
26071 <table class="memname">
26072 <tr>
26073 <td class="memname">const std::array&lt;float32x4_t, 8&gt; exp_tab</td>
26074 </tr>
26075 </table>
26076</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026077<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26078<div class="line">{</div>
26079<div class="line"> {</div>
26080<div class="line"> vdupq_n_f32(1.f),</div>
26081<div class="line"> vdupq_n_f32(0.0416598916054f),</div>
26082<div class="line"> vdupq_n_f32(0.500000596046f),</div>
26083<div class="line"> vdupq_n_f32(0.0014122662833f),</div>
26084<div class="line"> vdupq_n_f32(1.00000011921f),</div>
26085<div class="line"> vdupq_n_f32(0.00833693705499f),</div>
26086<div class="line"> vdupq_n_f32(0.166665703058f),</div>
26087<div class="line"> vdupq_n_f32(0.000195780929062f),</div>
26088<div class="line"> }</div>
26089<div class="line">}</div>
26090</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010026091<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>
26092
Kaizen8938bd32017-09-28 14:38:23 +010026093<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>.</p>
26094
Anthony Barbierdbdab852017-06-23 15:42:00 +010026095</div>
26096</div>
Kaizen8938bd32017-09-28 14:38:23 +010026097<a class="anchor" id="a2260e62edc9c3e04a06e8016136b10b1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026098<div class="memitem">
26099<div class="memproto">
26100 <table class="memname">
26101 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010026102 <td class="memname">const std::array&lt;float16x8_t, 8&gt; exp_tab_f16</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026103 </tr>
26104 </table>
26105</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026106<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26107<div class="line">{</div>
26108<div class="line"> {</div>
26109<div class="line"> vdupq_n_f16(1.f),</div>
26110<div class="line"> vdupq_n_f16(0.0416598916054f),</div>
26111<div class="line"> vdupq_n_f16(0.500000596046f),</div>
26112<div class="line"> vdupq_n_f16(0.0014122662833f),</div>
26113<div class="line"> vdupq_n_f16(1.00000011921f),</div>
26114<div class="line"> vdupq_n_f16(0.00833693705499f),</div>
26115<div class="line"> vdupq_n_f16(0.166665703058f),</div>
26116<div class="line"> vdupq_n_f16(0.000195780929062f),</div>
26117<div class="line"> }</div>
26118<div class="line">}</div>
26119</div><!-- fragment -->
26120<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026121
Kaizen8938bd32017-09-28 14:38:23 +010026122<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026123
26124</div>
26125</div>
26126<a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
26127<div class="memitem">
26128<div class="memproto">
26129 <table class="memname">
26130 <tr>
26131 <td class="memname">const std::array&lt;float32x4_t, 8&gt; log_tab</td>
26132 </tr>
26133 </table>
26134</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026135<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26136<div class="line">{</div>
26137<div class="line"> {</div>
26138<div class="line"> vdupq_n_f32(-2.29561495781f),</div>
26139<div class="line"> vdupq_n_f32(-2.47071170807f),</div>
26140<div class="line"> vdupq_n_f32(-5.68692588806f),</div>
26141<div class="line"> vdupq_n_f32(-0.165253549814f),</div>
26142<div class="line"> vdupq_n_f32(5.17591238022f),</div>
26143<div class="line"> vdupq_n_f32(0.844007015228f),</div>
26144<div class="line"> vdupq_n_f32(4.58445882797f),</div>
26145<div class="line"> vdupq_n_f32(0.0141278216615f),</div>
26146<div class="line"> }</div>
26147<div class="line">}</div>
26148</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010026149<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>
26150
Kaizen8938bd32017-09-28 14:38:23 +010026151<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
26152
Anthony Barbierdbdab852017-06-23 15:42:00 +010026153</div>
26154</div>
Kaizen8938bd32017-09-28 14:38:23 +010026155<a class="anchor" id="a0a8b2a577b2f9370e7b1c4735f007be1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026156<div class="memitem">
26157<div class="memproto">
26158 <table class="memname">
26159 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010026160 <td class="memname">const std::array&lt;float16x8_t, 8&gt; log_tab_f16</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026161 </tr>
26162 </table>
26163</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026164<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26165<div class="line">{</div>
26166<div class="line"> {</div>
26167<div class="line"> vdupq_n_f16(-2.29561495781f),</div>
26168<div class="line"> vdupq_n_f16(-2.47071170807f),</div>
26169<div class="line"> vdupq_n_f16(-5.68692588806f),</div>
26170<div class="line"> vdupq_n_f16(-0.165253549814f),</div>
26171<div class="line"> vdupq_n_f16(5.17591238022f),</div>
26172<div class="line"> vdupq_n_f16(0.844007015228f),</div>
26173<div class="line"> vdupq_n_f16(4.58445882797f),</div>
26174<div class="line"> vdupq_n_f16(0.0141278216615f),</div>
26175<div class="line"> }</div>
26176<div class="line">}</div>
26177</div><!-- fragment -->
26178<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026179
Kaizen8938bd32017-09-28 14:38:23 +010026180<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026181
26182</div>
26183</div>
26184<a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
26185<div class="memitem">
26186<div class="memproto">
26187 <table class="memname">
26188 <tr>
26189 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
26190 </tr>
26191 </table>
26192</div><div class="memdoc">
26193
26194<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>
26195
26196</div>
26197</div>
26198<a class="anchor" id="af9876aedd664cac0ddeacddb40cb71cd"></a>
26199<div class="memitem">
26200<div class="memproto">
26201 <table class="memname">
26202 <tr>
26203 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
26204 </tr>
26205 </table>
26206</div><div class="memdoc">
26207
Kaizen8938bd32017-09-28 14:38:23 +010026208<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00088">88</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 +000026209
26210</div>
26211</div>
26212<a class="anchor" id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
26213<div class="memitem">
26214<div class="memproto">
26215 <table class="memname">
26216 <tr>
26217 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
26218 </tr>
26219 </table>
26220</div><div class="memdoc">
26221
Kaizen8938bd32017-09-28 14:38:23 +010026222<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00091">91</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026223
26224</div>
26225</div>
26226</div><!-- contents -->
26227</div><!-- doc-content -->
26228<!-- start footer part -->
26229<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
26230 <ul>
26231 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
Kaizen8938bd32017-09-28 14:38:23 +010026232 <li class="footer">Generated on Thu Sep 28 2017 14:37:55 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +000026233 <a href="http://www.doxygen.org/index.html">
Kaizen8938bd32017-09-28 14:38:23 +010026234 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +000026235 </ul>
26236</div>
26237</body>
26238</html>