arm_compute v18.02
[platform/upstream/armcl.git] / documentation / helpers_8h.xhtml
1 <!-- 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"/>
7 <meta name="generator" content="Doxygen 1.8.11"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>Compute Library: src/core/CL/cl_kernels/helpers.h File Reference</title>
10 <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>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <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"/>
22 <script type="text/javascript" src="search/searchdata.js"></script>
23 <script type="text/javascript" src="search/search.js"></script>
24 <script type="text/javascript">
25   $(document).ready(function() { init_search(); });
26 </script>
27 <script type="text/x-mathjax-config">
28   MathJax.Hub.Config({
29     extensions: ["tex2jax.js"],
30     jax: ["input/TeX","output/HTML-CSS"],
31 });
32 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33 <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;">
42    <div id="projectname">Compute Library
43    &#160;<span id="projectnumber">18.02</span>
44    </div>
45   </td>
46  </tr>
47  </tbody>
48 </table>
49 </div>
50 <!-- end header part -->
51 <!-- Generated by Doxygen 1.8.11 -->
52 <script type="text/javascript">
53 var 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>
58       <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
59       <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)">
106 </div>
107
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>
129 Data 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>
131 <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>
132 <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>
134 <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>
135 <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>
137 <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>
138 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
139 <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>
141 <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>
144 Macros</h2></td></tr>
145 <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>
147 <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>
148 <tr class="separator:aabdbe431f2713c5c2604cb9872b66aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
149 <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>
157 <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>
158 <tr class="separator:ae802822defb0fa3a7f74f98e324696cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <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>
160 <tr class="separator:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <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>
166 <tr class="separator:a4090567b3adb034c7cc1af308cb45670"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <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>
168 <tr class="separator:aa8d95ba04fc73845abc6045952cae5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
169 <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>
170 <tr class="separator:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memSeparator" colspan="2">&#160;</td></tr>
171 <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>
172 <tr class="separator:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
173 <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>
174 <tr class="separator:a341a0c28698c3f6bd171df1771c5a512"><td class="memSeparator" colspan="2">&#160;</td></tr>
175 <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>
176 <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>
183 <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>
185 <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>
193 <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>
199 <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>
203 <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>
204 <tr class="separator:a23b9032d1b9d59547545e457f82ee478"><td class="memSeparator" colspan="2">&#160;</td></tr>
205 <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>
206 <tr class="separator:a302e05cc5f90bd76a9d0812c4be8b5eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
207 </table><table class="memberdecls">
208 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
209 Typedefs</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>
211 <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>
212 <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>
214 <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>
215 <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>
217 <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>
218 <tr class="separator:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
219 <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>
220 <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>
221 <tr class="separator:a3b8a88f73e80a621aecfe7ced12c1676"><td class="memSeparator" colspan="2">&#160;</td></tr>
222 </table><table class="memberdecls">
223 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
224 Functions</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>
226 <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>
227 <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>
229 <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>
230 <tr class="separator:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
231 <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>
232 <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>
233 <tr class="separator:a65fd24237c8278ecb38183f93cc70f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
234 <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>
235 <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>
236 <tr class="separator:a912ccbcc4235bf1274c95d05b50440d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
237 <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>
238 <tr class="separator:a87a9d201ccc6b81332852d562bb7ee13"><td class="memSeparator" colspan="2">&#160;</td></tr>
239 <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>
240 <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>
241 <tr class="separator:a7e4940407322d6f0ccb8b6b86b856019"><td class="memSeparator" colspan="2">&#160;</td></tr>
242 <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>
243 <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>
244 <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>
246 <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>
247 <tr class="separator:a2101b2fe0193ce227ae4e0945e321d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
248 <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>
250 <tr class="separator:ad442fb5ec8be1fff97f543150de5d822"><td class="memSeparator" colspan="2">&#160;</td></tr>
251 </table>
252 <h2 class="groupheader">Macro Definition Documentation</h2>
253 <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#l00178">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>
311 <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
341 <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>
342
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
369 <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>
370
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
397 <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>
398
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
431 <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>
432
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
467 <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>
468
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
495 <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>
496
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
523 <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>
524
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
541 <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>
542
543 <p>Referenced by <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00263">depthwise_convolution_3x3_stridex1_stridey1_bifrost()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>, <a class="el" href="direct__convolution__1x1__3x3__5x5__quantized_8cl_source.xhtml#l00278">output_stage_quantized()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00328">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00178">softmax_layer_max_shift_exp_sum_serial()</a>, and <a class="el" href="softmax__layer_8cl_source.xhtml#l00120">softmax_layer_norm()</a>.</p>
544
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
561 <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>
562
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
579 <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>
580
581 <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>, and <a class="el" href="softmax__layer_8cl_source.xhtml#l00120">softmax_layer_norm()</a>.</p>
582
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
599 <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>
600
601 <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="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="reduction__operation_8cl_source.xhtml#l00084">reduction_operation()</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>
602
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
619 <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>
620
621 <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>
622
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">
638 <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>
639 </div><!-- fragment -->
640 <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>
641
642 <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#l00076">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="concatenate_8cl_source.xhtml#l00046">concatenate_depth()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00263">depthwise_convolution_3x3_stridex1_stridey1_bifrost()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</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="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_MxN_quantized()</a>, <a class="el" href="quantization__layer_8cl_source.xhtml#l00049">quantization_layer()</a>, and <a class="el" href="reshape__layer_8cl_source.xhtml#l00049">reshape_layer()</a>.</p>
643
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
660 <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>
661
662 <p>Referenced by <a class="el" href="reshape__layer_8cl_source.xhtml#l00049">reshape_layer()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
663
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">
689 <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>
690 </div><!-- fragment -->
691 <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>
692
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
719 <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>
720
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
737 <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>
738
739 <p>Referenced by <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>, <a class="el" href="dequantization__layer_8cl_source.xhtml#l00049">dequantization_layer()</a>, and <a class="el" href="l2__normalize_8cl_source.xhtml#l00045">l2_normalize()</a>.</p>
740
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
757 <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>
758
759 <p>Referenced by <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00263">depthwise_convolution_3x3_stridex1_stridey1_bifrost()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>, <a class="el" href="direct__convolution__1x1__3x3__5x5__quantized_8cl_source.xhtml#l00278">output_stage_quantized()</a>, and <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
777 <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#l00178">softmax_layer_max_shift_exp_sum_serial()</a>.</p>
780
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">
796 <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="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>.</p>
800
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">
816 <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="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>.</p>
820
821 </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">
836 <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>
838
839 </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>
855           <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
856         </tr>
857         <tr>
858           <td></td>
859           <td>)</td>
860           <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>
861         </tr>
862       </table>
863 </div><div class="memdoc">
864
865 <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>
866
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>
883           <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
884         </tr>
885         <tr>
886           <td></td>
887           <td>)</td>
888           <td></td><td>&#160;&#160;&#160;type##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td>
889         </tr>
890       </table>
891 </div><div class="memdoc">
892
893 <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>
894
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">
910 <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="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>.</p>
914
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
931 <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>
932
933 <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#l00076">activation_layer_qa8()</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="roi__pooling__layer_8cl_source.xhtml#l00061">roi_pool_1x1()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00328">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00178">softmax_layer_max_shift_exp_sum_serial()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>.</p>
934
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
951 <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>
952
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
969 <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>
970
971 <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#l00076">activation_layer_qa8()</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="softmax__layer_8cl_source.xhtml#l00328">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00178">softmax_layer_max_shift_exp_sum_serial()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>.</p>
972
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
989 <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>
990
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>
1022 <a class="anchor" id="a3b8a88f73e80a621aecfe7ced12c1676"></a>
1023 <div class="memitem">
1024 <div class="memproto">
1025       <table class="memname">
1026         <tr>
1027           <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>
1028         </tr>
1029       </table>
1030 </div><div class="memdoc">
1031
1032 <p>Structure to hold 4D tensor information. </p>
1033
1034 </div>
1035 </div>
1036 <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
1099 <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>
1100
1101 <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>
1102
1103 <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="_tensor_info_8cpp_source.xhtml#l00044">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00263">depthwise_convolution_3x3_stridex1_stridey1_bifrost()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</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="reference_2_fast_corners_8cpp_source.xhtml#l00152">arm_compute::test::validation::reference::fast_corners()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00442">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="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#l00129">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#l00218">RandomAccessor::RandomAccessor()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00058">read_texels4()</a>, <a class="el" href="reduction__operation_8cl_source.xhtml#l00084">reduction_operation()</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#l00328">softmax_layer_max_shift_exp_sum_parallel()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00178">softmax_layer_max_shift_exp_sum_serial()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00120">softmax_layer_norm()</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>
1104 <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>
1107 </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">
1157     <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting position of the buffer </td></tr>
1158     <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
1165 <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>
1166
1167 <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>
1168
1169 <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_MxN_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>
1174 </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>
1187           <td class="paramtype">const <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> *&#160;</td>
1188           <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
1227 <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>
1228 <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
1239 <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>
1240
1241 <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>
1247 </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
1334 <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>
1335
1336 <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>
1340 </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
1413 <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>
1414
1415 <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>
1419 </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
1506 <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>
1507
1508 <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>
1512 </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>
1523           <td class="memname"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> update_tensor4D_workitem_ptr </td>
1524           <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
1601 <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>
1602
1603 <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>
1607 </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
1666 <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>
1667
1668 <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>
1672 </div><!-- fragment -->
1673 </div>
1674 </div>
1675 <a class="anchor" id="a7e4940407322d6f0ccb8b6b86b856019"></a>
1676 <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>
1685           <td class="paramtype">const <a class="el" href="struct_vector.xhtml">Vector</a> *&#160;</td>
1686           <td class="paramname"><em>vec</em>, </td>
1687         </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">
1710     <tr><td class="paramdir">[in]</td><td class="paramname">vec</td><td>Pointer to the starting position of the buffer </td></tr>
1711     <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1712   </table>
1713   </dd>
1714 </dl>
1715
1716 <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>
1717
1718 <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>
1719
1720 <p>Referenced by <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00263">depthwise_convolution_3x3_stridex1_stridey1_bifrost()</a>, <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00360">depthwise_convolution_3x3_stridex2_stridey2_bifrost()</a>, <a class="el" href="direct__convolution__1x1__3x3__5x5__quantized_8cl_source.xhtml#l00278">output_stage_quantized()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
1721 <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>
1723 </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>
1731     <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>
1732     <li class="footer">Generated on Thu Feb 22 2018 15:45:22 for Compute Library by
1733     <a href="http://www.doxygen.org/index.html">
1734     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
1735   </ul>
1736 </div>
1737 </body>
1738 </html>