blob: 041b89c777f90cb907cdb27d272aebe730ae34da [file] [log] [blame]
Anthony Barbier871448e2017-03-24 14:54:29 +00001<!-- HTML header for doxygen 1.8.9.1-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007<meta name="generator" content="Doxygen 1.8.11"/>
Anthony Barbier871448e2017-03-24 14:54:29 +00008<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01009<title>Compute Library: src/core/CL/cl_kernels/helpers.h File Reference</title>
Anthony Barbier871448e2017-03-24 14:54:29 +000010<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015<script type="text/javascript" src="navtreedata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000016<script type="text/javascript" src="navtree.js"></script>
17<script type="text/javascript">
18 $(document).ready(initResizable);
19 $(window).load(resizeHeight);
20</script>
21<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022<script type="text/javascript" src="search/searchdata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000023<script type="text/javascript" src="search/search.js"></script>
24<script type="text/javascript">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025 $(document).ready(function() { init_search(); });
Anthony Barbier871448e2017-03-24 14:54:29 +000026</script>
27<script type="text/x-mathjax-config">
28 MathJax.Hub.Config({
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
31});
Anthony Barbier8140e1e2017-12-14 23:48:46 +000032</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000033<link href="doxygen.css" rel="stylesheet" type="text/css" />
34</head>
35<body>
36<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37<div id="titlearea">
38<table cellspacing="0" cellpadding="0">
39 <tbody>
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010042 <div id="projectname">Compute Library
Anthony Barbierf45d5a92018-01-24 16:23:15 +000043 &#160;<span id="projectnumber">18.01</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000044 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000051<!-- Generated by Doxygen 1.8.11 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000052<script type="text/javascript">
53var searchBox = new SearchBox("searchBox", "search",false,'Search');
54</script>
55 <div id="navrow1" class="tabs">
56 <ul class="tablist">
57 <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
Anthony Barbierdbdab852017-06-23 15:42:00 +010058 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000059 <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61 <li class="current"><a href="files.xhtml"><span>Files</span></a></li>
62 <li>
63 <div id="MSearchBox" class="MSearchBoxInactive">
64 <span class="left">
65 <img id="MSearchSelect" src="search/mag_sel.png"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 alt=""/>
69 <input type="text" id="MSearchField" value="Search" accesskey="S"
70 onfocus="searchBox.OnSearchFieldFocus(true)"
71 onblur="searchBox.OnSearchFieldFocus(false)"
72 onkeyup="searchBox.OnSearchFieldChange(event)"/>
73 </span><span class="right">
74 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75 </span>
76 </div>
77 </li>
78 </ul>
79 </div>
80 <div id="navrow2" class="tabs2">
81 <ul class="tablist">
82 <li><a href="files.xhtml"><span>File&#160;List</span></a></li>
83 <li><a href="globals.xhtml"><span>Globals</span></a></li>
84 </ul>
85 </div>
86</div><!-- top -->
87<div id="side-nav" class="ui-resizable side-nav-resizable">
88 <div id="nav-tree">
89 <div id="nav-tree-contents">
90 <div id="nav-sync" class="sync"></div>
91 </div>
92 </div>
93 <div id="splitbar" style="-moz-user-select:none;"
94 class="ui-resizable-handle">
95 </div>
96</div>
97<script type="text/javascript">
98$(document).ready(function(){initNavTree('helpers_8h.xhtml','');});
99</script>
100<div id="doc-content">
101<!-- window showing the filter options -->
102<div id="MSearchSelectWindow"
103 onmouseover="return searchBox.OnSearchSelectShow()"
104 onmouseout="return searchBox.OnSearchSelectHide()"
105 onkeydown="return searchBox.OnSearchSelectKey(event)">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000106</div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000107
108<!-- iframe showing the search results (closed by default) -->
109<div id="MSearchResultsWindow">
110<iframe src="javascript:void(0)" frameborder="0"
111 name="MSearchResults" id="MSearchResults">
112</iframe>
113</div>
114
115<div class="header">
116 <div class="summary">
117<a href="#nested-classes">Data Structures</a> &#124;
118<a href="#define-members">Macros</a> &#124;
119<a href="#typedef-members">Typedefs</a> &#124;
120<a href="#func-members">Functions</a> </div>
121 <div class="headertitle">
122<div class="title">helpers.h File Reference</div> </div>
123</div><!--header-->
124<div class="contents">
125
126<p><a href="helpers_8h_source.xhtml">Go to the source code of this file.</a></p>
127<table class="memberdecls">
128<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
129Data Structures</h2></td></tr>
130<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vector.xhtml">Vector</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000131<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. <a href="struct_vector.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000132<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_image.xhtml">Image</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000134<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. <a href="struct_image.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000135<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000137<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 3D tensor information. <a href="struct_tensor3_d.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000139<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a></td></tr>
140<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 4D tensor information. <a href="struct_tensor4_d.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000141<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
142</table><table class="memberdecls">
143<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
144Macros</h2></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100145<tr class="memitem:ae4b532a93c757194ec73b6790a3e6b1f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#ae4b532a93c757194ec73b6790a3e6b1f">EXPAND</a>(x)&#160;&#160;&#160;x</td></tr>
146<tr class="separator:ae4b532a93c757194ec73b6790a3e6b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000147<tr class="memitem:aabdbe431f2713c5c2604cb9872b66aab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aabdbe431f2713c5c2604cb9872b66aab">CLAMP</a>(x, min_val, max_val)&#160;&#160;&#160;min(max(x, min_val), max_val)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000148<tr class="separator:aabdbe431f2713c5c2604cb9872b66aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100149<tr class="memitem:a29367a809c14c294feefc1a8dad93752"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a29367a809c14c294feefc1a8dad93752">VLOAD_STR</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;vload##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td></tr>
150<tr class="separator:a29367a809c14c294feefc1a8dad93752"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:a287e2fc366c312b468382c95bb90f91f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a287e2fc366c312b468382c95bb90f91f">VLOAD</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a29367a809c14c294feefc1a8dad93752">VLOAD_STR</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
152<tr class="separator:a287e2fc366c312b468382c95bb90f91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:aeedcb2d8b4b0ce17747474d4da15f199"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aeedcb2d8b4b0ce17747474d4da15f199">VSTORE_STR</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;vstore##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td></tr>
154<tr class="separator:aeedcb2d8b4b0ce17747474d4da15f199"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:acb282042d1edeeaa3cc979a206f78b54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#acb282042d1edeeaa3cc979a206f78b54">VSTORE</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aeedcb2d8b4b0ce17747474d4da15f199">VSTORE_STR</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
156<tr class="separator:acb282042d1edeeaa3cc979a206f78b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000157<tr class="memitem:ae802822defb0fa3a7f74f98e324696cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;type##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000158<tr class="separator:ae802822defb0fa3a7f74f98e324696cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000159<tr class="memitem:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000160<tr class="separator:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000161<tr class="memitem:aa38f54499d4724c4ab01f6da100b603b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aa38f54499d4724c4ab01f6da100b603b">CL_VEC_DATA_TYPE_STR</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;type##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td></tr>
162<tr class="separator:aa38f54499d4724c4ab01f6da100b603b"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:a0f6ad555d097377151003a5119ccee45"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a0f6ad555d097377151003a5119ccee45">CL_VEC_DATA_TYPE</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aa38f54499d4724c4ab01f6da100b603b">CL_VEC_DATA_TYPE_STR</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
164<tr class="separator:a0f6ad555d097377151003a5119ccee45"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a4090567b3adb034c7cc1af308cb45670"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)&#160;&#160;&#160;(convert_##type((x)))</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000166<tr class="separator:a4090567b3adb034c7cc1af308cb45670"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000167<tr class="memitem:aa8d95ba04fc73845abc6045952cae5be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aa8d95ba04fc73845abc6045952cae5be">CONVERT</a>(x, type)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000168<tr class="separator:aa8d95ba04fc73845abc6045952cae5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000169<tr class="memitem:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)&#160;&#160;&#160;(convert_##type##_sat((x)))</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000170<tr class="separator:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000171<tr class="memitem:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a23fb01b6f3453cc0e48a026fd44f6acd">CONVERT_SAT</a>(x, type)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000172<tr class="separator:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000173<tr class="memitem:a341a0c28698c3f6bd171df1771c5a512"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000174<tr class="separator:a341a0c28698c3f6bd171df1771c5a512"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000175<tr class="memitem:a28b2b123792a5b11a32cb05a6d327437"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a28b2b123792a5b11a32cb05a6d327437">CONVERT_SAT_ROUND</a>(x, type, round)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000176<tr class="separator:a28b2b123792a5b11a32cb05a6d327437"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a40a6eb9f2a7712f08d6bb8ff6c9e6ca7">VECTOR_DECLARATION</a>(name)</td></tr>
178<tr class="separator:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:a22f42fcf2077d951271df83b55c1a71a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a22f42fcf2077d951271df83b55c1a71a">IMAGE_DECLARATION</a>(name)</td></tr>
180<tr class="separator:a22f42fcf2077d951271df83b55c1a71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a6b83038822d1ae7ab619b684ed3b7fc0">TENSOR3D_DECLARATION</a>(name)</td></tr>
182<tr class="separator:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100183<tr class="memitem:a481bdc6d61b3df9dcdbdb244f0f97790"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a481bdc6d61b3df9dcdbdb244f0f97790">TENSOR4D_DECLARATION</a>(name)</td></tr>
184<tr class="separator:a481bdc6d61b3df9dcdbdb244f0f97790"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000185<tr class="memitem:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a527bfdf5eeb306f1cf01c4a8e29f38e0">CONVERT_TO_VECTOR_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x)</td></tr>
186<tr class="separator:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<tr class="memitem:a64d779f80eeb923e0ab2313433f7b40b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a64d779f80eeb923e0ab2313433f7b40b">CONVERT_TO_VECTOR_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0)</td></tr>
188<tr class="separator:a64d779f80eeb923e0ab2313433f7b40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<tr class="memitem:aebe814363556c244be043b13e7969197"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y)</td></tr>
190<tr class="separator:aebe814363556c244be043b13e7969197"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4334a4a76f8e9628c0fb9e1acf616e2a">CONVERT_TO_IMAGE_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0)</td></tr>
192<tr class="separator:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100193<tr class="memitem:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a541f8db866a0fa93ee67d58ea31a7d0c">CONVERT_TENSOR3D_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td></tr>
194<tr class="separator:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:a071aa45af973feac43b14f62e54a6fce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a071aa45af973feac43b14f62e54a6fce">CONVERT_TENSOR3D_TO_IMAGE_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, name##_step_z)</td></tr>
196<tr class="separator:a071aa45af973feac43b14f62e54a6fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a541f8db866a0fa93ee67d58ea31a7d0c">CONVERT_TENSOR3D_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td></tr>
198<tr class="separator:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000199<tr class="memitem:a31c8c760f08fb1a331b16b7c204321dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a31c8c760f08fb1a331b16b7c204321dc">CONVERT_TO_TENSOR3D_STRUCT</a>(name)</td></tr>
200<tr class="separator:a31c8c760f08fb1a331b16b7c204321dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a79e8e562daa6599317d2d1cd86ef1bf2">CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0)</td></tr>
202<tr class="separator:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000203<tr class="memitem:a23b9032d1b9d59547545e457f82ee478"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a23b9032d1b9d59547545e457f82ee478">CONVERT_TO_TENSOR4D_STRUCT</a>(name, mod_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100204<tr class="separator:a23b9032d1b9d59547545e457f82ee478"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000205<tr class="memitem:a302e05cc5f90bd76a9d0812c4be8b5eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a302e05cc5f90bd76a9d0812c4be8b5eb">CONVERT_TO_TENSOR4D_STRUCT_NO_STEP</a>(name, mod_size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0, name##_stride_w, 0, mod_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100206<tr class="separator:a302e05cc5f90bd76a9d0812c4be8b5eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000207</table><table class="memberdecls">
208<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
209Typedefs</h2></td></tr>
210<tr class="memitem:a6ded2cf071c127e518317e3c451af3ef"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a6ded2cf071c127e518317e3c451af3ef">Vector</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000211<tr class="memdesc:a6ded2cf071c127e518317e3c451af3ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. <a href="#a6ded2cf071c127e518317e3c451af3ef">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000212<tr class="separator:a6ded2cf071c127e518317e3c451af3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a9082e6aa9fd1705dc218cf44bc5a9d66">Image</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000214<tr class="memdesc:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. <a href="#a9082e6aa9fd1705dc218cf44bc5a9d66">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000215<tr class="separator:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
216<tr class="memitem:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a1a857bfe99727c6051e9a3ee285d70f6">Tensor3D</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000217<tr class="memdesc:a1a857bfe99727c6051e9a3ee285d70f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 3D tensor information. <a href="#a1a857bfe99727c6051e9a3ee285d70f6">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000218<tr class="separator:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000219<tr class="memitem:a3b8a88f73e80a621aecfe7ced12c1676"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a3b8a88f73e80a621aecfe7ced12c1676">Tensor4D</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000220<tr class="memdesc:a3b8a88f73e80a621aecfe7ced12c1676"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 4D tensor information. <a href="#a3b8a88f73e80a621aecfe7ced12c1676">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100221<tr class="separator:a3b8a88f73e80a621aecfe7ced12c1676"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000222</table><table class="memberdecls">
223<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
224Functions</h2></td></tr>
225<tr class="memitem:a8fee90913ba658b25516a43cf71e5cbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vector.xhtml">Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000226<tr class="memdesc:a8fee90913ba658b25516a43cf71e5cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap vector information into an <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> structure, and make the pointer point at this workitem's data. <a href="#a8fee90913ba658b25516a43cf71e5cbd">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000227<tr class="separator:a8fee90913ba658b25516a43cf71e5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000229<tr class="memdesc:a0a4395130f74a4293a7d3a19d8fac86d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap image information into an <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> structure, and make the pointer point at this workitem's data. <a href="#a0a4395130f74a4293a7d3a19d8fac86d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000230<tr class="separator:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100231<tr class="memitem:a65fd24237c8278ecb38183f93cc70f05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000232<tr class="memdesc:a65fd24237c8278ecb38183f93cc70f05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap 3D tensor information into an image structure, and make the pointer point at this workitem's data. <a href="#a65fd24237c8278ecb38183f93cc70f05">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100233<tr class="separator:a65fd24237c8278ecb38183f93cc70f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000234<tr class="memitem:a912ccbcc4235bf1274c95d05b50440d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000235<tr class="memdesc:a912ccbcc4235bf1274c95d05b50440d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. <a href="#a912ccbcc4235bf1274c95d05b50440d4">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000236<tr class="separator:a912ccbcc4235bf1274c95d05b50440d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000237<tr class="memitem:a87a9d201ccc6b81332852d562bb7ee13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z, uint stride_w, uint step_w, uint mod_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100238<tr class="separator:a87a9d201ccc6b81332852d562bb7ee13"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100239<tr class="memitem:a7e4940407322d6f0ccb8b6b86b856019"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a7e4940407322d6f0ccb8b6b86b856019">vector_offset</a> (const <a class="el" href="struct_vector.xhtml">Vector</a> *vec, int x)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000240<tr class="memdesc:a7e4940407322d6f0ccb8b6b86b856019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. <a href="#a7e4940407322d6f0ccb8b6b86b856019">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100241<tr class="separator:a7e4940407322d6f0ccb8b6b86b856019"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000242<tr class="memitem:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memItemLeft" align="right" valign="top">__global uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> (const <a class="el" href="struct_image.xhtml">Image</a> *img, int x, int y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000243<tr class="memdesc:a009469e4d9b8fce3b6d5e97d2077827d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a009469e4d9b8fce3b6d5e97d2077827d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000244<tr class="separator:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memSeparator" colspan="2">&#160;</td></tr>
245<tr class="memitem:a2101b2fe0193ce227ae4e0945e321d85"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a2101b2fe0193ce227ae4e0945e321d85">tensor3D_offset</a> (const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *tensor, int x, int y, int z)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000246<tr class="memdesc:a2101b2fe0193ce227ae4e0945e321d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_tensor3_d.xhtml" title="Structure to hold 3D tensor information. ">Tensor3D</a>. <a href="#a2101b2fe0193ce227ae4e0945e321d85">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000247<tr class="separator:a2101b2fe0193ce227ae4e0945e321d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000248<tr class="memitem:ad442fb5ec8be1fff97f543150de5d822"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#ad442fb5ec8be1fff97f543150de5d822">tensor4D_offset</a> (const <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> *tensor, int x, int y, int z, int w)</td></tr>
249<tr class="memdesc:ad442fb5ec8be1fff97f543150de5d822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_tensor4_d.xhtml" title="Structure to hold 4D tensor information. ">Tensor4D</a>. <a href="#ad442fb5ec8be1fff97f543150de5d822">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100250<tr class="separator:ad442fb5ec8be1fff97f543150de5d822"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000251</table>
252<h2 class="groupheader">Macro Definition Documentation</h2>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000253<a class="anchor" id="a0f6ad555d097377151003a5119ccee45"></a>
254<div class="memitem">
255<div class="memproto">
256 <table class="memname">
257 <tr>
258 <td class="memname">#define CL_VEC_DATA_TYPE</td>
259 <td>(</td>
260 <td class="paramtype">&#160;</td>
261 <td class="paramname">type, </td>
262 </tr>
263 <tr>
264 <td class="paramkey"></td>
265 <td></td>
266 <td class="paramtype">&#160;</td>
267 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
268 </tr>
269 <tr>
270 <td></td>
271 <td>)</td>
272 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aa38f54499d4724c4ab01f6da100b603b">CL_VEC_DATA_TYPE_STR</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td>
273 </tr>
274 </table>
275</div><div class="memdoc">
276
277<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00049">49</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
278
279<p>Referenced by <a class="el" href="softmax__layer_8cl_source.xhtml#l00350">softmax_layer_max_shift_exp_sum_serial()</a>.</p>
280
281</div>
282</div>
283<a class="anchor" id="aa38f54499d4724c4ab01f6da100b603b"></a>
284<div class="memitem">
285<div class="memproto">
286 <table class="memname">
287 <tr>
288 <td class="memname">#define CL_VEC_DATA_TYPE_STR</td>
289 <td>(</td>
290 <td class="paramtype">&#160;</td>
291 <td class="paramname">type, </td>
292 </tr>
293 <tr>
294 <td class="paramkey"></td>
295 <td></td>
296 <td class="paramtype">&#160;</td>
297 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
298 </tr>
299 <tr>
300 <td></td>
301 <td>)</td>
302 <td></td><td>&#160;&#160;&#160;type##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td>
303 </tr>
304 </table>
305</div><div class="memdoc">
306
307<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00048">48</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
308
309</div>
310</div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000311<a class="anchor" id="aabdbe431f2713c5c2604cb9872b66aab"></a>
312<div class="memitem">
313<div class="memproto">
314 <table class="memname">
315 <tr>
316 <td class="memname">#define CLAMP</td>
317 <td>(</td>
318 <td class="paramtype">&#160;</td>
319 <td class="paramname">x, </td>
320 </tr>
321 <tr>
322 <td class="paramkey"></td>
323 <td></td>
324 <td class="paramtype">&#160;</td>
325 <td class="paramname">min_val, </td>
326 </tr>
327 <tr>
328 <td class="paramkey"></td>
329 <td></td>
330 <td class="paramtype">&#160;</td>
331 <td class="paramname">max_val&#160;</td>
332 </tr>
333 <tr>
334 <td></td>
335 <td>)</td>
336 <td></td><td>&#160;&#160;&#160;min(max(x, min_val), max_val)</td>
337 </tr>
338 </table>
339</div><div class="memdoc">
340
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000341<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00037">37</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000342
343</div>
344</div>
345<a class="anchor" id="aa8d95ba04fc73845abc6045952cae5be"></a>
346<div class="memitem">
347<div class="memproto">
348 <table class="memname">
349 <tr>
350 <td class="memname">#define CONVERT</td>
351 <td>(</td>
352 <td class="paramtype">&#160;</td>
353 <td class="paramname">x, </td>
354 </tr>
355 <tr>
356 <td class="paramkey"></td>
357 <td></td>
358 <td class="paramtype">&#160;</td>
359 <td class="paramname">type&#160;</td>
360 </tr>
361 <tr>
362 <td></td>
363 <td>)</td>
364 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td>
365 </tr>
366 </table>
367</div><div class="memdoc">
368
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000369<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00052">52</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000370
371</div>
372</div>
373<a class="anchor" id="a23fb01b6f3453cc0e48a026fd44f6acd"></a>
374<div class="memitem">
375<div class="memproto">
376 <table class="memname">
377 <tr>
378 <td class="memname">#define CONVERT_SAT</td>
379 <td>(</td>
380 <td class="paramtype">&#160;</td>
381 <td class="paramname">x, </td>
382 </tr>
383 <tr>
384 <td class="paramkey"></td>
385 <td></td>
386 <td class="paramtype">&#160;</td>
387 <td class="paramname">type&#160;</td>
388 </tr>
389 <tr>
390 <td></td>
391 <td>)</td>
392 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td>
393 </tr>
394 </table>
395</div><div class="memdoc">
396
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000397<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00055">55</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000398
399</div>
400</div>
401<a class="anchor" id="a28b2b123792a5b11a32cb05a6d327437"></a>
402<div class="memitem">
403<div class="memproto">
404 <table class="memname">
405 <tr>
406 <td class="memname">#define CONVERT_SAT_ROUND</td>
407 <td>(</td>
408 <td class="paramtype">&#160;</td>
409 <td class="paramname">x, </td>
410 </tr>
411 <tr>
412 <td class="paramkey"></td>
413 <td></td>
414 <td class="paramtype">&#160;</td>
415 <td class="paramname">type, </td>
416 </tr>
417 <tr>
418 <td class="paramkey"></td>
419 <td></td>
420 <td class="paramtype">&#160;</td>
421 <td class="paramname">round&#160;</td>
422 </tr>
423 <tr>
424 <td></td>
425 <td>)</td>
426 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td>
427 </tr>
428 </table>
429</div><div class="memdoc">
430
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000431<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00058">58</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000432
433<p>Referenced by <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>.</p>
434
435</div>
436</div>
437<a class="anchor" id="a341a0c28698c3f6bd171df1771c5a512"></a>
438<div class="memitem">
439<div class="memproto">
440 <table class="memname">
441 <tr>
442 <td class="memname">#define CONVERT_SAT_ROUND_STR</td>
443 <td>(</td>
444 <td class="paramtype">&#160;</td>
445 <td class="paramname">x, </td>
446 </tr>
447 <tr>
448 <td class="paramkey"></td>
449 <td></td>
450 <td class="paramtype">&#160;</td>
451 <td class="paramname">type, </td>
452 </tr>
453 <tr>
454 <td class="paramkey"></td>
455 <td></td>
456 <td class="paramtype">&#160;</td>
457 <td class="paramname">round&#160;</td>
458 </tr>
459 <tr>
460 <td></td>
461 <td>)</td>
462 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td>
463 </tr>
464 </table>
465</div><div class="memdoc">
466
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000467<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00057">57</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000468
469</div>
470</div>
471<a class="anchor" id="a4e0fc93c9a69863dcdf7672ab547026c"></a>
472<div class="memitem">
473<div class="memproto">
474 <table class="memname">
475 <tr>
476 <td class="memname">#define CONVERT_SAT_STR</td>
477 <td>(</td>
478 <td class="paramtype">&#160;</td>
479 <td class="paramname">x, </td>
480 </tr>
481 <tr>
482 <td class="paramkey"></td>
483 <td></td>
484 <td class="paramtype">&#160;</td>
485 <td class="paramname">type&#160;</td>
486 </tr>
487 <tr>
488 <td></td>
489 <td>)</td>
490 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat((x)))</td>
491 </tr>
492 </table>
493</div><div class="memdoc">
494
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000495<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00054">54</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000496
497</div>
498</div>
499<a class="anchor" id="a4090567b3adb034c7cc1af308cb45670"></a>
500<div class="memitem">
501<div class="memproto">
502 <table class="memname">
503 <tr>
504 <td class="memname">#define CONVERT_STR</td>
505 <td>(</td>
506 <td class="paramtype">&#160;</td>
507 <td class="paramname">x, </td>
508 </tr>
509 <tr>
510 <td class="paramkey"></td>
511 <td></td>
512 <td class="paramtype">&#160;</td>
513 <td class="paramname">type&#160;</td>
514 </tr>
515 <tr>
516 <td></td>
517 <td>)</td>
518 <td></td><td>&#160;&#160;&#160;(convert_##type((x)))</td>
519 </tr>
520 </table>
521</div><div class="memdoc">
522
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000523<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00051">51</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100524
525</div>
526</div>
527<a class="anchor" id="a541f8db866a0fa93ee67d58ea31a7d0c"></a>
528<div class="memitem">
529<div class="memproto">
530 <table class="memname">
531 <tr>
532 <td class="memname">#define CONVERT_TENSOR3D_TO_IMAGE_STRUCT</td>
533 <td>(</td>
534 <td class="paramtype">&#160;</td>
535 <td class="paramname">name</td><td>)</td>
536 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td>
537 </tr>
538 </table>
539</div><div class="memdoc">
540
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000541<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00114">114</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100542
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000543<p>Referenced by <a class="el" href="softmax__layer_8cl_source.xhtml#l00114">softmax_layer_max()</a>, <a class="el" href="softmax__layer__quantized_8cl_source.xhtml#l00055">softmax_layer_max_quantized()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00500">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00350">softmax_layer_max_shift_exp_sum_serial()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00292">softmax_layer_norm()</a>, and <a class="el" href="softmax__layer_8cl_source.xhtml#l00196">softmax_layer_shift_exp_sum()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100544
545</div>
546</div>
547<a class="anchor" id="a541f8db866a0fa93ee67d58ea31a7d0c"></a>
548<div class="memitem">
549<div class="memproto">
550 <table class="memname">
551 <tr>
552 <td class="memname">#define CONVERT_TENSOR3D_TO_IMAGE_STRUCT</td>
553 <td>(</td>
554 <td class="paramtype">&#160;</td>
555 <td class="paramname">name</td><td>)</td>
556 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td>
557 </tr>
558 </table>
559</div><div class="memdoc">
560
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000561<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00114">114</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100562
563</div>
564</div>
565<a class="anchor" id="a071aa45af973feac43b14f62e54a6fce"></a>
566<div class="memitem">
567<div class="memproto">
568 <table class="memname">
569 <tr>
570 <td class="memname">#define CONVERT_TENSOR3D_TO_IMAGE_STRUCT_NO_STEP</td>
571 <td>(</td>
572 <td class="paramtype">&#160;</td>
573 <td class="paramname">name</td><td>)</td>
574 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, name##_step_z)</td>
575 </tr>
576 </table>
577</div><div class="memdoc">
578
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000579<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00111">111</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100580
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000581<p>Referenced by <a class="el" href="fill__border_8cl_source.xhtml#l00126">fill_image_borders_constant()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00050">fill_image_borders_replicate()</a>, <a class="el" href="softmax__layer__quantized_8cl_source.xhtml#l00055">softmax_layer_max_quantized()</a>, and <a class="el" href="softmax__layer_8cl_source.xhtml#l00292">softmax_layer_norm()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000582
583</div>
584</div>
585<a class="anchor" id="aebe814363556c244be043b13e7969197"></a>
586<div class="memitem">
587<div class="memproto">
588 <table class="memname">
589 <tr>
590 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT</td>
591 <td>(</td>
592 <td class="paramtype">&#160;</td>
593 <td class="paramname">name</td><td>)</td>
594 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y)</td>
595 </tr>
596 </table>
597</div><div class="memdoc">
598
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000599<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00102">102</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000600
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000601<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00112">accumulate_squared()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00076">accumulate_weighted()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00083">bitwise_and()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00149">bitwise_not()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00047">bitwise_or()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00119">bitwise_xor()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00317">channel_combine_NV()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00053">channel_combine_RGB888()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00127">channel_combine_RGBA8888()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00253">channel_combine_UYVY422()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00198">channel_combine_YUYV422()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00195">channel_extract_NV12()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00230">channel_extract_NV21()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00043">channel_extract_RGB888()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00083">channel_extract_RGBA8888()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00158">channel_extract_UYVY422()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00122">channel_extract_YUYV422()</a>, <a class="el" href="canny_8cl_source.xhtml#l00057">combine_gradients_L1()</a>, <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00074">convert_depth_down()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00115">convert_depth_up()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00123">convolution3x3_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00274">convolution5x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00323">convolution7x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00386">convolution9x9_static()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00205">convolution_separable1x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00254">convolution_separable1x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00317">convolution_separable1x9_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00238">convolution_separable5x1_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00287">convolution_separable7x1_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00350">convolution_separable9x1_static()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00262">copy_plane()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00389">copy_planes_3p()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00230">copy_to_keypoint()</a>, <a class="el" href="deconvolution__layer_8cl_source.xhtml#l00041">deconvolution_upsample()</a>, <a class="el" href="derivative_8cl_source.xhtml#l00050">derivative()</a>, <a class="el" href="dilate_8cl_source.xhtml#l00041">dilate()</a>, <a class="el" href="erode_8cl_source.xhtml#l00041">erode()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00155">fast_corners()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00043">gaussian1x5_sub_x()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00088">gaussian5x1_sub_y()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00182">gemm_interleave4x4_16bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00141">gemm_interleave4x4_32bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00109">gemm_transpose1x16()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00045">gemm_transpose1x4()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00077">gemm_transpose1x8()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00053">harris_score_3x3()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00210">harris_score_5x5()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00341">harris_score_7x7()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00141">hist_border_kernel()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00238">hist_border_kernel_fixed()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00068">hist_local_kernel()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00178">hist_local_kernel_fixed()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00041">integral_horizontal()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00085">integral_vertical()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01703">IYUV_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01462">IYUV_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01541">IYUV_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01633">IYUV_to_YUV444_bt709()</a>, <a class="el" href="magnitude__phase_8cl_source.xhtml#l00130">magnitude_phase()</a>, <a class="el" href="mean__stddev_8cl_source.xhtml#l00043">mean_stddev_accumulate()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00065">minmax()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00143">minmaxloc()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00044">non_linear_filter_box3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00339">non_linear_filter_box5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00099">non_linear_filter_cross3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00387">non_linear_filter_cross5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00150">non_linear_filter_disk3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00444">non_linear_filter_disk5x5()</a>, <a class="el" href="nonmax_8cl_source.xhtml#l00041">non_max_suppression()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00949">NV12_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00410">NV12_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00867">NV12_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01011">NV12_to_YUV444_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01285">NV21_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01065">NV21_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01136">NV21_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01219">NV21_to_YUV444_bt709()</a>, <a class="el" href="remap_8cl_source.xhtml#l00113">remap_bilinear()</a>, <a class="el" href="remap_8cl_source.xhtml#l00059">remap_nearest_neighbour()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00554">RGB888_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00325">RGB888_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00044">RGB888_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00488">RGB888_to_YUV444_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00786">RGBA8888_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00702">RGBA8888_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00085">RGBA8888_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00642">RGBA8888_to_YUV444_bt709()</a>, <a class="el" href="scale_8cl_source.xhtml#l00122">scale_bilinear()</a>, <a class="el" href="scale_8cl_source.xhtml#l00086">scale_nearest_neighbour()</a>, <a class="el" href="scharr__filter_8cl_source.xhtml#l00050">scharr3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00054">sobel3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00259">sobel_separable1x5()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00442">sobel_separable1x7()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00325">sobel_separable5x1()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00506">sobel_separable7x1()</a>, <a class="el" href="canny_8cl_source.xhtml#l00191">suppress_non_maximum()</a>, <a class="el" href="tablelookup_8cl_source.xhtml#l00084">tablelookup_S16()</a>, <a class="el" href="tablelookup_8cl_source.xhtml#l00045">tablelookup_U8()</a>, <a class="el" href="threshold_8cl_source.xhtml#l00044">threshold_binary()</a>, <a class="el" href="threshold_8cl_source.xhtml#l00084">threshold_range()</a>, <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01341">UYVY422_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01803">UYVY422_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00124">UYVY422_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00172">UYVY422_to_RGBA8888_bt709()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00111">warp_affine_bilinear()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00079">warp_affine_nearest_neighbour()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00119">warp_perspective_bilinear()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00087">warp_perspective_nearest_neighbour()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01402">YUYV422_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01754">YUYV422_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00221">YUYV422_to_RGB888_bt709()</a>, and <a class="el" href="color__convert_8cl_source.xhtml#l00269">YUYV422_to_RGBA8888_bt709()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000602
603</div>
604</div>
605<a class="anchor" id="a4334a4a76f8e9628c0fb9e1acf616e2a"></a>
606<div class="memitem">
607<div class="memproto">
608 <table class="memname">
609 <tr>
610 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT_NO_STEP</td>
611 <td>(</td>
612 <td class="paramtype">&#160;</td>
613 <td class="paramname">name</td><td>)</td>
614 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0)</td>
615 </tr>
616 </table>
617</div><div class="memdoc">
618
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000619<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00105">105</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000620
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000621<p>Referenced by <a class="el" href="canny_8cl_source.xhtml#l00306">hysteresis()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00207">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00358">lktracker_stage1()</a>, <a class="el" href="remap_8cl_source.xhtml#l00113">remap_bilinear()</a>, <a class="el" href="remap_8cl_source.xhtml#l00059">remap_nearest_neighbour()</a>, <a class="el" href="scale_8cl_source.xhtml#l00122">scale_bilinear()</a>, <a class="el" href="scale_8cl_source.xhtml#l00086">scale_nearest_neighbour()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00111">warp_affine_bilinear()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00079">warp_affine_nearest_neighbour()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00119">warp_perspective_bilinear()</a>, and <a class="el" href="warp__perspective_8cl_source.xhtml#l00087">warp_perspective_nearest_neighbour()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000622
623</div>
624</div>
625<a class="anchor" id="a31c8c760f08fb1a331b16b7c204321dc"></a>
626<div class="memitem">
627<div class="memproto">
628 <table class="memname">
629 <tr>
630 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT</td>
631 <td>(</td>
632 <td class="paramtype">&#160;</td>
633 <td class="paramname">name</td><td>)</td>
634 <td></td>
635 </tr>
636 </table>
637</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000638<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, \</div><div class="line"> name##_stride_z, name##_step_z)</div><div class="ttc" id="helpers_8h_xhtml_a912ccbcc4235bf1274c95d05b50440d4"><div class="ttname"><a href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a></div><div class="ttdeci">Tensor3D update_tensor3D_workitem_ptr(__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</div><div class="ttdoc">Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem&amp;#39;s da...</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00253">helpers.h:253</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000639</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000640<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00117">117</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000641
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000642<p>Referenced by <a class="el" href="activation__layer_8cl_source.xhtml#l00145">activation_layer()</a>, <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00070">activation_layer_qa8()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00069">arithmetic_add()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00120">arithmetic_sub()</a>, <a class="el" href="batchnormalization__layer_8cl_source.xhtml#l00081">batchnormalization_layer()</a>, <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_depth()</a>, <a class="el" href="dequantization__layer_8cl_source.xhtml#l00049">dequantization_layer()</a>, <a class="el" href="floor_8cl_source.xhtml#l00049">floor_layer()</a>, <a class="el" href="gemv_8cl_source.xhtml#l00049">gemm_mv()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00306">im2col_reduced()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00079">normalization_layer_cross_map()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00139">normalization_layer_in_map()</a>, <a class="el" href="pixelwise__mul__float_8cl_source.xhtml#l00067">pixelwise_mul_float()</a>, <a class="el" href="pixelwise__mul__int_8cl_source.xhtml#l00083">pixelwise_mul_int()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00226">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00290">pooling_layer_3()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00078">pooling_layer_N_quantized()</a>, <a class="el" href="quantization__layer_8cl_source.xhtml#l00049">quantization_layer()</a>, <a class="el" href="reshape__layer_8cl_source.xhtml#l00049">reshape_layer()</a>, and <a class="el" href="convolution__layer_8cl_source.xhtml#l00057">reshape_to_columns()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000643
644</div>
645</div>
646<a class="anchor" id="a79e8e562daa6599317d2d1cd86ef1bf2"></a>
647<div class="memitem">
648<div class="memproto">
649 <table class="memname">
650 <tr>
651 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</td>
652 <td>(</td>
653 <td class="paramtype">&#160;</td>
654 <td class="paramname">name</td><td>)</td>
655 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0)</td>
656 </tr>
657 </table>
658</div><div class="memdoc">
659
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000660<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00121">121</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000661
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000662<p>Referenced by <a class="el" href="reshape__layer_8cl_source.xhtml#l00049">reshape_layer()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00057">reshape_to_columns()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100663
664</div>
665</div>
666<a class="anchor" id="a23b9032d1b9d59547545e457f82ee478"></a>
667<div class="memitem">
668<div class="memproto">
669 <table class="memname">
670 <tr>
671 <td class="memname">#define CONVERT_TO_TENSOR4D_STRUCT</td>
672 <td>(</td>
673 <td class="paramtype">&#160;</td>
674 <td class="paramname">name, </td>
675 </tr>
676 <tr>
677 <td class="paramkey"></td>
678 <td></td>
679 <td class="paramtype">&#160;</td>
680 <td class="paramname">mod_size&#160;</td>
681 </tr>
682 <tr>
683 <td></td>
684 <td>)</td>
685 <td></td><td></td>
686 </tr>
687 </table>
688</div><div class="memdoc">
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000689<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, \</div><div class="line"> name##_stride_z, name##_step_z, name##_stride_w, name##_step_w, mod_size)</div><div class="ttc" id="helpers_8h_xhtml_a87a9d201ccc6b81332852d562bb7ee13"><div class="ttname"><a href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a></div><div class="ttdeci">Tensor4D update_tensor4D_workitem_ptr(__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z, uint stride_w, uint step_w, uint mod_size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00267">helpers.h:267</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +0100690</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000691<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00124">124</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100692
693</div>
694</div>
695<a class="anchor" id="a302e05cc5f90bd76a9d0812c4be8b5eb"></a>
696<div class="memitem">
697<div class="memproto">
698 <table class="memname">
699 <tr>
700 <td class="memname">#define CONVERT_TO_TENSOR4D_STRUCT_NO_STEP</td>
701 <td>(</td>
702 <td class="paramtype">&#160;</td>
703 <td class="paramname">name, </td>
704 </tr>
705 <tr>
706 <td class="paramkey"></td>
707 <td></td>
708 <td class="paramtype">&#160;</td>
709 <td class="paramname">mod_size&#160;</td>
710 </tr>
711 <tr>
712 <td></td>
713 <td>)</td>
714 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0, name##_stride_w, 0, mod_size)</td>
715 </tr>
716 </table>
717</div><div class="memdoc">
718
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000719<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00128">128</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000720
721</div>
722</div>
723<a class="anchor" id="a527bfdf5eeb306f1cf01c4a8e29f38e0"></a>
724<div class="memitem">
725<div class="memproto">
726 <table class="memname">
727 <tr>
728 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT</td>
729 <td>(</td>
730 <td class="paramtype">&#160;</td>
731 <td class="paramname">name</td><td>)</td>
732 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x)</td>
733 </tr>
734 </table>
735</div><div class="memdoc">
736
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000737<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00096">96</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000738
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000739<p>Referenced by <a class="el" href="batchnormalization__layer_8cl_source.xhtml#l00081">batchnormalization_layer()</a>, <a class="el" href="dequantization__layer_8cl_source.xhtml#l00049">dequantization_layer()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="l2__normalize_8cl_source.xhtml#l00045">l2_normalize()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00080">reduction_operation()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000740
741</div>
742</div>
743<a class="anchor" id="a64d779f80eeb923e0ab2313433f7b40b"></a>
744<div class="memitem">
745<div class="memproto">
746 <table class="memname">
747 <tr>
748 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT_NO_STEP</td>
749 <td>(</td>
750 <td class="paramtype">&#160;</td>
751 <td class="paramname">name</td><td>)</td>
752 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0)</td>
753 </tr>
754 </table>
755</div><div class="memdoc">
756
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000757<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00099">99</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100758
759<p>Referenced by <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
760
761</div>
762</div>
763<a class="anchor" id="ae4b532a93c757194ec73b6790a3e6b1f"></a>
764<div class="memitem">
765<div class="memproto">
766 <table class="memname">
767 <tr>
768 <td class="memname">#define EXPAND</td>
769 <td>(</td>
770 <td class="paramtype">&#160;</td>
771 <td class="paramname">x</td><td>)</td>
772 <td>&#160;&#160;&#160;x</td>
773 </tr>
774 </table>
775</div><div class="memdoc">
776
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000777<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00035">35</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
778
779<p>Referenced by <a class="el" href="softmax__layer_8cl_source.xhtml#l00350">softmax_layer_max_shift_exp_sum_serial()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000780
781</div>
782</div>
783<a class="anchor" id="a22f42fcf2077d951271df83b55c1a71a"></a>
784<div class="memitem">
785<div class="memproto">
786 <table class="memname">
787 <tr>
788 <td class="memname">#define IMAGE_DECLARATION</td>
789 <td>(</td>
790 <td class="paramtype">&#160;</td>
791 <td class="paramname">name</td><td>)</td>
792 <td></td>
793 </tr>
794 </table>
795</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000796<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_stride_y, \</div><div class="line"> uint name##_step_y, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
797<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00066">66</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
798
799<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00306">im2col_reduced()</a>, and <a class="el" href="convolution__layer_8cl_source.xhtml#l00057">reshape_to_columns()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000800
801</div>
802</div>
803<a class="anchor" id="a6b83038822d1ae7ab619b684ed3b7fc0"></a>
804<div class="memitem">
805<div class="memproto">
806 <table class="memname">
807 <tr>
808 <td class="memname">#define TENSOR3D_DECLARATION</td>
809 <td>(</td>
810 <td class="paramtype">&#160;</td>
811 <td class="paramname">name</td><td>)</td>
812 <td></td>
813 </tr>
814 </table>
815</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000816<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_stride_y, \</div><div class="line"> uint name##_step_y, \</div><div class="line"> uint name##_stride_z, \</div><div class="line"> uint name##_step_z, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
817<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00074">74</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
818
819<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00306">im2col_reduced()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00057">reshape_to_columns()</a>, and <a class="el" href="softmax__layer__quantized_8cl_source.xhtml#l00055">softmax_layer_max_quantized()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000820
Kaizen8938bd32017-09-28 14:38:23 +0100821</div>
822</div>
823<a class="anchor" id="a481bdc6d61b3df9dcdbdb244f0f97790"></a>
824<div class="memitem">
825<div class="memproto">
826 <table class="memname">
827 <tr>
828 <td class="memname">#define TENSOR4D_DECLARATION</td>
829 <td>(</td>
830 <td class="paramtype">&#160;</td>
831 <td class="paramname">name</td><td>)</td>
832 <td></td>
833 </tr>
834 </table>
835</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000836<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_stride_y, \</div><div class="line"> uint name##_step_y, \</div><div class="line"> uint name##_stride_z, \</div><div class="line"> uint name##_step_z, \</div><div class="line"> uint name##_stride_w, \</div><div class="line"> uint name##_step_w, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
837<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00084">84</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100838
Anthony Barbier871448e2017-03-24 14:54:29 +0000839</div>
840</div>
841<a class="anchor" id="a36f754c05b6fddf6df0d8d0a74f8159f"></a>
842<div class="memitem">
843<div class="memproto">
844 <table class="memname">
845 <tr>
846 <td class="memname">#define VEC_DATA_TYPE</td>
847 <td>(</td>
848 <td class="paramtype">&#160;</td>
849 <td class="paramname">type, </td>
850 </tr>
851 <tr>
852 <td class="paramkey"></td>
853 <td></td>
854 <td class="paramtype">&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +0100855 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000856 </tr>
857 <tr>
858 <td></td>
859 <td>)</td>
Kaizen8938bd32017-09-28 14:38:23 +0100860 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000861 </tr>
862 </table>
863</div><div class="memdoc">
864
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000865<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00046">46</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000866
867</div>
868</div>
869<a class="anchor" id="ae802822defb0fa3a7f74f98e324696cb"></a>
870<div class="memitem">
871<div class="memproto">
872 <table class="memname">
873 <tr>
874 <td class="memname">#define VEC_DATA_TYPE_STR</td>
875 <td>(</td>
876 <td class="paramtype">&#160;</td>
877 <td class="paramname">type, </td>
878 </tr>
879 <tr>
880 <td class="paramkey"></td>
881 <td></td>
882 <td class="paramtype">&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +0100883 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000884 </tr>
885 <tr>
886 <td></td>
887 <td>)</td>
Kaizen8938bd32017-09-28 14:38:23 +0100888 <td></td><td>&#160;&#160;&#160;type##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000889 </tr>
890 </table>
891</div><div class="memdoc">
892
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000893<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00045">45</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000894
895</div>
896</div>
897<a class="anchor" id="a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"></a>
898<div class="memitem">
899<div class="memproto">
900 <table class="memname">
901 <tr>
902 <td class="memname">#define VECTOR_DECLARATION</td>
903 <td>(</td>
904 <td class="paramtype">&#160;</td>
905 <td class="paramname">name</td><td>)</td>
906 <td></td>
907 </tr>
908 </table>
909</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000910<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
911<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00060">60</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
912
913<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100914
915</div>
916</div>
917<a class="anchor" id="a287e2fc366c312b468382c95bb90f91f"></a>
918<div class="memitem">
919<div class="memproto">
920 <table class="memname">
921 <tr>
922 <td class="memname">#define VLOAD</td>
923 <td>(</td>
924 <td class="paramtype">&#160;</td>
925 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
926 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a29367a809c14c294feefc1a8dad93752">VLOAD_STR</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td>
927 </tr>
928 </table>
929</div><div class="memdoc">
930
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000931<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00040">40</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100932
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000933<p>Referenced by <a class="el" href="activation__layer_8cl_source.xhtml#l00145">activation_layer()</a>, <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00070">activation_layer_qa8()</a>, <a class="el" href="batchnormalization__layer_8cl_source.xhtml#l00081">batchnormalization_layer()</a>, <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_depth()</a>, <a class="el" href="floor_8cl_source.xhtml#l00049">floor_layer()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00306">im2col_reduced()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00061">roi_pool_1x1()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00500">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00350">softmax_layer_max_shift_exp_sum_serial()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100934
935</div>
936</div>
937<a class="anchor" id="a29367a809c14c294feefc1a8dad93752"></a>
938<div class="memitem">
939<div class="memproto">
940 <table class="memname">
941 <tr>
942 <td class="memname">#define VLOAD_STR</td>
943 <td>(</td>
944 <td class="paramtype">&#160;</td>
945 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
946 <td>&#160;&#160;&#160;vload##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td>
947 </tr>
948 </table>
949</div><div class="memdoc">
950
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000951<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00039">39</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100952
953</div>
954</div>
955<a class="anchor" id="acb282042d1edeeaa3cc979a206f78b54"></a>
956<div class="memitem">
957<div class="memproto">
958 <table class="memname">
959 <tr>
960 <td class="memname">#define VSTORE</td>
961 <td>(</td>
962 <td class="paramtype">&#160;</td>
963 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
964 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aeedcb2d8b4b0ce17747474d4da15f199">VSTORE_STR</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td>
965 </tr>
966 </table>
967</div><div class="memdoc">
968
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000969<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00043">43</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100970
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000971<p>Referenced by <a class="el" href="activation__layer_8cl_source.xhtml#l00145">activation_layer()</a>, <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00070">activation_layer_qa8()</a>, <a class="el" href="batchnormalization__layer_8cl_source.xhtml#l00081">batchnormalization_layer()</a>, <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_depth()</a>, <a class="el" href="floor_8cl_source.xhtml#l00049">floor_layer()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00306">im2col_reduced()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00500">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00350">softmax_layer_max_shift_exp_sum_serial()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100972
973</div>
974</div>
975<a class="anchor" id="aeedcb2d8b4b0ce17747474d4da15f199"></a>
976<div class="memitem">
977<div class="memproto">
978 <table class="memname">
979 <tr>
980 <td class="memname">#define VSTORE_STR</td>
981 <td>(</td>
982 <td class="paramtype">&#160;</td>
983 <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
984 <td>&#160;&#160;&#160;vstore##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td>
985 </tr>
986 </table>
987</div><div class="memdoc">
988
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000989<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00042">42</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000990
991</div>
992</div>
993<h2 class="groupheader">Typedef Documentation</h2>
994<a class="anchor" id="a9082e6aa9fd1705dc218cf44bc5a9d66"></a>
995<div class="memitem">
996<div class="memproto">
997 <table class="memname">
998 <tr>
999 <td class="memname">typedef struct <a class="el" href="struct_image.xhtml">Image</a> <a class="el" href="struct_image.xhtml">Image</a></td>
1000 </tr>
1001 </table>
1002</div><div class="memdoc">
1003
1004<p>Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. </p>
1005
1006</div>
1007</div>
1008<a class="anchor" id="a1a857bfe99727c6051e9a3ee285d70f6"></a>
1009<div class="memitem">
1010<div class="memproto">
1011 <table class="memname">
1012 <tr>
1013 <td class="memname">typedef struct <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a></td>
1014 </tr>
1015 </table>
1016</div><div class="memdoc">
1017
1018<p>Structure to hold 3D tensor information. </p>
1019
1020</div>
1021</div>
Kaizen8938bd32017-09-28 14:38:23 +01001022<a class="anchor" id="a3b8a88f73e80a621aecfe7ced12c1676"></a>
1023<div class="memitem">
1024<div class="memproto">
1025 <table class="memname">
1026 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001027 <td class="memname">typedef struct <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a></td>
Kaizen8938bd32017-09-28 14:38:23 +01001028 </tr>
1029 </table>
1030</div><div class="memdoc">
1031
1032<p>Structure to hold 4D tensor information. </p>
1033
1034</div>
1035</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001036<a class="anchor" id="a6ded2cf071c127e518317e3c451af3ef"></a>
1037<div class="memitem">
1038<div class="memproto">
1039 <table class="memname">
1040 <tr>
1041 <td class="memname">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a> <a class="el" href="struct_vector.xhtml">Vector</a></td>
1042 </tr>
1043 </table>
1044</div><div class="memdoc">
1045
1046<p>Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. </p>
1047
1048</div>
1049</div>
1050<h2 class="groupheader">Function Documentation</h2>
1051<a class="anchor" id="a009469e4d9b8fce3b6d5e97d2077827d"></a>
1052<div class="memitem">
1053<div class="memproto">
1054<table class="mlabels">
1055 <tr>
1056 <td class="mlabels-left">
1057 <table class="memname">
1058 <tr>
1059 <td class="memname">__global uchar* offset </td>
1060 <td>(</td>
1061 <td class="paramtype">const <a class="el" href="struct_image.xhtml">Image</a> *&#160;</td>
1062 <td class="paramname"><em>img</em>, </td>
1063 </tr>
1064 <tr>
1065 <td class="paramkey"></td>
1066 <td></td>
1067 <td class="paramtype">int&#160;</td>
1068 <td class="paramname"><em>x</em>, </td>
1069 </tr>
1070 <tr>
1071 <td class="paramkey"></td>
1072 <td></td>
1073 <td class="paramtype">int&#160;</td>
1074 <td class="paramname"><em>y</em>&#160;</td>
1075 </tr>
1076 <tr>
1077 <td></td>
1078 <td>)</td>
1079 <td></td><td></td>
1080 </tr>
1081 </table>
1082 </td>
1083 <td class="mlabels-right">
1084<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1085 </tr>
1086</table>
1087</div><div class="memdoc">
1088
1089<p>Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
1090<dl class="params"><dt>Parameters</dt><dd>
1091 <table class="params">
1092 <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to the starting position of the buffer </td></tr>
1093 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1094 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
1095 </table>
1096 </dd>
1097</dl>
1098
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001099<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00301">301</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001100
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001101<p>References <a class="el" href="helpers_8h_source.xhtml#l00142">Image::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00144">Image::stride_x</a>, and <a class="el" href="helpers_8h_source.xhtml#l00145">Image::stride_y</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001102
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001103<p>Referenced by <a class="el" href="warp__helpers_8h_source.xhtml#l00094">bilinear_interpolate_with_border()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00317">channel_combine_NV()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00082">convolution3x3()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00087">convolution5x1()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00159">convolution5x5()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00097">convolution7x1()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00202">convolution7x7()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00108">convolution9x1()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00256">convolution9x9()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00205">convolution_separable1x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00254">convolution_separable1x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00317">convolution_separable1x9_static()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00389">copy_planes_3p()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00230">copy_to_keypoint()</a>, <a class="el" href="_c_l_2_histogram_8cpp_source.xhtml#l00048">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="derivative_8cl_source.xhtml#l00050">derivative()</a>, <a class="el" href="dilate_8cl_source.xhtml#l00041">dilate()</a>, <a class="el" href="erode_8cl_source.xhtml#l00041">erode()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00439">AssetsLibrary::fill()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00126">fill_image_borders_constant()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00050">fill_image_borders_replicate()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00088">gaussian5x1_sub_y()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00182">gemm_interleave4x4_16bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00141">gemm_interleave4x4_32bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00223">gemm_interleave4x4_8bit()</a>, <a class="el" href="gemv_8cl_source.xhtml#l00049">gemm_mv()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00138">harris_score_1x5()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00253">harris_score_1x7()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00053">harris_score_3x3()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00141">hist_border_kernel()</a>, <a class="el" href="reference_2_histogram_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::histogram()</a>, <a class="el" href="canny_8cl_source.xhtml#l00306">hysteresis()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00041">integral_horizontal()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00085">integral_vertical()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00207">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00358">lktracker_stage1()</a>, <a class="el" href="mean__stddev_8cl_source.xhtml#l00043">mean_stddev_accumulate()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00065">minmax()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00044">non_linear_filter_box3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00339">non_linear_filter_box5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00099">non_linear_filter_cross3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00387">non_linear_filter_cross5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00150">non_linear_filter_disk3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00444">non_linear_filter_disk5x5()</a>, <a class="el" href="nonmax_8cl_source.xhtml#l00041">non_max_suppression()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00121">QuantizationInfo::operator==()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00233">SimpleTensor&lt; T &gt;::operator[]()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00199">RandomAccessor::RandomAccessor()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00058">read_texels4()</a>, <a class="el" href="scharr__filter_8cl_source.xhtml#l00050">scharr3x3()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00127">PaddingCalculator::set_access_offset()</a>, <a class="el" href="_histogram_fixture_8h_source.xhtml#l00050">HistogramValidationFixture&lt; TensorType, AccessorType, FunctionType, T, DistributionType &gt;::setup()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00154">sobel1x5()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00054">sobel3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00206">sobel5x1()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00114">softmax_layer_max()</a>, <a class="el" href="softmax__layer__quantized_8cl_source.xhtml#l00055">softmax_layer_max_quantized()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00500">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00350">softmax_layer_max_shift_exp_sum_serial()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00292">softmax_layer_norm()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00196">softmax_layer_shift_exp_sum()</a>, <a class="el" href="_q_asymm8_8inl_source.xhtml#l00029">arm_compute::sqcvt_qasymm8_f32()</a>, <a class="el" href="canny_8cl_source.xhtml#l00191">suppress_non_maximum()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001104<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> img-&gt;<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * img-&gt;<a class="code" href="struct_image.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a> + y * img-&gt;<a class="code" href="struct_image.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">stride_y</a>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div><div class="ttc" id="struct_image_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">Image::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00142">helpers.h:142</a></div></div>
1105<div class="ttc" id="struct_image_xhtml_a4f0b90c9ecd6e57ceb3f37332fefe8f1"><div class="ttname"><a href="struct_image.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">Image::stride_y</a></div><div class="ttdeci">int stride_y</div><div class="ttdoc">Stride of the image in Y dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00145">helpers.h:145</a></div></div>
1106<div class="ttc" id="struct_image_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_image.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Image::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00144">helpers.h:144</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001107</div><!-- fragment -->
1108</div>
1109</div>
1110<a class="anchor" id="a2101b2fe0193ce227ae4e0945e321d85"></a>
1111<div class="memitem">
1112<div class="memproto">
1113<table class="mlabels">
1114 <tr>
1115 <td class="mlabels-left">
1116 <table class="memname">
1117 <tr>
1118 <td class="memname">__global const uchar* tensor3D_offset </td>
1119 <td>(</td>
1120 <td class="paramtype">const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *&#160;</td>
1121 <td class="paramname"><em>tensor</em>, </td>
1122 </tr>
1123 <tr>
1124 <td class="paramkey"></td>
1125 <td></td>
1126 <td class="paramtype">int&#160;</td>
1127 <td class="paramname"><em>x</em>, </td>
1128 </tr>
1129 <tr>
1130 <td class="paramkey"></td>
1131 <td></td>
1132 <td class="paramtype">int&#160;</td>
1133 <td class="paramname"><em>y</em>, </td>
1134 </tr>
1135 <tr>
1136 <td class="paramkey"></td>
1137 <td></td>
1138 <td class="paramtype">int&#160;</td>
1139 <td class="paramname"><em>z</em>&#160;</td>
1140 </tr>
1141 <tr>
1142 <td></td>
1143 <td>)</td>
1144 <td></td><td></td>
1145 </tr>
1146 </table>
1147 </td>
1148 <td class="mlabels-right">
1149<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1150 </tr>
1151</table>
1152</div><div class="memdoc">
1153
1154<p>Get the pointer position of a <a class="el" href="struct_tensor3_d.xhtml" title="Structure to hold 3D tensor information. ">Tensor3D</a>. </p>
1155<dl class="params"><dt>Parameters</dt><dd>
1156 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +01001157 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting position of the buffer </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001158 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1159 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
1160 <tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>Relative Z position </td></tr>
1161 </table>
1162 </dd>
1163</dl>
1164
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001165<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00313">313</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001166
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001167<p>References <a class="el" href="helpers_8h_source.xhtml#l00151">Tensor3D::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00153">Tensor3D::stride_x</a>, <a class="el" href="helpers_8h_source.xhtml#l00154">Tensor3D::stride_y</a>, and <a class="el" href="helpers_8h_source.xhtml#l00155">Tensor3D::stride_z</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001168
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001169<p>Referenced by <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_depth()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00079">normalization_layer_cross_map()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00139">normalization_layer_in_map()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00226">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00290">pooling_layer_3()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00078">pooling_layer_N_quantized()</a>, <a class="el" href="reshape__layer_8cl_source.xhtml#l00049">reshape_layer()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00061">roi_pool_1x1()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
1170<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;{</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a> + y * tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">stride_y</a> + z * tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#ad5ff7a2b2bd0eec50fe09c254b127d1c">stride_z</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;}</div><div class="ttc" id="struct_tensor3_d_xhtml_ad5ff7a2b2bd0eec50fe09c254b127d1c"><div class="ttname"><a href="struct_tensor3_d.xhtml#ad5ff7a2b2bd0eec50fe09c254b127d1c">Tensor3D::stride_z</a></div><div class="ttdeci">int stride_z</div><div class="ttdoc">Stride of the image in Z dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00155">helpers.h:155</a></div></div>
1171<div class="ttc" id="struct_tensor3_d_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_tensor3_d.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Tensor3D::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00153">helpers.h:153</a></div></div>
1172<div class="ttc" id="struct_tensor3_d_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">Tensor3D::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00151">helpers.h:151</a></div></div>
1173<div class="ttc" id="struct_tensor3_d_xhtml_a4f0b90c9ecd6e57ceb3f37332fefe8f1"><div class="ttname"><a href="struct_tensor3_d.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">Tensor3D::stride_y</a></div><div class="ttdeci">int stride_y</div><div class="ttdoc">Stride of the image in Y dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00154">helpers.h:154</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01001174</div><!-- fragment -->
1175</div>
1176</div>
1177<a class="anchor" id="ad442fb5ec8be1fff97f543150de5d822"></a>
1178<div class="memitem">
1179<div class="memproto">
1180<table class="mlabels">
1181 <tr>
1182 <td class="mlabels-left">
1183 <table class="memname">
1184 <tr>
1185 <td class="memname">__global const uchar* tensor4D_offset </td>
1186 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001187 <td class="paramtype">const <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01001188 <td class="paramname"><em>tensor</em>, </td>
1189 </tr>
1190 <tr>
1191 <td class="paramkey"></td>
1192 <td></td>
1193 <td class="paramtype">int&#160;</td>
1194 <td class="paramname"><em>x</em>, </td>
1195 </tr>
1196 <tr>
1197 <td class="paramkey"></td>
1198 <td></td>
1199 <td class="paramtype">int&#160;</td>
1200 <td class="paramname"><em>y</em>, </td>
1201 </tr>
1202 <tr>
1203 <td class="paramkey"></td>
1204 <td></td>
1205 <td class="paramtype">int&#160;</td>
1206 <td class="paramname"><em>z</em>, </td>
1207 </tr>
1208 <tr>
1209 <td class="paramkey"></td>
1210 <td></td>
1211 <td class="paramtype">int&#160;</td>
1212 <td class="paramname"><em>w</em>&#160;</td>
1213 </tr>
1214 <tr>
1215 <td></td>
1216 <td>)</td>
1217 <td></td><td></td>
1218 </tr>
1219 </table>
1220 </td>
1221 <td class="mlabels-right">
1222<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1223 </tr>
1224</table>
1225</div><div class="memdoc">
1226
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001227<p>Get the pointer position of a <a class="el" href="struct_tensor4_d.xhtml" title="Structure to hold 4D tensor information. ">Tensor4D</a>. </p>
Kaizen8938bd32017-09-28 14:38:23 +01001228<dl class="params"><dt>Parameters</dt><dd>
1229 <table class="params">
1230 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting position of the buffer </td></tr>
1231 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1232 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
1233 <tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>Relative Z position </td></tr>
1234 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Relative W position </td></tr>
1235 </table>
1236 </dd>
1237</dl>
1238
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001239<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00326">326</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001240
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001241<p>References <a class="el" href="helpers_8h_source.xhtml#l00161">Tensor4D::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00166">Tensor4D::stride_w</a>, <a class="el" href="helpers_8h_source.xhtml#l00163">Tensor4D::stride_x</a>, <a class="el" href="helpers_8h_source.xhtml#l00164">Tensor4D::stride_y</a>, and <a class="el" href="helpers_8h_source.xhtml#l00165">Tensor4D::stride_z</a>.</p>
1242<div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;{</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> tensor-&gt;<a class="code" href="struct_tensor4_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * tensor-&gt;<a class="code" href="struct_tensor4_d.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a> + y * tensor-&gt;<a class="code" href="struct_tensor4_d.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">stride_y</a> + z * tensor-&gt;<a class="code" href="struct_tensor4_d.xhtml#ad5ff7a2b2bd0eec50fe09c254b127d1c">stride_z</a> + w * tensor-&gt;<a class="code" href="struct_tensor4_d.xhtml#a13a60f6e75f64f1953b8858ea454a880">stride_w</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;}</div><div class="ttc" id="struct_tensor4_d_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_tensor4_d.xhtml#acf52c23cbd7424606c10a606524e3e32">Tensor4D::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00161">helpers.h:161</a></div></div>
1243<div class="ttc" id="struct_tensor4_d_xhtml_a13a60f6e75f64f1953b8858ea454a880"><div class="ttname"><a href="struct_tensor4_d.xhtml#a13a60f6e75f64f1953b8858ea454a880">Tensor4D::stride_w</a></div><div class="ttdeci">int stride_w</div><div class="ttdoc">Stride of the image in W dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00166">helpers.h:166</a></div></div>
1244<div class="ttc" id="struct_tensor4_d_xhtml_a4f0b90c9ecd6e57ceb3f37332fefe8f1"><div class="ttname"><a href="struct_tensor4_d.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">Tensor4D::stride_y</a></div><div class="ttdeci">int stride_y</div><div class="ttdoc">Stride of the image in Y dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00164">helpers.h:164</a></div></div>
1245<div class="ttc" id="struct_tensor4_d_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_tensor4_d.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Tensor4D::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00163">helpers.h:163</a></div></div>
1246<div class="ttc" id="struct_tensor4_d_xhtml_ad5ff7a2b2bd0eec50fe09c254b127d1c"><div class="ttname"><a href="struct_tensor4_d.xhtml#ad5ff7a2b2bd0eec50fe09c254b127d1c">Tensor4D::stride_z</a></div><div class="ttdeci">int stride_z</div><div class="ttdoc">Stride of the image in Z dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00165">helpers.h:165</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01001247</div><!-- fragment -->
1248</div>
1249</div>
1250<a class="anchor" id="a65fd24237c8278ecb38183f93cc70f05"></a>
1251<div class="memitem">
1252<div class="memproto">
1253<table class="mlabels">
1254 <tr>
1255 <td class="mlabels-left">
1256 <table class="memname">
1257 <tr>
1258 <td class="memname"><a class="el" href="struct_image.xhtml">Image</a> update_image_from_tensor3D_workitem_ptr </td>
1259 <td>(</td>
1260 <td class="paramtype">__global uchar *&#160;</td>
1261 <td class="paramname"><em>ptr</em>, </td>
1262 </tr>
1263 <tr>
1264 <td class="paramkey"></td>
1265 <td></td>
1266 <td class="paramtype">uint&#160;</td>
1267 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1268 </tr>
1269 <tr>
1270 <td class="paramkey"></td>
1271 <td></td>
1272 <td class="paramtype">uint&#160;</td>
1273 <td class="paramname"><em>stride_x</em>, </td>
1274 </tr>
1275 <tr>
1276 <td class="paramkey"></td>
1277 <td></td>
1278 <td class="paramtype">uint&#160;</td>
1279 <td class="paramname"><em>step_x</em>, </td>
1280 </tr>
1281 <tr>
1282 <td class="paramkey"></td>
1283 <td></td>
1284 <td class="paramtype">uint&#160;</td>
1285 <td class="paramname"><em>stride_y</em>, </td>
1286 </tr>
1287 <tr>
1288 <td class="paramkey"></td>
1289 <td></td>
1290 <td class="paramtype">uint&#160;</td>
1291 <td class="paramname"><em>step_y</em>, </td>
1292 </tr>
1293 <tr>
1294 <td class="paramkey"></td>
1295 <td></td>
1296 <td class="paramtype">uint&#160;</td>
1297 <td class="paramname"><em>stride_z</em>, </td>
1298 </tr>
1299 <tr>
1300 <td class="paramkey"></td>
1301 <td></td>
1302 <td class="paramtype">uint&#160;</td>
1303 <td class="paramname"><em>step_z</em>&#160;</td>
1304 </tr>
1305 <tr>
1306 <td></td>
1307 <td>)</td>
1308 <td></td><td></td>
1309 </tr>
1310 </table>
1311 </td>
1312 <td class="mlabels-right">
1313<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1314 </tr>
1315</table>
1316</div><div class="memdoc">
1317
1318<p>Wrap 3D tensor information into an image structure, and make the pointer point at this workitem's data. </p>
1319<dl class="params"><dt>Parameters</dt><dd>
1320 <table class="params">
1321 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1322 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source image </td></tr>
1323 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
1324 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1325 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
1326 <tr><td class="paramdir">[in]</td><td class="paramname">step_y</td><td>stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1327 <tr><td class="paramdir">[in]</td><td class="paramname">stride_z</td><td>Stride of the image in Z dimension (in bytes) </td></tr>
1328 <tr><td class="paramdir">[in]</td><td class="paramname">step_z</td><td>stride_z * number of elements along Z processed per workitem(in bytes)</td></tr>
1329 </table>
1330 </dd>
1331</dl>
1332<dl class="section return"><dt>Returns</dt><dd>A 3D tensor object </dd></dl>
1333
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001334<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00227">227</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001335
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001336<p>References <a class="el" href="helpers_8h_source.xhtml#l00135">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00143">Image::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00134">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00142">Image::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::stride_x</a>.</p>
1337<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;{</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="struct_image.xhtml">Image</a> img =</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; .<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; .stride_y = stride_y</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; };</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; img.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += img.<a class="code" href="struct_image.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x + get_global_id(1) * step_y + get_global_id(2) * step_z;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> img;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div><div class="ttc" id="struct_image_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_image.xhtml#a35e5a91338398273f3b4a6010004bddd">Image::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00143">helpers.h:143</a></div></div>
1338<div class="ttc" id="struct_image_xhtml"><div class="ttname"><a href="struct_image.xhtml">Image</a></div><div class="ttdoc">Structure to hold Image information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00140">helpers.h:140</a></div></div>
1339<div class="ttc" id="struct_image_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">Image::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00142">helpers.h:142</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001340</div><!-- fragment -->
1341</div>
1342</div>
1343<a class="anchor" id="a0a4395130f74a4293a7d3a19d8fac86d"></a>
1344<div class="memitem">
1345<div class="memproto">
1346<table class="mlabels">
1347 <tr>
1348 <td class="mlabels-left">
1349 <table class="memname">
1350 <tr>
1351 <td class="memname"><a class="el" href="struct_image.xhtml">Image</a> update_image_workitem_ptr </td>
1352 <td>(</td>
1353 <td class="paramtype">__global uchar *&#160;</td>
1354 <td class="paramname"><em>ptr</em>, </td>
1355 </tr>
1356 <tr>
1357 <td class="paramkey"></td>
1358 <td></td>
1359 <td class="paramtype">uint&#160;</td>
1360 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1361 </tr>
1362 <tr>
1363 <td class="paramkey"></td>
1364 <td></td>
1365 <td class="paramtype">uint&#160;</td>
1366 <td class="paramname"><em>stride_x</em>, </td>
1367 </tr>
1368 <tr>
1369 <td class="paramkey"></td>
1370 <td></td>
1371 <td class="paramtype">uint&#160;</td>
1372 <td class="paramname"><em>step_x</em>, </td>
1373 </tr>
1374 <tr>
1375 <td class="paramkey"></td>
1376 <td></td>
1377 <td class="paramtype">uint&#160;</td>
1378 <td class="paramname"><em>stride_y</em>, </td>
1379 </tr>
1380 <tr>
1381 <td class="paramkey"></td>
1382 <td></td>
1383 <td class="paramtype">uint&#160;</td>
1384 <td class="paramname"><em>step_y</em>&#160;</td>
1385 </tr>
1386 <tr>
1387 <td></td>
1388 <td>)</td>
1389 <td></td><td></td>
1390 </tr>
1391 </table>
1392 </td>
1393 <td class="mlabels-right">
1394<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1395 </tr>
1396</table>
1397</div><div class="memdoc">
1398
1399<p>Wrap image information into an <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> structure, and make the pointer point at this workitem's data. </p>
1400<dl class="params"><dt>Parameters</dt><dd>
1401 <table class="params">
1402 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1403 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source image </td></tr>
1404 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
1405 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1406 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
1407 <tr><td class="paramdir">[in]</td><td class="paramname">step_y</td><td>stride_y * number of elements along Y processed per workitem(in bytes)</td></tr>
1408 </table>
1409 </dd>
1410</dl>
1411<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
1412
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001413<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00201">201</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001414
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001415<p>References <a class="el" href="helpers_8h_source.xhtml#l00135">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00143">Image::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00134">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00142">Image::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::stride_x</a>.</p>
1416<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="struct_image.xhtml">Image</a> img =</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; .<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; .stride_y = stride_y</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; };</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; img.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += img.<a class="code" href="struct_image.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x + get_global_id(1) * step_y;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> img;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;}</div><div class="ttc" id="struct_image_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_image.xhtml#a35e5a91338398273f3b4a6010004bddd">Image::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00143">helpers.h:143</a></div></div>
1417<div class="ttc" id="struct_image_xhtml"><div class="ttname"><a href="struct_image.xhtml">Image</a></div><div class="ttdoc">Structure to hold Image information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00140">helpers.h:140</a></div></div>
1418<div class="ttc" id="struct_image_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">Image::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00142">helpers.h:142</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001419</div><!-- fragment -->
1420</div>
1421</div>
1422<a class="anchor" id="a912ccbcc4235bf1274c95d05b50440d4"></a>
1423<div class="memitem">
1424<div class="memproto">
1425<table class="mlabels">
1426 <tr>
1427 <td class="mlabels-left">
1428 <table class="memname">
1429 <tr>
1430 <td class="memname"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> update_tensor3D_workitem_ptr </td>
1431 <td>(</td>
1432 <td class="paramtype">__global uchar *&#160;</td>
1433 <td class="paramname"><em>ptr</em>, </td>
1434 </tr>
1435 <tr>
1436 <td class="paramkey"></td>
1437 <td></td>
1438 <td class="paramtype">uint&#160;</td>
1439 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1440 </tr>
1441 <tr>
1442 <td class="paramkey"></td>
1443 <td></td>
1444 <td class="paramtype">uint&#160;</td>
1445 <td class="paramname"><em>stride_x</em>, </td>
1446 </tr>
1447 <tr>
1448 <td class="paramkey"></td>
1449 <td></td>
1450 <td class="paramtype">uint&#160;</td>
1451 <td class="paramname"><em>step_x</em>, </td>
1452 </tr>
1453 <tr>
1454 <td class="paramkey"></td>
1455 <td></td>
1456 <td class="paramtype">uint&#160;</td>
1457 <td class="paramname"><em>stride_y</em>, </td>
1458 </tr>
1459 <tr>
1460 <td class="paramkey"></td>
1461 <td></td>
1462 <td class="paramtype">uint&#160;</td>
1463 <td class="paramname"><em>step_y</em>, </td>
1464 </tr>
1465 <tr>
1466 <td class="paramkey"></td>
1467 <td></td>
1468 <td class="paramtype">uint&#160;</td>
1469 <td class="paramname"><em>stride_z</em>, </td>
1470 </tr>
1471 <tr>
1472 <td class="paramkey"></td>
1473 <td></td>
1474 <td class="paramtype">uint&#160;</td>
1475 <td class="paramname"><em>step_z</em>&#160;</td>
1476 </tr>
1477 <tr>
1478 <td></td>
1479 <td>)</td>
1480 <td></td><td></td>
1481 </tr>
1482 </table>
1483 </td>
1484 <td class="mlabels-right">
1485<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1486 </tr>
1487</table>
1488</div><div class="memdoc">
1489
1490<p>Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. </p>
1491<dl class="params"><dt>Parameters</dt><dd>
1492 <table class="params">
1493 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1494 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source image </td></tr>
1495 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
1496 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1497 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
1498 <tr><td class="paramdir">[in]</td><td class="paramname">step_y</td><td>stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1499 <tr><td class="paramdir">[in]</td><td class="paramname">stride_z</td><td>Stride of the image in Z dimension (in bytes) </td></tr>
1500 <tr><td class="paramdir">[in]</td><td class="paramname">step_z</td><td>stride_z * number of elements along Z processed per workitem(in bytes)</td></tr>
1501 </table>
1502 </dd>
1503</dl>
1504<dl class="section return"><dt>Returns</dt><dd>A 3D tensor object </dd></dl>
1505
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001506<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00253">253</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001507
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001508<p>References <a class="el" href="helpers_8h_source.xhtml#l00135">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00152">Tensor3D::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00134">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00151">Tensor3D::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::stride_x</a>.</p>
1509<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;{</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="struct_tensor3_d.xhtml">Tensor3D</a> tensor =</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; .<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; .stride_y = stride_y,</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; .stride_z = stride_z</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; };</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; tensor.<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += tensor.<a class="code" href="struct_tensor3_d.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x + get_global_id(1) * step_y + get_global_id(2) * step_z;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> tensor;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div><div class="ttc" id="struct_tensor3_d_xhtml"><div class="ttname"><a href="struct_tensor3_d.xhtml">Tensor3D</a></div><div class="ttdoc">Structure to hold 3D tensor information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00149">helpers.h:149</a></div></div>
1510<div class="ttc" id="struct_tensor3_d_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">Tensor3D::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00151">helpers.h:151</a></div></div>
1511<div class="ttc" id="struct_tensor3_d_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_tensor3_d.xhtml#a35e5a91338398273f3b4a6010004bddd">Tensor3D::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00152">helpers.h:152</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01001512</div><!-- fragment -->
1513</div>
1514</div>
1515<a class="anchor" id="a87a9d201ccc6b81332852d562bb7ee13"></a>
1516<div class="memitem">
1517<div class="memproto">
1518<table class="mlabels">
1519 <tr>
1520 <td class="mlabels-left">
1521 <table class="memname">
1522 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001523 <td class="memname"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> update_tensor4D_workitem_ptr </td>
Kaizen8938bd32017-09-28 14:38:23 +01001524 <td>(</td>
1525 <td class="paramtype">__global uchar *&#160;</td>
1526 <td class="paramname"><em>ptr</em>, </td>
1527 </tr>
1528 <tr>
1529 <td class="paramkey"></td>
1530 <td></td>
1531 <td class="paramtype">uint&#160;</td>
1532 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1533 </tr>
1534 <tr>
1535 <td class="paramkey"></td>
1536 <td></td>
1537 <td class="paramtype">uint&#160;</td>
1538 <td class="paramname"><em>stride_x</em>, </td>
1539 </tr>
1540 <tr>
1541 <td class="paramkey"></td>
1542 <td></td>
1543 <td class="paramtype">uint&#160;</td>
1544 <td class="paramname"><em>step_x</em>, </td>
1545 </tr>
1546 <tr>
1547 <td class="paramkey"></td>
1548 <td></td>
1549 <td class="paramtype">uint&#160;</td>
1550 <td class="paramname"><em>stride_y</em>, </td>
1551 </tr>
1552 <tr>
1553 <td class="paramkey"></td>
1554 <td></td>
1555 <td class="paramtype">uint&#160;</td>
1556 <td class="paramname"><em>step_y</em>, </td>
1557 </tr>
1558 <tr>
1559 <td class="paramkey"></td>
1560 <td></td>
1561 <td class="paramtype">uint&#160;</td>
1562 <td class="paramname"><em>stride_z</em>, </td>
1563 </tr>
1564 <tr>
1565 <td class="paramkey"></td>
1566 <td></td>
1567 <td class="paramtype">uint&#160;</td>
1568 <td class="paramname"><em>step_z</em>, </td>
1569 </tr>
1570 <tr>
1571 <td class="paramkey"></td>
1572 <td></td>
1573 <td class="paramtype">uint&#160;</td>
1574 <td class="paramname"><em>stride_w</em>, </td>
1575 </tr>
1576 <tr>
1577 <td class="paramkey"></td>
1578 <td></td>
1579 <td class="paramtype">uint&#160;</td>
1580 <td class="paramname"><em>step_w</em>, </td>
1581 </tr>
1582 <tr>
1583 <td class="paramkey"></td>
1584 <td></td>
1585 <td class="paramtype">uint&#160;</td>
1586 <td class="paramname"><em>mod_size</em>&#160;</td>
1587 </tr>
1588 <tr>
1589 <td></td>
1590 <td>)</td>
1591 <td></td><td></td>
1592 </tr>
1593 </table>
1594 </td>
1595 <td class="mlabels-right">
1596<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1597 </tr>
1598</table>
1599</div><div class="memdoc">
1600
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001601<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00267">267</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001602
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001603<p>References <a class="el" href="helpers_8h_source.xhtml#l00135">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00162">Tensor4D::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00134">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00161">Tensor4D::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::stride_x</a>.</p>
1604<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;{</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="struct_tensor4_d.xhtml">Tensor4D</a> tensor =</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; .<a class="code" href="struct_tensor4_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; .stride_y = stride_y,</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; .stride_z = stride_z,</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; .stride_w = stride_w</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; };</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; tensor.<a class="code" href="struct_tensor4_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += tensor.<a class="code" href="struct_tensor4_d.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x + get_global_id(1) * step_y + (get_global_id(2) % mod_size) * step_z + (get_global_id(2) / mod_size) * step_w;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> tensor;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;}</div><div class="ttc" id="struct_tensor4_d_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_tensor4_d.xhtml#acf52c23cbd7424606c10a606524e3e32">Tensor4D::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00161">helpers.h:161</a></div></div>
1605<div class="ttc" id="struct_tensor4_d_xhtml"><div class="ttname"><a href="struct_tensor4_d.xhtml">Tensor4D</a></div><div class="ttdoc">Structure to hold 4D tensor information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00159">helpers.h:159</a></div></div>
1606<div class="ttc" id="struct_tensor4_d_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_tensor4_d.xhtml#a35e5a91338398273f3b4a6010004bddd">Tensor4D::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00162">helpers.h:162</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001607</div><!-- fragment -->
1608</div>
1609</div>
1610<a class="anchor" id="a8fee90913ba658b25516a43cf71e5cbd"></a>
1611<div class="memitem">
1612<div class="memproto">
1613<table class="mlabels">
1614 <tr>
1615 <td class="mlabels-left">
1616 <table class="memname">
1617 <tr>
1618 <td class="memname"><a class="el" href="struct_vector.xhtml">Vector</a> update_vector_workitem_ptr </td>
1619 <td>(</td>
1620 <td class="paramtype">__global uchar *&#160;</td>
1621 <td class="paramname"><em>ptr</em>, </td>
1622 </tr>
1623 <tr>
1624 <td class="paramkey"></td>
1625 <td></td>
1626 <td class="paramtype">uint&#160;</td>
1627 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1628 </tr>
1629 <tr>
1630 <td class="paramkey"></td>
1631 <td></td>
1632 <td class="paramtype">uint&#160;</td>
1633 <td class="paramname"><em>stride_x</em>, </td>
1634 </tr>
1635 <tr>
1636 <td class="paramkey"></td>
1637 <td></td>
1638 <td class="paramtype">uint&#160;</td>
1639 <td class="paramname"><em>step_x</em>&#160;</td>
1640 </tr>
1641 <tr>
1642 <td></td>
1643 <td>)</td>
1644 <td></td><td></td>
1645 </tr>
1646 </table>
1647 </td>
1648 <td class="mlabels-right">
1649<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1650 </tr>
1651</table>
1652</div><div class="memdoc">
1653
1654<p>Wrap vector information into an <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> structure, and make the pointer point at this workitem's data. </p>
1655<dl class="params"><dt>Parameters</dt><dd>
1656 <table class="params">
1657 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1658 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source vector </td></tr>
1659 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the vector in X dimension (in bytes) </td></tr>
1660 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes)</td></tr>
1661 </table>
1662 </dd>
1663</dl>
1664<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
1665
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001666<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00178">178</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001667
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001668<p>References <a class="el" href="helpers_8h_source.xhtml#l00135">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00134">Vector::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::stride_x</a>.</p>
1669<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;{</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="struct_vector.xhtml">Vector</a> vector =</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; .<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; };</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; vector.<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += vector.<a class="code" href="struct_vector.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> vector;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}</div><div class="ttc" id="struct_vector_xhtml"><div class="ttname"><a href="struct_vector.xhtml">Vector</a></div><div class="ttdoc">Structure to hold Vector information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00132">helpers.h:132</a></div></div>
1670<div class="ttc" id="struct_vector_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">Vector::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00134">helpers.h:134</a></div></div>
1671<div class="ttc" id="struct_vector_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_vector.xhtml#a35e5a91338398273f3b4a6010004bddd">Vector::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00135">helpers.h:135</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001672</div><!-- fragment -->
1673</div>
1674</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01001675<a class="anchor" id="a7e4940407322d6f0ccb8b6b86b856019"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00001676<div class="memitem">
1677<div class="memproto">
1678<table class="mlabels">
1679 <tr>
1680 <td class="mlabels-left">
1681 <table class="memname">
1682 <tr>
1683 <td class="memname">__global const uchar* vector_offset </td>
1684 <td>(</td>
Anthony Barbier46d59272017-05-04 09:15:15 +01001685 <td class="paramtype">const <a class="el" href="struct_vector.xhtml">Vector</a> *&#160;</td>
1686 <td class="paramname"><em>vec</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00001687 </tr>
1688 <tr>
1689 <td class="paramkey"></td>
1690 <td></td>
1691 <td class="paramtype">int&#160;</td>
1692 <td class="paramname"><em>x</em>&#160;</td>
1693 </tr>
1694 <tr>
1695 <td></td>
1696 <td>)</td>
1697 <td></td><td></td>
1698 </tr>
1699 </table>
1700 </td>
1701 <td class="mlabels-right">
1702<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1703 </tr>
1704</table>
1705</div><div class="memdoc">
1706
1707<p>Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. </p>
1708<dl class="params"><dt>Parameters</dt><dd>
1709 <table class="params">
Anthony Barbier46d59272017-05-04 09:15:15 +01001710 <tr><td class="paramdir">[in]</td><td class="paramname">vec</td><td>Pointer to the starting position of the buffer </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001711 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1712 </table>
1713 </dd>
1714</dl>
1715
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001716<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00290">290</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001717
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001718<p>References <a class="el" href="helpers_8h_source.xhtml#l00134">Vector::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::stride_x</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001719
1720<p>Referenced by <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001721<div class="fragment"><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;{</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> vec-&gt;<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * vec-&gt;<a class="code" href="struct_vector.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a>;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div><div class="ttc" id="struct_vector_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_vector.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Vector::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00136">helpers.h:136</a></div></div>
1722<div class="ttc" id="struct_vector_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">Vector::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00134">helpers.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001723</div><!-- fragment -->
1724</div>
1725</div>
1726</div><!-- contents -->
1727</div><!-- doc-content -->
1728<!-- start footer part -->
1729<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1730 <ul>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001731 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_8c278f79c760e5c5fbd911f9870614c1.xhtml">CL</a></li><li class="navelem"><a class="el" href="dir_25885286e9dad4fa105b7b25a8031bbf.xhtml">cl_kernels</a></li><li class="navelem"><a class="el" href="helpers_8h.xhtml">helpers.h</a></li>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001732 <li class="footer">Generated on Wed Jan 24 2018 14:30:43 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +00001733 <a href="http://www.doxygen.org/index.html">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001734 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +00001735 </ul>
1736</div>
1737</body>
1738</html>